Web Methodology
ภาพรวม workflow การโจมตีเว็บแบบเป็นระบบ ตั้งแต่ recon → mapping → ทดสอบช่องโหว่ตามหมวด เพื่อไม่ให้พลาดจุดสำคัญและทำงานได้เป็นลำดับ ใช้ได้ทั้งกับโจทย์ CTF และ pentest บน scope ที่ได้รับอนุญาต
1. ภาพรวม — ทำไมต้องมี methodology
การโจมตีเว็บแบบสุ่มลองทำให้พลาดจุดสำคัญและเสียเวลา methodology ที่ดีคือลำดับขั้นที่ทำให้ครอบคลุม: เก็บข้อมูล → ทำแผนผังแอป → ทดสอบช่องโหว่ตามหมวด → ยกระดับ หลักการคือ 'enumerate ให้ครบก่อนเจาะ' เพราะ attack surface ที่มองไม่เห็นคือช่องโหว่ที่ทดสอบไม่ถึง
2. Recon & Mapping
- 1สแกนพอร์ต/บริการ (nmap -sCV) ระบุ web server, framework, เวอร์ชัน
- 2ระบุเทคโนโลยี: Wappalyzer, response headers (Server, X-Powered-By), cookie names
- 3Directory/file enumeration (ffuf/feroxbuster) หา endpoint, ไฟล์ backup, admin panel
- 4ดู robots.txt, sitemap.xml, /.git/, source maps (.js.map) ที่อาจรั่ว path/secret
- 5Spider/crawl ด้วย Burp เพื่อ map ทุก endpoint และพารามิเตอร์
- 6Parameter discovery (arjun/param miner) หา hidden parameter
# directory enum
ffuf -u https://target/FUZZ -w wordlist.txt -mc 200,301,302,403
# subdomain (ถ้า scope ครอบคลุม)
ffuf -u https://target -H "Host: FUZZ.target" -w subdomains.txt
# nuclei (ตรวจช่องโหว่ที่รู้จัก) — ใช้กับ scope ที่ได้รับอนุญาต
nuclei -u https://target3. ทดสอบช่องโหว่ตามหมวด
เมื่อ map แอปแล้ว ทดสอบช่องโหว่ตามประเภทของแต่ละ feature — แต่ละ input/endpoint ควรเช็คครบทุกหมวดที่เกี่ยวข้อง ตารางนี้คือ checklist ที่แมพ feature กับช่องโหว่ที่ควรลอง:
| Feature | ช่องโหว่ที่ควรทดสอบ |
|---|---|
| ช่องค้นหา / filter / id | SQLi, NoSQLi, XSS |
| ฟอร์ม login / session | auth bypass, brute, JWT, session fixation |
| อัปโหลดไฟล์ | file upload bypass, path traversal, RCE |
| template / ข้อความที่ render | SSTI, XSS |
| พารามิเตอร์ที่เป็น URL | SSRF, open redirect |
| พารามิเตอร์ที่เป็นชื่อไฟล์/path | LFI, RFI, path traversal |
| import/parse XML | XXE |
| ฟังก์ชันที่เรียก OS/คำสั่ง | command injection |
| object/id ที่อ้างถึงทรัพยากร | IDOR / access control |
| ขั้นตอนหลาย step / ราคา / โควตา | business logic, race condition |
4. เครื่องมือหลัก
- Burp Suite — proxy, repeater, intruder; แกนของการทดสอบเว็บ (ดู Burp Playbook)
- ffuf / feroxbuster — directory & parameter fuzzing
- nuclei — template-based vuln scanning
- arjun — hidden parameter discovery
- sqlmap — automate SQLi (เฉพาะ scope ที่ได้รับอนุญาต)
5. Quick Reference
- enumerate ให้ครบก่อนเจาะ — attack surface ที่มองไม่เห็น = ช่องโหว่ที่พลาด
- Recon → Map → Test by class → Exploit → Escalate
- ทุก input ทดสอบทุกหมวดที่เกี่ยวข้อง (ดูตาราง feature→vuln)
- เก็บทุก endpoint/param ด้วย Burp spider
- อย่าลืม headers, cookies, JSON fields เป็นจุด inject ได้เหมือนกัน
🧭 จับมือทำทีละขั้น (มีแค่ Kali) + ถ้าติดไปไหนต่อ
สมมติเพิ่งได้ URL เป้าหมายมาตัวเดียว ไม่รู้อะไรเลยเกี่ยวกับแอป มีแค่ Kali เปล่าๆ นี่คือ master flow ที่จับมือทำตั้งแต่ต้นจนถึงจุดที่ต้องเลือกว่าจะไปหัวข้อไหนต่อ
- 1เปิด Burp Suite → ตั้งเบราว์เซอร์ให้ผ่าน proxy 127.0.0.1:8080 → เข้าเว็บเป้าหมายเพื่อให้ Burp เก็บ sitemap ให้อัตโนมัติ
- 2รัน whatweb -a 3 https://target ดู stack (PHP/Node/Java/.NET) และ curl -sSI ดู header ที่บอกใบ้เพิ่ม
- 3รัน ffuf -u https://target/FUZZ -w /usr/share/seclists/Discovery/Web-Content/common.txt -mc 200,301,302,401,403 หา path ที่ซ่อน
- 4อ่าน robots.txt, sitemap.xml, /.git/ ด้วย curl — ถ้าเจอ /.git/ เปิดอยู่ให้ git-dumper ดึง source มาอ่าน
- 5รัน arjun -u https://target/endpoint หา parameter ที่ซ่อนบน endpoint ที่น่าสนใจ
- 6ไล่ทุก parameter/endpoint ที่เจอ แล้วเทียบกับตาราง 'Feature → ช่องโหว่ที่ควรทดสอบ' ด้านบนของหัวข้อนี้
- 7เลือกช่องโหว่ที่เข้าเค้าที่สุดก่อน (เช่น parameter ชื่อ id → ลอง IDOR/SQLi ก่อน) แล้วเปิดหัวข้อเฉพาะทางของช่องโหว่นั้นต่อ
- 8ถ้าทดสอบแล้วไม่เจออะไรเลยในหมวดที่คิดไว้ ให้วนกลับมาที่ตารางแล้วลองหมวดถัดไป อย่าติดอยู่กับช่องโหว่เดียวนานเกินไป
| ขั้นตอน/งาน | เครื่องมือใน Kali | ติดตั้งเพิ่ม (ถ้าไม่มี) | เครื่องมือออนไลน์ |
|---|---|---|---|
| proxy หลักทุกอย่าง | Burp Suite Community | - | - |
| fingerprint stack | whatweb | - | wappalyzer, builtwith |
| directory/content enumeration | ffuf, feroxbuster, gobuster | apt install seclists | - |
| parameter discovery | - | pipx install arjun | - |
| subdomain/recon เสริม | amass, subfinder | - | crt.sh |
| vuln scan อัตโนมัติ | nikto | apt install nuclei | - |
| encode/decode payload ระหว่างทาง | - | - | CyberChef |
หัวข้อที่เชื่อมโยง
โน้ตของฉัน
ยังไม่มีโน้ตสำหรับหัวข้อนี้