DIRECTORY LISTING
DIRECTORY LISTING
โดยปกติเว็บเซอร์เวอร์จะถูกกำหนดไว้ว่าเมื่อเข้าไปใน path ต่างๆจะให้รันไฟล์ใดๆโดย default เช่น
ยกตัวอย่าง configuration ของ Nginx
ยกตัวอย่าง configuration ของ Nginx
server {
listen 80 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
ดังนั้นเมื่อเราเข้าไปที่ path www.example.com เว็บเซอร์เวอร์ (Web Server) จะไปค้นหาไฟล์ "index.php, index.html, index.htm, index.nginx-debian.html" ตามลำดับ จึงเปรียบเสมือนว่าเราเรียก request ไปยังปลายทางเป็น
[http://www.example.com/index.php](http://www.example.com/index.php)
โดยอัตโนมัตินั่นเอง แต่ทีนี้ก็จะมีในลักษณะที่เมื่อเราเข้าไปใน path นั้นๆแล้วเป็นการ list ไฟล์ออกมาเช่นกัน โดยจะเรียกว่า “Directory Listing” นั่นเอง ซึ่งการ configuration ดังกล่าว เราสามารถทำได้ในทุกๆ web server เช่น
หากเป็น Nginx จะกำหนดใน configure เป็น
location /somepath {
autoindex on;
}
หากเป็น Apache จะกำหนดเป็น
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
Options Indexes MultiViews
AllowOverride None
Require all granted
</Directory>
การ configure ดังกล่าวจะได้ผลลัพธ์ออกมาเป็นตามตัวอย่างด้านล่าง

ตัวอย่างการทำ Directory Listing

ตัวอย่างการทำ Directory Listing
โดยการใช้งานแบบนี้ มักถูกใช้ในระบบที่ไม่มีการค้นหา และเป็นระบบเว็บไซด์แบบเก่าที่ไม่มีการแสดงผลการเก็บข้อมูลที่ดีพอ ซึ่งแน่นอนว่าข้อดีคือผู้พัฒนาแค่เอาข้อมูลขึ้นเว็บไซด์ ก็พร้อมให้ผู้ใช้งานสามารถเข้าถึงข้อมูลต่างๆได้ทันที แต่ข้อเสียคือหากข้อมูลส่วนหนึ่งส่วนใดที่เป็นความลับและถูกนำขึ้นไปยัง path ที่เป็น Directory Listing ก็อาจจะทำให้ข้อมูลที่เป็นความลับนั้นหลุดออกไปได้อย่างง่ายดายเลยนั่นเอง ซึ่งไฟล์ที่มักถูกหลุดออกมาดังกล่าวเป็นได้ทั้ง .sql ที่เป็น backup database , index.php.oldversion ซึ่งเป็น backup ของ index.php เป็นต้น
การค้นหาสิ่งต่างๆด้วย Google
จริงๆแล้วการใช้งาน Google นั้นสามารถใช้ในการค้นหาแบบเฉพาะเจาะจงได้มากกว่าเพียงแค่คำๆเท่านั้น เรายังสามารถใช้งาน Google Search ในการค้นหาเฉพาะเจาะจงได้ลึกไปมากกว่า โดยมีวิธีดังต่อไปนี้
Syntax | ความหมาย |
---|---|
ใช้ Google เพื่อค้นหาข้อมูลแบบละเอียด
จากการเรียนรู้ Google Search Syntax จะพบว่าเราสามารถใช้ Google ในการ search ข้อมูลสำคัญของเป้าหมายได้ ซึ่งถูกเรียกว่า Google Hack นั่นเอง โดย Google Hack Database หรือก็คือแหล่งเก็บข้อมูล Google Hack นั่นเอง เราสามารถดูได้จากหลายๆที่ โดยที่ได้รับความนิยมคือhttps://www.exploit-db.com/google-hacking-database

โดยในที่นี้เราสามารถใช้ Google Hack ในการ search หา Directory Listing ได้ โดยใช้เป็น intitle:"index of"

ซึ่งก็ถือว่าเป็นวิธีหนึ่งในการค้นหา Directory List แต่ก็อย่างที่ทราบว่า Google Bot นั้นก็มีขอบเขตของการไต่ไปตามเว็บไซด์จาก lab robots.txt ก่อนหน้านี้นั่นเอง

โดยในที่นี้เราสามารถใช้ Google Hack ในการ search หา Directory Listing ได้ โดยใช้เป็น intitle:"index of"

ซึ่งก็ถือว่าเป็นวิธีหนึ่งในการค้นหา Directory List แต่ก็อย่างที่ทราบว่า Google Bot นั้นก็มีขอบเขตของการไต่ไปตามเว็บไซด์จาก lab robots.txt ก่อนหน้านี้นั่นเอง
การค้นหา Directory, File แบบ Brute Force
เราสามารถค้นหา directory, file และ/หรือ path ที่อยู่ในเว็บไซด์แต่ไม่มี link ที่อ้างอิงถึงจากในเว็บไซด์ โดยการ brute force หรือก็คือการเดาสุ่มได้ โดยใช้เครื่องมือมากมายไม่ว่าจะเป็น
- Dirbuster หรือ Dirb
dirb <URL>

- Gobuster
gobuster -w <Wordlist> -u <URL> -t <Thread> -x <EXTENSION>

- Wfuzz
wfuzz -c -w <Wordlist> --hc <ERROR CODE> <URL>/FUZZ

- Dirserach
dirsearch -u <URL> -e <FILE EXTENSION> -f -x <ERROR CODE>

Comments
Post a Comment