DIRECTORY LISTING

DIRECTORY LISTING

โดยปกติเว็บเซอร์เวอร์จะถูกกำหนดไว้ว่าเมื่อเข้าไปใน path ต่างๆจะให้รันไฟล์ใดๆโดย default เช่น
ยกตัวอย่าง 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 ดังกล่าวจะได้ผลลัพธ์ออกมาเป็นตามตัวอย่างด้านล่าง
course-1-2019051454583kofXd5XBasv.png
ตัวอย่างการทำ Directory Listing
โดยการใช้งานแบบนี้ มักถูกใช้ในระบบที่ไม่มีการค้นหา และเป็นระบบเว็บไซด์แบบเก่าที่ไม่มีการแสดงผลการเก็บข้อมูลที่ดีพอ ซึ่งแน่นอนว่าข้อดีคือผู้พัฒนาแค่เอาข้อมูลขึ้นเว็บไซด์ ก็พร้อมให้ผู้ใช้งานสามารถเข้าถึงข้อมูลต่างๆได้ทันที แต่ข้อเสียคือหากข้อมูลส่วนหนึ่งส่วนใดที่เป็นความลับและถูกนำขึ้นไปยัง path ที่เป็น Directory Listing ก็อาจจะทำให้ข้อมูลที่เป็นความลับนั้นหลุดออกไปได้อย่างง่ายดายเลยนั่นเอง ซึ่งไฟล์ที่มักถูกหลุดออกมาดังกล่าวเป็นได้ทั้ง .sql ที่เป็น backup database , index.php.oldversion ซึ่งเป็น backup ของ index.php เป็นต้น

การค้นหาสิ่งต่างๆด้วย Google

จริงๆแล้วการใช้งาน Google นั้นสามารถใช้ในการค้นหาแบบเฉพาะเจาะจงได้มากกว่าเพียงแค่คำๆเท่านั้น เรายังสามารถใช้งาน Google Search ในการค้นหาเฉพาะเจาะจงได้ลึกไปมากกว่า โดยมีวิธีดังต่อไปนี้
Syntaxความหมาย
“”เราสามารถค้นหาข้อมูลในลักษณะเป็น phase ของคำหรือประโยคก็ได้เช่นกัน เช่น “Web Application Security” เป็นต้น ซึ่งผลลัพธ์ที่ได้จากการ search แบบใช้ “” จะแตกต่างการ search โดยเขียนเป็น Web Application Security เพราะหากเรา search โดยระบุว่าเป็น Web Application Security คือ ค้นหาผลการ search ใดๆที่มีคำว่า Web, Application, Security อยู่นั่นเอง แต่หากเป็น “Web Application Security” ผลที่ได้ออกมาจะเฉพาะเจาะจงเป็นค้นหาการ search ที่มีคำว่า Web Application Security นั่นเอง
ORเราสามารถค้นหาข้อมูลได้ด้วยการใส่ OR เข้าไปขั้นระหว่างคำ เช่น security OR hack เป็นต้น ผลลัพธ์ที่ได้คือผลการ search ที่มีคำใดคำหนึ่งหรือทั้งสองคำอยู่ในนั้น
-เราสามารถนำผลลัพธ์ที่ไม่ต้องการออกไปได้โดยใช้ - เช่น เรา search คำว่า security -”reverse engineering” เป็นต้น ก็จะเป็นการ search คำว่า security โดยไม่มีคำว่า reverse engineering อยู่ในผลลัพธ์การค้นหานั่นเอง
site:เราสามารถค้นหาผลลัพธ์ระบุ website ได้ เช่น site:techsuii.com เป็นต้น ผลลัพธ์ที่ออกมาก็จะมีแต่เฉพาะของเว็บไซด์นั้นๆ
intitleเราสามารถระบุว่า page ที่มีชื่อ title ที่เราต้องการได้ เช่น intitle:"Bug Bounty" เป็นต้น ซึ่งผลลัพธ์ที่ออกมาก็จะเป็น page ที่มีคำว่า Bug Bounty อยู่ในชื่อ page แต่ละ page
inurlเราสามารถระบุว่าผลลัพธ์ที่ออกมาจะต้องมีคำที่เราต้องการอยู่ใน URL ด้วย เช่น inurl:password เป็นต้น ก็จะได้ผลลัพธ์ทุกๆผลลัพธ์มี password เป็นส่วนประกอบอยู่ใน URL
filetypeเราสามารถระบุชนิดของไฟล์ (File type) ของผลลัพธ์ที่เราต้องการให้แสดง เช่น password filetype:csv เป็นต้น ก็จะได้ผลลัพธ์ออกมาเป็น csv file ที่มีคำว่า  password อยู่ในไฟล์นั้นๆนั่นเอง

ใช้ Google เพื่อค้นหาข้อมูลแบบละเอียด

จากการเรียนรู้ Google Search Syntax จะพบว่าเราสามารถใช้ Google ในการ search ข้อมูลสำคัญของเป้าหมายได้ ซึ่งถูกเรียกว่า Google Hack นั่นเอง โดย Google Hack Database หรือก็คือแหล่งเก็บข้อมูล Google Hack นั่นเอง เราสามารถดูได้จากหลายๆที่ โดยที่ได้รับความนิยมคือhttps://www.exploit-db.com/google-hacking-database
course-1-201905145458NEAoa7IT0zA1.png
โดยในที่นี้เราสามารถใช้ Google Hack ในการ search หา Directory Listing ได้ โดยใช้เป็น intitle:"index of"
course-1-2019051454580Py6hU3Bhvgj.png
ซึ่งก็ถือว่าเป็นวิธีหนึ่งในการค้นหา Directory List แต่ก็อย่างที่ทราบว่า Google Bot นั้นก็มีขอบเขตของการไต่ไปตามเว็บไซด์จาก lab robots.txt ก่อนหน้านี้นั่นเอง

การค้นหา Directory, File แบบ Brute Force

เราสามารถค้นหา directory, file และ/หรือ path ที่อยู่ในเว็บไซด์แต่ไม่มี link ที่อ้างอิงถึงจากในเว็บไซด์ โดยการ brute force หรือก็คือการเดาสุ่มได้ โดยใช้เครื่องมือมากมายไม่ว่าจะเป็น
  • Dirbuster หรือ Dirb
dirb <URL>
course-1-201905145458IIZLMQXs2POP.png
  • Gobuster
gobuster -w <Wordlist> -u <URL> -t <Thread> -x <EXTENSION>
course-1-201905145458mmk4kwcKVLL6.png
  • Wfuzz
wfuzz -c -w <Wordlist> --hc <ERROR CODE> <URL>/FUZZ
course-1-201905145458LtgoDkAvzC1W.png
  • Dirserach
dirsearch -u <URL> -e <FILE EXTENSION> -f -x <ERROR CODE>
course-1-201905145458A7MOvYwfSoFs.png

Comments

Popular Posts