CompTIA PenTest+
1 Threats, Attacks, and Vulnerabilities
1-1 Common Threat Actors
1-2 Threat Intelligence Sources
1-3 Threat Actors and Motives
1-4 Threat Actor Tactics, Techniques, and Procedures (TTPs)
1-5 Vulnerability Types
1-6 Exploit Types
1-7 Attack Types
1-8 Threat Detection and Monitoring
1-9 Threat Hunting
1-10 Incident Response
2 Architecture and Design
2-1 Security Controls
2-2 Network Architecture
2-3 Cloud and Virtualization
2-4 Web Application Security
2-5 Wireless Security
2-6 Mobile Security
2-7 IoT Security
2-8 Industrial Control Systems (ICS) Security
2-9 Physical Security
2-10 Secure Software Development
3 Tools and Code
3-1 Penetration Testing Tools
3-2 Exploitation Tools
3-3 Post-Exploitation Tools
3-4 Reporting Tools
3-5 Scripting and Automation
3-6 Programming Languages
3-7 Code Analysis
3-8 Open Source Intelligence (OSINT) Tools
4 Planning and Scoping
4-1 Penetration Testing Methodologies
4-2 Legal and Compliance Considerations
4-3 Scope Definition
4-4 Risk Assessment
4-5 Threat Modeling
4-6 Information Gathering
4-7 Asset Identification
4-8 Data Classification
4-9 Business Impact Analysis
4-10 Penetration Testing Objectives
5 Information Gathering and Vulnerability Identification
5-1 Passive Reconnaissance
5-2 Active Reconnaissance
5-3 Vulnerability Scanning
5-4 Network Mapping
5-5 Service Identification
5-6 Web Application Scanning
5-7 Wireless Network Scanning
5-8 Social Engineering Techniques
5-9 OSINT Techniques
5-10 Vulnerability Databases
6 Attacks and Exploits
6-1 Exploit Development
6-2 Buffer Overflows
6-3 SQL Injection
6-4 Cross-Site Scripting (XSS)
6-5 Cross-Site Request Forgery (CSRF)
6-6 Command Injection
6-7 Privilege Escalation
6-8 Lateral Movement
6-9 Evasion Techniques
6-10 Exploit Delivery Methods
7 Penetration Testing Process
7-1 Pre-Engagement Activities
7-2 Reconnaissance
7-3 Scanning and Enumeration
7-4 Exploitation
7-5 Post-Exploitation
7-6 Reporting
7-7 Remediation
7-8 Retesting
7-9 Documentation and Evidence Collection
7-10 Communication and Coordination
8 Reporting and Communication
8-1 Report Structure
8-2 Executive Summary
8-3 Technical Findings
8-4 Risk Assessment
8-5 Remediation Recommendations
8-6 Legal and Compliance Considerations
8-7 Presentation Skills
8-8 Communication with Stakeholders
8-9 Documentation Standards
8-10 Continuous Improvement
9 Security and Compliance
9-1 Regulatory Requirements
9-2 Industry Standards
9-3 Compliance Audits
9-4 Data Protection
9-5 Privacy Laws
9-6 Incident Response Planning
9-7 Disaster Recovery Planning
9-8 Business Continuity Planning
9-9 Risk Management
9-10 Security Awareness Training
5.6 Web Application Scanning Explained

5.6 Web Application Scanning Explained

Key Concepts

1. Web Application Scanning

Web Application Scanning involves using automated tools to identify vulnerabilities in web applications. These tools scan for common weaknesses such as SQL injection, cross-site scripting (XSS), and insecure direct object references (IDOR).

Example: A penetration tester might use Burp Suite to scan a web application for vulnerabilities, identifying potential entry points for attackers.

2. Automated vs. Manual Scanning

Automated scanning uses tools to quickly identify known vulnerabilities, while manual scanning involves a human tester manually probing the application for deeper, less obvious issues. Both methods are essential for a comprehensive assessment.

Example: Automated tools like OWASP ZAP can identify common vulnerabilities, while manual testing with Burp Suite can uncover more complex issues like business logic flaws.

3. Vulnerability Scanners

Vulnerability scanners are tools designed to automatically detect security weaknesses in web applications. These scanners can perform tasks such as crawling the application, identifying input fields, and testing for known vulnerabilities.

Example: Nessus and Acunetix are popular vulnerability scanners that can be configured to target web applications, providing detailed reports on identified vulnerabilities.

4. Crawling and Mapping

Crawling and mapping involve navigating through a web application to discover all its pages and functionalities. This process helps in understanding the application's structure and identifying potential attack surfaces.

Example: A penetration tester might use a tool like Burp Suite's Spider to crawl a web application, mapping out all accessible URLs and forms.

5. Fuzzing

Fuzzing is a technique used to discover vulnerabilities by sending malformed or unexpected inputs to the application. This can help identify areas where the application may be vulnerable to crashes, logic errors, or security flaws.

Example: A penetration tester might use a tool like ffuf to fuzz input fields in a web application, looking for potential SQL injection points or other vulnerabilities.

Examples and Analogies

Consider a security audit of a building as an analogy for web application scanning:

1. Web Application Scanning: The auditor inspects the building for structural weaknesses, such as cracks in the walls or faulty electrical wiring, similar to how a penetration tester scans a web application for vulnerabilities.

2. Automated vs. Manual Scanning: The auditor uses automated tools like thermal imaging to quickly identify heat leaks, while manually checking each room for more detailed issues, akin to automated and manual web application scanning.

3. Vulnerability Scanners: The auditor uses specialized tools to detect common issues like fire hazards or water leaks, similar to how vulnerability scanners identify common web application vulnerabilities.

4. Crawling and Mapping: The auditor explores every floor and room to create a detailed map of the building, identifying all accessible areas, similar to crawling and mapping a web application.

5. Fuzzing: The auditor tests the building's systems by applying unusual loads or conditions, such as overloading electrical circuits, to identify weaknesses, similar to fuzzing in web application testing.

By understanding and applying these web application scanning techniques, penetration testers can effectively identify and mitigate vulnerabilities, ensuring a more secure and resilient web application.