เอกสารนี้จับคู่ การโจมตี (www-community) และ Cheat Sheet (CheatSheetSeries) ทุกรายการของ OWASP เข้ากับหมวดความปลอดภัย โดยแต่ละรายการลิงก์ไปยังหน้าสาธารณะต้นฉบับ ภายในหมวดเดียวกัน รายการที่เทียบเท่ากันจะอยู่ในบรรทัดเช็กลิสต์เดียวกัน: การโจมตีและ cheat sheet ที่จัดการความเสี่ยงเดียวกันจะแสดงรวมกันโดยคั่นด้วยจุลภาค ส่วนรายการที่ไม่มีคู่เทียบโดยตรงจะอยู่ในบรรทัดของตัวเอง
- เครดิตเป็นของ OWASP หน้าการโจมตีอยู่ที่
https://owasp.org/www-community/attacks/<attack>และหน้า cheat sheet อยู่ที่https://cheatsheetseries.owasp.org/cheatsheets/<cheat>.html
1. Injection (ทั่วไป)
- Code Injection, Injection Prevention, Injection Prevention in Java (interpreter)
- Direct Dynamic Code Evaluation (Eval Injection) (interpreter)
- Function Injection (interpreter)
- Resource Injection (network)
- Special Element Injection (interpreter)
- Custom Special Character Injection (interpreter)
- Comment Injection Attack (interpreter)
- Parameter Delimiter (interpreter)
- Server-Side Includes (SSI) Injection (interpreter)
- Input Validation, Bean Validation (interpreter)
2. Injection ใน SQL และฐานข้อมูล
- SQL Injection, SQL Injection Prevention, Query Parameterization (sql)
- Blind SQL Injection (sql)
- SQL Injection Bypassing WAF (sql)
- RSQL Injection (interpreter)
- Database Security (sql)
- NoSQL Security (interpreter)
3. Injection คำสั่งระบบปฏิบัติการ
- Command Injection, OS Command Injection Defense (interpreter)
4. Injection ใน LDAP, XPath และ XML
- LDAP Injection, LDAP Injection Prevention (interpreter)
- XPATH Injection (interpreter)
- Blind XPath Injection (interpreter)
- XML External Entity (XXE) Prevention, XML Security (xml)
5. Cross-Site Scripting (XSS)
- Cross Site Scripting (XSS), Cross Site Scripting Prevention, XSS Filter Evasion (browser)
- DOM Based XSS, DOM based XSS Prevention, DOM Clobbering Prevention (browser)
- Reflected DOM Injection (browser)
- XSS in Converting File Content to Text (browser)
- XSS in subtitle (browser)
- Cross Frame Scripting (browser)
- Cross Site Tracing (browser)
- Content Security Policy (browser)
6. Cross-Site Request Forgery (CSRF) และ clickjacking
- Cross Site Request Forgery (CSRF), XSRF, Cross-Site Request Forgery Prevention (http-request)
- Clickjacking, Clickjacking Defense (browser)
- Cross Site History Manipulation (XSHM) (browser)
- Form action hijacking (network)
- Reverse Tabnabbing (browser)
7. การ redirect และ forward
- Open Redirect, Unvalidated Redirects and Forwards (network)
- Execution After Redirect (EAR) (browser)
8. การควบคุมการเข้าถึงและการตรวจสอบสิทธิ์
- Insecure Direct Object Reference (IDOR), Insecure Direct Object Reference Prevention (access-control)
- Forced browsing (access-control)
- Web Parameter Tampering (access-control)
- Setting Manipulation (access-control)
- Authorization (access-control)
- Transaction Authorization (access-control)
- Mass Assignment (access-control)
- Multi-Tenant Application Security (access-control)
9. การยืนยันตัวตนและข้อมูลรับรอง
- Brute Force Attack, Password Spraying Attack, Bot Management and Anti-Automation (credential-endpoint)
- Credential stuffing, Credential Stuffing Prevention (credential-endpoint)
- Qrljacking (federation)
- Authentication, Multifactor Authentication (access-control)
- Password Storage (access-control)
- Forgot Password, Choosing and Using Security Questions (access-control)
- Email Validation and Verification in Identity Systems (access-control)
10. การจัดการเซสชัน
- Session fixation, Session hijacking attack, Session Prediction, Session Management (access-control)
- Cookie Theft Mitigation (access-control)
11. Identity federation (OAuth, SAML และ JWT)
- OAuth 2.0 Protocol (federation)
- SAML Security (federation)
- JSON Web Token for Java (federation)
12. การเข้ารหัสและความปลอดภัยของการรับส่งข้อมูล
- Cryptanalysis, Cryptographic Storage, Key Management (crypto)
- Manipulator-in-the-Middle (MITM), Transport Layer Security (transport)
- HTTP Strict Transport Security (transport)
- Pinning (transport)
13. Server-Side Request Forgery (SSRF)
14. Path traversal และการจัดการไฟล์
- Path Traversal (path)
- Binary Planting (path)
- Windows ::DATA Alternate Data Stream (path)
- Embedding Null Code (path)
- File Upload (upload)
15. การใช้โปรโตคอล HTTP ในทางที่ผิด (header, caching และ splitting)
- HTTP Response Splitting, Cross-User Defacement (interpreter)
- HTTP Security Response Headers (แยกไปที่: browser, transport, http-request, access-control)
- Cache Poisoning (interpreter)
- IP Spoofing via HTTP Headers (http-request)
16. Encoding และ content spoofing
- Unicode Encoding (interpreter)
- Double Encoding (interpreter)
- Content Spoofing (browser)
17. Injection ใน CSV และสเปรดชีต
- CSV Injection (csv)
18. CORS (Cross-Origin Resource Sharing)
- CORS OriginHeaderScrutiny (http-request)
- CORS RequestPreflightScrutiny (http-request)
19. Denial of service
20. ความปลอดภัยของหน่วยความจำและโค้ดเนทีฟ
- Buffer Overflow Attack, Buffer Overflow via Environment Variables (c-cpp)
- Format string attack (c-cpp)
21. Mobile code และการรันโค้ดที่ไม่น่าเชื่อถือ
- Mobile code invoking untrusted mobile code (interpreter)
- Mobile code non-final public field (java)
- Mobile code object hijack (java)
22. Deserialization
- Deserialization (แยกไปที่: python, ruby, php, java, dotnet)
23. มัลแวร์และภัยคุกคามฝั่งไคลเอนต์
- Man-in-the-browser attack, Browser Extension Security Vulnerabilities (browser)
- Third Party JavaScript Management (browser)
24. Logging, repudiation และการจัดการข้อผิดพลาด
- Log Injection, Logging, Application Logging Vocabulary (interpreter)
- Repudiation Attack (interpreter)
25. ตรรกะทางธุรกิจและการใช้ฟังก์ชันในทางที่ผิด
ตรรกะทางธุรกิจและการใช้ฟังก์ชันในทางที่ผิดไม่มีพื้นผิวในโค้ดจุดเดียวที่ความรู้เฉพาะทางรายพื้นผิวจะป้องกันได้: การป้องกันคือการออกแบบเฉพาะของแต่ละแอปพลิเคชัน ซึ่งใช้เหตุผลแบบเดียวกับที่ threat modeling ของโปรเจกต์ขับเคลื่อน จึงย้ายไปไว้ที่ "อยู่นอกขอบเขต"
26. ความปลอดภัยของ AI, LLM และเอเจนต์
- Prompt Injection, LLM Prompt Injection Prevention (llm)
- MCP Tool Poisoning, MCP (Model Context Protocol) Security (llm)
- HITL Dialog Forging (Lies-in-the-Loop) (llm)
- AI Agent Security, Secure Coding with AI (llm)
- Retrieval-Augmented Generation (RAG) Security (llm)
- Secure AI/ML Model Ops (llm)
- AML and Sanctions Compliance for AI Agent Payments (llm)
27. Prototype pollution และ cross-site leaks
- Prototype Pollution Prevention (javascript)
- Cross-site leaks (XS-Leaks) (browser)
28. เฟรมเวิร์กและแพลตฟอร์มภาษา
- Django Security, Django REST Framework (python)
- Ruby on Rails (ruby)
- Laravel (php)
- Symfony (php)
- Java Security (java)
- DotNet Security (dotnet)
- NodeJS Security (javascript)
- PHP Configuration (php)
29. เว็บฟรอนต์เอนด์และเบราว์เซอร์
- HTML5 Security (browser)
- AJAX Security (browser)
- Securing Cascading Style Sheets (แยกไปที่: access-control, browser)
30. API และบริการ
- GraphQL (api-endpoint)
- gRPC Security (api-endpoint)
- WebSocket Security (api-endpoint)
31. คลาวด์ คอนเทนเนอร์ และโครงสร้างพื้นฐาน
การตั้งค่าคอนเทนเนอร์และ workload คือ config-as-code ที่นักพัฒนาส่งไปพร้อมแอป (Dockerfile, Compose และ securityContext ของ Pod) เป็นพื้นผิวจริงที่ harden แก้ไขและ verify พิสูจน์ได้ จึงอยู่ในขอบเขต ส่วนการดูแลคลัสเตอร์ (RBAC, etcd, API server, admission และ network segmentation) เป็นงานของผู้ดูแลระบบ (operator) และยังอยู่นอกขอบเขต
- Docker Security, Node.js Docker (container)
- Kubernetes Security (container: ส่วนของ workload และ Pod การดูแลคลัสเตอร์ยังอยู่นอกขอบเขต)
- Serverless / FaaS Security (serverless)
32. ซัพพลายเชนและ CI/CD
- NPM Security (interpreter)
- Dependency Graph & SBOM Best Practices, Vulnerable Dependency Management (interpreter)
33. Secret และการตั้งค่า
การจัดการ secret เป็นงานด้านปฏิบัติการ: vault, CI/CD การตั้งค่าคลาวด์ และการหมุนเวียน (rotation) แง่มุมเดียวที่อยู่ระดับโค้ด (secret ที่ฮาร์ดโค้ดในซอร์ส) เป็นการสแกนแบบ deterministic ไม่ใช่ความรู้เฉพาะทางด้านความเสี่ยง จึงย้ายไปไว้ที่ "อยู่นอกขอบเขต"
34. กระบวนการ การออกแบบ และธรรมาภิบาล
การปกป้องความเป็นส่วนตัวของผู้ใช้เป็นเรื่องนโยบายและการออกแบบ (การเก็บข้อมูลเท่าที่จำเป็น ความโปร่งใส และระยะเวลาการเก็บรักษา) ไม่ใช่พื้นผิวในโค้ดที่ความรู้เฉพาะทางป้องกันได้ จึงย้ายไปไว้ที่ "อยู่นอกขอบเขต"
35. การชำระเงินและการปฏิบัติตามข้อกำหนด
36. ระบบฝังตัว IoT และโดเมนเฉพาะทาง
ความปลอดภัยของยานยนต์และโดรนเป็นโดเมนของระบบฝังตัว (CAN bus เฟิร์มแวร์ OTA ความถูกต้องของเซนเซอร์และวิทยุ และการเข้าถึงทางกายภาพ) ไม่ใช่ซอร์สโค้ดของแอปพลิเคชันเว็บหรือ API ที่ Lagune ตรวจสอบ จึงย้ายไปไว้ที่ "อยู่นอกขอบเขต"
อยู่นอกขอบเขต (ไม่มีพื้นผิวในโค้ด)
รายการต่อไปนี้ไม่ใช่พื้นที่ของความรู้เฉพาะทางและไม่มีช่องทำเครื่องหมาย: เป็นเรื่องธรรมาภิบาล กระบวนการ hardening ด้านปฏิบัติการ หรือการใช้เฟรมเวิร์ก ที่ไม่มีพื้นผิวในโค้ดจุดเดียวที่ความรู้เฉพาะทางรายพื้นผิวจะป้องกันได้ คุณค่าด้านความปลอดภัยของรายการเหล่านี้มีอยู่จริง แต่อยู่ในกระบวนการและสถาปัตยกรรม (หรือสำหรับเฟรมเวิร์ก อยู่ใน skill ของภาษานั้นเอง) ไม่ใช่ในการป้องกันที่แคตตาล็อกนี้มีให้ จึงแสดงไว้เพื่ออ้างอิง ไม่ใช่เป็นงานที่ต้องทำ
- Authorization Regression Testing, Authorization Testing Automation
- JAAS
- Denial of Service, Denial of Service
- HTTP/2 Reset Attack
- Traffic flood
- Web Service Amplification Attack (การขยายปริมาณทราฟฟิกผ่าน SOAP และ WS-Addressing ซึ่งเป็น DoS ด้านปฏิบัติการรูปแบบหนึ่งที่ไม่มีพื้นผิวในโค้ด)
- Cash Overflow
- Spyware, Trojan Horse (มัลแวร์ฝั่งผู้ใช้ปลายทาง ไม่ใช่พื้นผิวในโค้ดของโปรเจกต์ที่ตรวจสอบ แง่มุมการแพร่ผ่านเบราว์เซอร์อยู่ใน
browser) - REST Security, REST Assessment
- Web Service Security
- Cloud Architecture Security (การออกแบบและการชั่งข้อดีข้อเสีย: IAM เทียบกับ signed URL, VPC สาธารณะและส่วนตัว ขอบเขตความไว้วางใจ และความรับผิดชอบร่วม ต่างจาก
containerตรงที่ไม่มีการตั้งค่าที่เป็นรูปธรรมให้ความรู้เฉพาะทางตรวจ) - Infrastructure as Code Security (แม้ชื่อจะเป็นเช่นนั้น แต่เนื้อหาคือกระบวนการ SDLC และเครื่องมือสำหรับ จัดการ IaC: ปลั๊กอิน IDE, static analysis การสแกน image, CI/CD และการลงนาม ไม่ได้ให้รูปแบบที่ไม่ปลอดภัยพร้อมรูปแบบที่ปลอดภัยแทนในไฟล์ Terraform หรือ CloudFormation)
- Kubernetes Security (เฉพาะส่วนการดูแลคลัสเตอร์: RBAC, etcd, API server และ admission ส่วนของ workload และ Pod อยู่ในขอบเขตภายใต้
container) - Network Segmentation (สถาปัตยกรรมเครือข่ายและนโยบาย firewall)
- Subdomain Takeover Prevention (วงจรชีวิตและการเฝ้าระวัง DNS ไม่ใช่โค้ด)
- Secrets Management (vault, CI/CD และการหมุนเวียน แง่มุม secret ที่ฮาร์ดโค้ดเป็นการสแกนแบบ deterministic ไม่ใช่ความรู้เฉพาะทางด้านความเสี่ยง)
- C-Based Toolchain Hardening (แฟล็กของคอมไพเลอร์ linker และการ build โดยไม่มี sink ในซอร์ส)
- Microservices Security, Microservices based Security Arch Doc
- Zero Trust Architecture
- CI/CD Security, GitHub Actions Security
- Software Supply Chain Security
- Error Handling, Full Path Disclosure (การตั้งค่า error handler ส่วนกลางของแต่ละ stack การรั่วไหลนี้คือการเปิดเผยข้อมูลแบบเดียวกับที่การจัดการข้อผิดพลาดดูแลอยู่แล้ว)
- Abuse of Functionality, Business Logic Security, Abuse Case (historical) (การออกแบบเฉพาะของแต่ละแอปพลิเคชัน ไม่มี sink ในโค้ดจุดเดียว)
- User Privacy Protection (การเก็บข้อมูลเท่าที่จำเป็น ความโปร่งใส และนโยบายระยะเวลาการเก็บรักษา)
- Top 10 Automotive Security Vulnerabilities, Drone Security (โดเมนของระบบฝังตัว: CAN bus เฟิร์มแวร์ OTA และความถูกต้องของเซนเซอร์และวิทยุ ไม่ใช่ซอร์สโค้ดเว็บหรือ API)
- Mobile Application Security (การเสริมความปลอดภัยแพลตฟอร์ม Android และ iOS: พื้นที่จัดเก็บ ไบโอเมตริก pinning และ PII ไม่มีพื้นผิวในโค้ดจุดเดียว และแง่มุมการโหลดโค้ดที่ไม่น่าเชื่อถือย้ายไปอยู่ที่
interpreter) - Threat Modeling, Threat Modeling (community page)
- Attack Surface Analysis
- Secure Product Design
- Secure Code Review
- Virtual Patching
- Vulnerability Disclosure
- Legacy Application Management
- Security Terminology
