Performing Directory Traversal Testing
Overview
Cybersecurity skill for performing directory traversal testing. Follows industry best practices and security standards.
When to Use
Trigger phrases:
"performing directory traversal testing"
"Testing web applications for path traversal vulnerabilities that allow reading o"
During authorized penetration tests when the application handles file paths in URL parameters or request bodies
When testing file download, file view, or file include functionality
For assessing Local File Inclusion (LFI) and Remote File Inclusion (RFI) vulnerabilities
When evaluating template engines, logging systems, or report generators that reference files
During security assessments of APIs that accept file names or paths as parameters
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- Authorization: Written penetration testing agreement for the target
- Burp Suite Professional: For intercepting and modifying file path parameters
- ffuf: For fuzzing file path parameters with traversal payloads
- dotdotpwn: Automated directory traversal fuzzer (
apt install dotdotpwn)
- SecLists: Traversal payload wordlists from Daniel Miessler's collection
- curl: For manual testing of traversal payloads
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Plan Operations — Define objectives, scope, and success criteria for directory traversal testing operations.
- Prepare Environment — Set up tools, access, and data sources required for directory traversal testing.
- Execute Core Workflow — Perform the directory traversal testing operations following established procedures.
- Validate Results — Verify that results meet quality standards and objectives.
- Report Findings — Document results, observations, and recommendations.
- Follow Up — Track remediation actions and verify fixes where applicable.
Tools
- Analysis Platform — Data processing and visualization
- Collaboration Tools — Team coordination and knowledge sharing
Process
- Design — Define interface, identify patterns, plan implementation
- Implement — Write code following existing conventions, add tests
- Verify — Run tests, check integration, validate behavior
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: performing-directory-traversal-testing3description: Use when testing web applications for path traversal vulnerabilities that allow reading or writing arbitrary files on the server by manipulating file path parameters. Use when working with performing directory traversal testing.4license: Apache-2.05---67# Performing Directory Traversal Testing89## Overview1011Cybersecurity skill for performing directory traversal testing. Follows industry best practices and security standards.1213## When to Use14**Trigger phrases:**15- "performing directory traversal testing"16- "Testing web applications for path traversal vulnerabilities that allow reading o"171819- During authorized penetration tests when the application handles file paths in URL parameters or request bodies20- When testing file download, file view, or file include functionality21- For assessing Local File Inclusion (LFI) and Remote File Inclusion (RFI) vulnerabilities22- When evaluating template engines, logging systems, or report generators that reference files23- During security assessments of APIs that accept file names or paths as parameters242526## When NOT to Use2728- When you lack proper authorization for testing29- For production systems without change management30- When the task requires legal or compliance expertise beyond technical scope313233## Prerequisites3435- **Authorization**: Written penetration testing agreement for the target36- **Burp Suite Professional**: For intercepting and modifying file path parameters37- **ffuf**: For fuzzing file path parameters with traversal payloads38- **dotdotpwn**: Automated directory traversal fuzzer (`apt install dotdotpwn`)39- **SecLists**: Traversal payload wordlists from Daniel Miessler's collection40- **curl**: For manual testing of traversal payloads4142## Workflow4344```python45# Example: IOC detection46import re4748IOC_PATTERNS = {49 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",50 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",51 "hash_md5": r"\b[a-f0-9]{32}\b",52 "hash_sha256": r"\b[a-f0-9]{64}\b",53}5455def extract_iocs(text: str) -> dict:56 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}57```58591. **Plan Operations** — Define objectives, scope, and success criteria for directory traversal testing operations.602. **Prepare Environment** — Set up tools, access, and data sources required for directory traversal testing.613. **Execute Core Workflow** — Perform the directory traversal testing operations following established procedures.624. **Validate Results** — Verify that results meet quality standards and objectives.635. **Report Findings** — Document results, observations, and recommendations.646. **Follow Up** — Track remediation actions and verify fixes where applicable.6566## Tools6768- **Analysis Platform** — Data processing and visualization69- **Collaboration Tools** — Team coordination and knowledge sharing707172## Process73741. **Design** — Define interface, identify patterns, plan implementation751. **Implement** — Write code following existing conventions, add tests761. **Verify** — Run tests, check integration, validate behavior7778## Verification7980- [ ] All directory traversal testing procedures executed completely and documented81- [ ] Findings validated against multiple data sources82- [ ] False positives identified and filtered83- [ ] Results documented with evidence and timestamps84- [ ] Recommendations provided with risk-based prioritization8586## Anti-Rationalization Table8788| Rationalization | Reality |89|---|---|90| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |91| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |92| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |