Ana içeriğe atla

SQL Enjeksiyonunda Kayıt İlerletme

Bir pentest çalışması sırasında MSSQL kullanan bir web uygulamasında SQL Enjeksiyonuna sebebiyet verecek bir girdi doğrulama/filtreleme zaafiyet keşfettim. Web uygulaması muhtelif SQL sorgularını çalışıtrabiliyordu.

INFORMATION_SCHEMA.TABLES tablosundan, tablo isimlerini çekmeye çalıştığımda söyle bir sorunla karşılaştım. SQL sunucu WHERE deyimine yanıt vermiyordu.

Bu durumda SQL e biraz takla attırmam ve aşağıdakine benzer şekilde iç içe sorular kullanmam gerekti.

UNION ALL SELECT TOP 1 1,2,3,(select top 1 table_name FROM (select top 1 table_name from INFORMATION_SCHEMA.TABLES order by table_name ASC) sq order by table_name DESC),4,5,6  --
UNION ALL SELECT TOP 1 1,2,3,(select top 1 table_name FROM (select top 2 table_name from INFORMATION_SCHEMA.TABLES order by table_name ASC) sq order by table_name DESC),4,5,6  --

Bu sorgulardan en içteki select deyimi, top X ifadesi ile tablonun başından X kaydıartan artan sıralamada çekiyor. Bunın dışındaki select deyimi ise ilk sorgunun döndürdüğü kayıtlar içerisinden azalan sıralamada en üstteki kaydı çekiyor. Böylece en içteki sorguda top 1, top 2, top 3 gibi değişiklikler yaparak tablo içerisindeki kayıtlarda adım adım ilerleyebiliyoruz.

Yorumlar

Bu blogdaki popüler yayınlar

Crunch ile Wordlist Oluşturmak

Crunch seçilen karakter kümesinden, istenilen uzunlukta parolalar üreten ve bu parolaları bir dosyaya yazarak wordlist oluşturan kullanışlı bir araçtır. Çalışmak için özel bir yetkiye ihtiyaç duymaz. Yalnızca derlenip çalıştırılması yeterlidir. Çalıştığında istenilen karakter kümesinden parolalar üretir ve bir dosyaya yazar.
Oldukça hızlı çalışır ve kolay kullanılır.



Crunch Kurulumu
Öncelikle crunch yazılımını indirelim.
harun@gondor:~$ wget http://garr.dl.sourceforge.net/project/crunch-wordlist/crunch-wordlist/crunch-3.0.1.tgz
İndirme işlemi bittikten sonra crunch-3.0.1.tgz arşivini açalım.

harun@gondor:~$ tar zxvf crunch-3.0.1.tgz crunch3.0/ crunch3.0/Makefile crunch3.0/GPL.TXT crunch3.0/crunch.1 crunch3.0/charset.lst crunch3.0/crunch.cArşivin açılmasıyla oluşan crunch3.0/ dizinine geçelim ve ardından make komutunu vererek derleme işlemini başlatalım.
harun@gondor:~$ cd crunch3.0/ harun@gondor:~/crunch3.0$ make Building binary... /usr/bin/gcc -Wall -lm -pthread -std=c99 -m32 -D_LARGEF…

Linux Kullanıcı ve Grup İşlemleri

Linux sistemlerde yeni bir kullanıcı eklemek için useradd komutu kullanılabilir. Aşağıdaki komut hakan isminde yeni bir kullanıcı hesabı açacaktır.

root@gondor:/home# useradd -m  -G admin,cdrom  hakan
-m paramesi kullanıcı için ev dizini oluşturulmasını sağlar.
-G parametresi kullanıcının üye olduğu grupları belirtir.

Şimdi hakan kullanıcına parolasını atamak için passwd komutunu kullanalım.

root@gondor:/home# passwd hakan Yeni parolayı girin: Yeni parolayı tekrar girin: passwd: şifre başarıyla güncellendi
Şimdi hakan kullanıcısını "disk" grubuna eklemek için aşağıdaki gibi bir komut verelim.

root@gondor:/home# usermod -a -G disk hakan
Bakalım hakan kullanıcısı hangi gruplara üyeymiş. Bunun için id komutunu "id kullanıcıadı" şeklinde kullanalım.
root@gondor:/home# id hakan uid=1001(hakan) gid=1001(hakan) gruplar=1001(hakan),6(disk),24(cdrom),118(admin)
Yukarıdaki çıktıya göre hakan kullanıcısı hakan, disk,cdrom ve admin gruplarına üyeymiş. Şimdi hakan kullanıcısını …

Aircrack ile WEP Crack

İlk olarak airmon-ng aracıyla wlan0 kablosuz ağ arayüzünden, dinleme ve paket sokuşturma işlemleri için kullanacağımız mon0 isimli sanal ağ arayüzünü oluşturalım.

airmon-ng start wlan0
Bu komutun ardından ekran çıktısı aşağıdaki gibi olacaktır...



Dinleme ve paket sokuşturma işlemlerini yapacağımız mon0 arayüzü oluştuğuna göre şimdi etrafımızdak kablosuz ağları tespit edelim. Bunun için airodum-ng aracını aşağıdaki gibi kullanabiliriz.

airdump-ng mon0

airodump-ng yukarıkdakine benzer şekilde çevrenizdeki kablosuz ağları listeleyecektir. Benim örneğimde yalnızca evde kullandığım kablosuz ağım yer alıyor. Dolayısıyla hedefdeki kablosuz ağ Seker isimli WEP şifreli kablosuz olacak...

Hedef ağı tespit ettikten sonra Ctrl+C tuş kombinasyonuyla airodump-ng aracını durduralım ve daha sonra yalnızca hedef ağı dinleyecek şekilde tekrar başlatalım.

airodump-ng -c 6 --bssid 00:a0:c5:98:1f:f9 -w Seker mon0
Bu komut -c parametresi ile 6. kanalı, --bssid parametresi ile MAC adresi verilen kablosuz ağ no…