|
|||||||
| Exploitler Exploitler hakkında bilmek istedikleriniz. |
| ||
![]() |
|
|
Seçenekler | Stil |
![]() Web Exploiting Dersleri | ||||||||||
|
(#1)
|
||||||||||
|
[0]Banlı Üye
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() >Mesaj Sayısı: 0
>Açtığı Konu: 861
Level: -INF [ ]Paylaşım: NAN / -INF Üyelik tarihi: Apr 2007
Kullanıcı No: 9365
Nerden: çıktın sen yaww
Rep Puani: 2226
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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,251
>Açtığı Konu: 653
Level: 38 [ ![]() ![]() ![]() ![]() ]Paylaşım: 1412 / 1412 Üyelik tarihi: Feb 2008
Kullanıcı No: 267800
Rep Puani: 1477
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
gzl paylasım
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#3)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() >Mesaj Sayısı: 2,363
>Açtığı Konu: 441
Level: 39 [ ![]() ![]() ![]() ![]() ]Paylaşım: 1439 / 1439 Üyelik tarihi: May 2008
Kullanıcı No: 297528
Nerden: İlk Önce Sen Söyle
Rep Puani: 2321
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
eyw. saolasın
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#4)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() >Mesaj Sayısı: 1,548
>Açtığı Konu: 172
Level: 33 [ ![]() ]Paylaşım: 681 / 973 Üyelik tarihi: Feb 2008
Kullanıcı No: 273148
Nerden: KıBRıS Und3Rgr0unD
Rep Puani: 933
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
sağol.
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#5)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() ![]() ![]() >Mesaj Sayısı: 1,249
>Açtığı Konu: 110
Level: 30 [ ![]() ![]() ![]() ![]() ]Paylaşım: 222 / 742 Üyelik tarihi: Aug 2007
Kullanıcı No: 155815
Rep Puani: 249
Rep Derecesi :
![]() ![]() ![]() |
sağol.....
|
|||||||||
|
||||||||||
![]() | ||||||||||
|
(#6)
|
||||||||||
|
[10]Yeni Üye
![]() ![]() >Mesaj Sayısı: 366
>Açtığı Konu: 34
Level: 17 [ ![]() ]Paylaşım: 42 / 421 Üyelik tarihi: Apr 2007
Kullanıcı No: 2189
Rep Puani: 109
Rep Derecesi :
![]() ![]() |
sağol
|
|||||||||
|
||||||||||
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|