การสแกนเว็บแอปด้วย Nikto และ OWASP ZAP
สแกนเว็บแอปพลิเคชันเพื่อหาช่องโหว่ทั่วไปโดยใช้เครื่องสแกนแบบทำงานเชิงรุกของ Nikto และ OWASP ZAP
การสแกนเว็บแอปด้วย Nikto และ OWASP ZAP เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
พื้นผิวการโจมตีของเว็บแอปพลิเคชัน
เว็บแอปพลิเคชันเปิดเผยพื้นผิวการโจมตีที่ซับซ้อน ได้แก่ พารามิเตอร์ URL ช่องข้อมูล แบบฟอร์ม คุกกี้ ส่วนหัว การอัปโหลดไฟล์ และ API เครื่องมือสแกนอัตโนมัติจะตรวจสอบสิ่งเหล่านี้ทั้งหมดอย่างเป็นระบบเพื่อค้นหาช่องโหว่ทั่วไป
พื้นฐานของ Nikto
Nikto เป็นเครื่องสแกนเว็บเซิร์ฟเวอร์แบบบรรทัดคำสั่ง ซึ่งตรวจหาไฟล์อันตราย ซอฟต์แวร์ล้าสมัย ส่วนหัวที่ไม่ปลอดภัย และ CVE ที่เป็นที่รู้จัก เครื่องมือนี้รวดเร็ว เรียบง่าย และสร้างการแจ้งเตือนจำนวนมาก จึงไม่ใช่เครื่องมือแบบล่องหน
nikto -h http://target.com
# Key options:
# -h target host
# -p port (default 80)
# -ssl for HTTPS
# -Tuning to filter check types
# -o output file, -Format formatการตีความผลลัพธ์ของ Nikto
Nikto จะใส่ + ไว้หน้ารายการที่ตรวจพบ ควรมองหารายการต่อไปนี้: อินเทอร์เฟซผู้ดูแลระบบที่เปิดเผย การแสดงรายการไดเรกทอรี ส่วนหัวด้านความปลอดภัยที่ขาดหายไป เวอร์ชันเซิร์ฟเวอร์ที่ล้าสมัย และไฟล์ที่อาจเป็นอันตราย เช่น /phpinfo.php
+ Server: Apache/2.4.49
+ /admin/: Admin login page found
+ /phpinfo.php: PHP info exposed
+ X-Frame-Options header missing
+ Allowed HTTP Methods: GET, POST, PUT, DELETEภาพรวม OWASP ZAP
OWASP ZAP (พร็อกซีการโจมตี Zed) เป็นเครื่องสแกนความปลอดภัยเว็บแอปพลิเคชันแบบครบฟังก์ชันที่มี GUI และ API ทำหน้าที่เป็นพร็อกซี เครื่องมือรวบรวมลิงก์ และเครื่องสแกนเชิงรุก จึงเหมาะสำหรับทั้งการทดสอบด้วยตนเองและการทดสอบอัตโนมัติ
การตั้งค่าพร็อกซี ZAP
กำหนดค่าเบราว์เซอร์ให้ใช้ ZAP เป็นพร็อกซี (localhost:8080) ZAP จะดักจับข้อมูลจราจรทั้งหมดและสร้างแผนผังเว็บไซต์ ขั้นตอนแบบพาสซีฟนี้รวบรวมข้อมูลโดยไม่ส่งข้อมูลโจมตี
# Start ZAP
zap.sh
# Or headless CLI
zap.sh -daemon -port 8080
# Set browser proxy:
# HTTP: 127.0.0.1:8080เครื่องมือรวบรวมลิงก์ของ ZAP
เครื่องมือรวบรวมลิงก์จะสำรวจแอปพลิเคชันโดยติดตามลิงก์และการทำงานของแบบฟอร์ม เครื่องมือรวบรวมลิงก์ AJAX รองรับแอปแบบหน้าเดียวที่ใช้ JavaScript อย่างมาก ทั้งสองอย่างช่วยสร้างแผนผังเว็บไซต์ที่ครบถ้วนสำหรับการสแกนเชิงรุก
# CLI spider
zap-cli spider http://target.com
# AJAX spider for SPAs
# Use GUI: Tools > AJAX Spiderเครื่องสแกนเชิงรุกของ ZAP
เครื่องสแกนเชิงรุกจะส่งข้อมูลโจมตี (การแทรกคำสั่ง SQL, XSS และการข้ามผ่านเส้นทาง) ไปยังข้อมูลนำเข้าที่ค้นพบทุกจุด ระดับความเสี่ยง ได้แก่ สูง ปานกลาง ต่ำ และให้ข้อมูล
zap-cli active-scan --scanners all http://target.com
# Or via API
curl "http://localhost:8080/JSON/ascan/action/scan/?url=http://target.com"การอ่านการแจ้งเตือนของ ZAP
ZAP จัดกลุ่มรายการที่ตรวจพบเป็นการแจ้งเตือน การแจ้งเตือนแต่ละรายการจะแสดงระดับความเสี่ยง ระดับความเชื่อมั่น URL ที่ได้รับผลกระทบ ข้อมูลโจมตีที่ใช้ หลักฐานจากการตอบกลับ และคำแนะนำในการแก้ไข ระดับความเชื่อมั่นสูงหมายถึงมีผลบวกลวงน้อยลง
ZAP ในกระบวนการ CI/CD
ZAP มีอิมเมจ Docker สำหรับการสแกนอัตโนมัติในกระบวนการต่าง ๆ สคริปต์ zap-baseline.py ทำการสแกนแบบพาสซีฟที่เหมาะสำหรับ CI ส่วน zap-full-scan.py ทำการสแกนเชิงรุก
# Docker baseline scan (passive only)
docker run -t zaproxy/zap-stable \
zap-baseline.py -t http://target.com
# Full active scan
docker run -t zaproxy/zap-stable \
zap-full-scan.py -t http://target.comการเปรียบเทียบ Nikto กับ ZAP
Nikto: เรียบง่าย รวดเร็ว ใช้งานผ่านบรรทัดคำสั่ง เหมาะที่สุดสำหรับการตรวจสอบอย่างรวดเร็วและปัญหาระดับเซิร์ฟเวอร์ ZAP: ครอบคลุม ใช้พร็อกซี รองรับแอปพลิเคชันที่ซับซ้อน และเหมาะกว่าสำหรับช่องโหว่ระดับแอปพลิเคชันและการผสานเข้ากับ CI
ขอบเขตและการอนุญาต
ควรสแกนเฉพาะระบบที่คุณเป็นเจ้าของหรือได้รับอนุญาตเป็นลายลักษณ์อักษรให้ทดสอบ การสแกนโดยไม่ได้รับอนุญาตอาจละเมิดกฎหมาย (CFAA, Computer Misuse Act) และข้อกำหนดการให้บริการ แม้จะไม่ได้ตั้งใจสร้างความเสียหายก็ตาม
ตรวจสอบอย่างรวดเร็ว
อะไรคือข้อแตกต่างระหว่างเครื่องสแกนเชิงรุกของ ZAP กับการสแกนแบบพาสซีฟ
สรุป: เครื่องมือสแกนเว็บ
Nikto ให้ผลการตรวจพบระดับเซิร์ฟเวอร์ได้อย่างรวดเร็วภายในไม่กี่วินาที ส่วน ZAP ให้การสแกนระดับแอปพลิเคชันเชิงลึกด้วยการดักจับผ่านพร็อกซี การรวบรวมลิงก์ และการโจมตีเชิงรุก ทั้งสองเครื่องมือต้องได้รับอนุญาต ในกระบวนการที่มีการจัดการ成熟 ควรทำให้การสแกนพื้นฐานของ ZAP เป็นอัตโนมัติในการนำระบบไปใช้งานทุกครั้ง เพื่อค้นหาการถดถอยก่อนที่จะเข้าสู่ระบบจริง
คำถามที่พบบ่อย
บทเรียน “การสแกนเว็บแอปด้วย Nikto และ OWASP ZAP” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “การสแกนเว็บแอปด้วย Nikto และ OWASP ZAP” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “การสแกนเว็บแอปด้วย Nikto และ OWASP ZAP”
สแกนเว็บแอปพลิเคชันเพื่อหาช่องโหว่ทั่วไปโดยใช้เครื่องสแกนแบบทำงานเชิงรุกของ Nikto และ OWASP ZAP คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน
บทเรียน “การสแกนเว็บแอปด้วย Nikto และ OWASP ZAP” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม
ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- การให้คะแนน CVE, CWE และ CVSS
- การเรียกใช้การสแกนด้วย Nessus หรือ OpenVAS
- การสแกนเว็บแอปด้วย Nikto และ OWASP ZAP
- การจัดลำดับความสำคัญและแก้ไขข้อค้นพบ