30 Haziran 2010 Çarşamba

mysql de blind sql injection

sa

mysql de blind sql injection anlatcam

önce sql injection tespit edelim

and 1=2 yaptığınızda sayfa değişiyo and 1=1 yaptığınızda düzeliyosa injection vardır

yalnız burada direk and 1=2 yaptığında bozulmuyosa pes etememek lazım

and 1=1-- şeklinde v.s denenir o şekilde de bulabilrisiniz.

şimdi hemen version bakalım 4 se saten tahmin etmek zorundasınız

5 se information_schema daki tables columnundan çekebiliriz

and substring(@@version,1,1)=5 dedik ve sayfa doğru açıldıysa version 5 demektir peki bu nasıl oluyo

bundan önce substringi anlatmıştım burda dedikki

versionun 1 de 1 e kadar yani 1. karekter 5tir dedik eğer doğruysa saten sayfa düzgün açılır

yanlışsa bozulma olur sayfada. mantık bu herşeyde bunu yapıyoz saten

bu kısmı anlamayan diğer bölümlere geçmesin lütfen bana ulaşsın anlatim :D

şimdi version 5 dedik table çekelim

burda isterseniz like kullanın isterseniz tek tek deneyin :D

tek tek denemek programların işi like kullanırsanız kolaylık olur

login sayfasının kaynak kodlarından tablo adını bulabilrisiniz abi kesin o olcak diye bişe yok

mesela user filan likede kullanın

örnek bi tane yazalım

and substring((select table_name from information_schema.tables where table_name like 0x257573657225),1,1)=0x75

burda dedikki içersinde user geçen ilk tablonun ilk harfi 0x75 yani u mu eğer u ise demekki sayfa düzgün açılcak

işte böle :D biraz uğraştırıyo yani :D

istersenizdeneme işini like ilede yapabilrisiniz bu size kalmış.

evet işte bu şekilde table çekiyoz tablomiz users olsun.

columnda aynı bu şeil bulunuyo

and substring((select column_name from information_schema.columns where table_name=0x7573657273 limit 2,1),1,50) like 0x257061737325

burda 0x7573657273 bu users demek like 0x257061737325 buda %pass demek yani yine deniyoruz burda limit 2 dedim genel de id yser pass geliyo yani 0,1,2

işte böle deneye deney buluyonuz

columnlarıda bulduk diyelim

user pass olsun şimdi passı çekelim

and substring((select user from users),1,1)=0xbilmemne

burda tek tek harf sayı filan deneye deneye gidersniz md5 halide olabilir işte deneye deneye çıkarcaksınız :D

allah sabır versin , kolay gelsin

by TheNeSa

27 Haziran 2010 Pazar

mysql Substring kullanımı

sa

arkadaşlar şu tablo listelemede like kullanmaktanda aciz olanlar tabloları başka ne şekilde sıralayabiliriz dediler bende düşündüm

bunun için substring kullanabiliriz dedim onun için subsring anlatcam

mysql de substring kullanımına bi örnek göstermeden önce açıklamasını yapalım

substring ile sunucudan kaç karekter alcağımızı ve karekter aralığını beliryebiiriz. bunu çok çeşitli yerlerde kullanabiliriz. blind de kullanılıyo sıklıkla.

biz tabloların hepsini listelemede kullanak :D

örneğin

tablolaları çekiyoruz

tamamı sığmıyo

like ilede uğraşmak istemiyoruz bu tam bize göre :D

örneğin tabloların 1 ile 100. karektere kadarını görelim

union select 1,2,3,substring(group_concat(table_name),1,100),4,5--

şimdi 100 ile 200 ü görelim

union select 1,2,3,substring(group_concat(table_name),100,200),4,5--

bu şekilde columna sığmıyosa kolayca halledebiirsiniz.

bi dahaki sefere blind anlatcam blind de hala takılanlar var biliyorum yakında bekleyin...

bu arada mysql injection u genel anlamda anlatan bi video çektim onuda bi ara yayınlıcam.

kolay gelsin.

by TheNeSa