|
|||||||
| Exploitler Exploitler hakkında bilmek istedikleriniz. |
| ||
![]() |
|
|
Seçenekler | Stil |
![]() Web Exploiting Dersleri | ||||||||||
|
(#1)
|
||||||||||
|
[0]Banlı Üye
Mesaj Sayısı: 2
Açtığı Konu: 842
Level: 1 [ ]Paylaşım: 0 / 0 Üyelik tarihi: Apr 2007
Kullanıcı No: 9365
Nerden: çıktın sen yaww
Tecrübe Puanı: 0
REP Puanı : 2226
REP Seviyesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Selam arkadaşlar. Bu başlık altında “Hacker Web Exploitation Uncovered” isimli kitaptan öğrendiğim web hacking tekniklerini sizlerle paylaşmayı düşünüyorum. Burada anlatacağım konuları anlayabilmeniz için temel düzeyde php bilgisine ve scriptleri kendi bilgisayarınızda test edebilmeniz amacıyla bir webserver’a ihtiyaç duyacaksınız. Ben kendi bilgisayarımda açık kaynak kodlu “Web-Developer Controller“ isimli programın 0.999’uncu beta versiyonunu kullanıyorum. Programın boyutu 40MB civarı. İçinde apache, mySQL ve php ile birlikte geliyor. Programı indirme adresi : [Linkleri Sadece Üyeler Görebilir..] Kurulumu yaptıktan sonra programın masaüstündeki simgesine çift tıklatın. Apache2 ve MySQL servislerinin yanında “running” yazıyor olmasına dikkat edin. Eğer “stopped” yazıyorsa “Start Service” butonuna tıklayıp servisleri çalışır hale getirin. Daha sonra menüden “Information” seçeneğini seçip localhost’a tıklayın. Eğer “Index of” başlıklı bir sayfa ile karşılaşıyorsanız herşey yolunda demektir. Bu sayfa server’in default dizini olan c:\www\webroot\ klasörünün içeriğini gösterir. Bu klasörü açın ve “exploitation” isimli yeni bir klasör oluşturun. Bütün çalışmalarımız bu klasörün içinde bulunacak. Evet lafı uzatmadan birinci konumuza geçebiliriz. Web Exploitation Ders 1 – Üst Dizindeki Dosyaların İçeriğini Görme Notepad’ı açın ve aşağıdaki php kodunu yapıştırın. Kod:
<?
if(empty($HTTP_GET_VARS["id"])) //id diye bir şey gönderilmemişse form oluştur.
{
echo "
<form>
enter id (integer)<input type=text name=id>
<input type=submit>
</form>
";
exit;
};
$id = $HTTP_GET_VARS["id"]; //id gönderilmişse buradan devam et
if(file_exists("data/".$id.".txt")) //böyle bir dosya var mı?
{
$f=fopen("data/".$id.".txt", "r"); //varsa okumak için aç
$s=fread($f, 1024);
echo $s; //içeriğini göster
fclose($f);
}
else
echo "records not found"; //yoksa bu mesajı göster
?>
Dosyayı c:\www\webroot\exploitation içine “1.php” olarak kaydedin. Daha sonra tarayıcıyı açıp [Linkleri Sadece Üyeler Görebilir..] gidin. Gördüğünüz gibi bir textbox ve düğme. İlk if kontrolünde “id” isimli form bilgisinin gönderilip gönderilmediği kontrol ediliyor. Böyle bir bilgi gönderilmemişse (empy fonksiyonu true gönderiyorsa) bir form oluşturuluyor ve geri kalan kod işleme konulmuyor (exit). Bu kontrolü yapmamızın nedeni sayfanın kendi kendine query göndermesi dolayısıyladır. Yani form ve script işlemleri için iki ayrı dosya kullanmak yerine olayı tek sayfada hallediyoruz. Textbox içine 1 girin ve düğmeye basın. “records not found” gibi bir mesajla karşılaşacaksınız. Burada bizim için önemli olan kısım adres satırındaki url’dir. [Linkleri Sadece Üyeler Görebilir..], id= den sonra bizim bir önceki sayfada girmiş olduğumuz bilgi görülmektedir. 2 yazarsan id=2, a yazarsan id=a görürsün. ? gibi bir şey girersen id=%3F görülür. Burada % kısmından sonraki ? karakterinin 16 bitlik Unicode kodudur. Niçin ? değil de %3F görüldü. Çünkü ?, /, &, =, : gibi karakterler url tanımlamada kullanılır. Bunlar query olarak gönderilirken karışıklık olmaması için % tanımlayıcısıyla beraber unicode kodu verilir. Şimdi c:\www\webroot\exploitation dizinimize “test.txt” isimli bir dosya oluşturup içine birşeyler yazın. (mesela asdasd) Adres satırına [Linkleri Sadece Üyeler Görebilir..] git’e tıklayın. Test.txt isimli dosyanın içeriğini göreceksiniz. Burada scriptte belirtilen data dizininin bir üstüne girmek için sorgulama, textbox içinde ../test tümcesi adres satırından ise ..%2Ftest şeklinde yapılabilir. %2F / karakterinin unicode kodudur. Dikkat edilmesi gereken bir noktada test.txt yerine test kelimesi kullanılmıştır. Bunun sebebi php script’inde zaten açılacak dosyanın sonuna .txt uzantısı eklenecek olmasıdır. +Rep Vermeyi Unutma... |
|||||||||
|
||||||||||
|
|
![]() | ||||||||||
|
(#2)
|
||||||||||
|
[10]Yeni Üye
Mesaj Sayısı: 2,184
Açtığı Konu: 629
Level: 38 [ ![]() ![]() ![]() ![]() ]Paylaşım: 781 / 1117 Üyelik tarihi: Feb 2008
Kullanıcı No: 267800
Tecrübe Puanı: 0
REP Puanı : 1477
REP Seviyesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
gzl paylasım
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#3)
|
||||||||||
|
Deneme Moderatör
Mesaj Sayısı: 2,406
Açtığı Konu: 479
Level: 39 [ ![]() ![]() ![]() ![]() ]Paylaşım: 1449 / 1449 Üyelik tarihi: May 2008
Kullanıcı No: 297528
Nerden: İlk Önce Sen Söyle
Tecrübe Puanı: 103
REP Puanı : 2398
REP Seviyesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
eyw. saolasın
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#4)
|
||||||||||
|
[10]Yeni Üye
![]() Mesaj Sayısı: 1,533
Açtığı Konu: 172
Level: 33 [ ![]() ]Paylaşım: 404 / 808 Üyelik tarihi: Feb 2008
Kullanıcı No: 273148
Nerden: KıBRıS Und3Rgr0unD
Tecrübe Puanı: 58
REP Puanı : 933
REP Seviyesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
sağol.
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#5)
|
||||||||||
|
Üye
![]() Mesaj Sayısı: 1,264
Açtığı Konu: 109
Level: 30 [ ![]() ![]() ![]() ![]() ]Paylaşım: 223 / 746 Üyelik tarihi: Aug 2007
Kullanıcı No: 155815
Tecrübe Puanı: 45
REP Puanı : 249
REP Seviyesi :
![]() ![]() ![]() |
sağol.....
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#6)
|
||||||||||
|
[10]Yeni Üye
Mesaj Sayısı: 364
Açtığı Konu: 34
Level: 17 [ ![]() ]Paylaşım: 41 / 419 Üyelik tarihi: Apr 2007
Kullanıcı No: 2189
Tecrübe Puanı: 0
REP Puanı : 109
REP Seviyesi :
![]() ![]() |
sağol
|
|||||||||
|
||||||||||
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|