Skip to content
Back to skills

2501 Path Traversal Checklist E420e992

BSecurity

> Derived from ~30 real-world vulnerability cases (WooYun 2010-2016)

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
testingjavaphpbashtestinggitdatabase

Works with

  • cli

Security analysis

B75/100
  • criticalAccesses sensitive system or user directories

Pro shows the line behind each finding and how to fix it

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 2501-path-traversal-checklist_e420e992 --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 2501 Path Traversal Checklist E420e992?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 2501 Path Traversal Checklist E420e992
[![Security: B — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-2501-path-traversal-checklist-e420e992/badge)](https://www.skillsdirectory.com/skills/tools-only-2501-path-traversal-checklist-e420e992)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
# Path Traversal Testing Checklist
> Derived from ~30 real-world vulnerability cases (WooYun 2010-2016)

## High-Risk Parameters to Test
| Parameter | Frequency | Context |
|-----------|-----------|---------|
| `filePath` / `filepath` | High | File download/read endpoints |
| `filename` | High | Download handlers |
| `url` / `urlParam` | Medium | Proxy/fetch endpoints |
| `RelatedPath` | Medium | File management panels |
| `dd` | Medium | Document download links |
| `image` | Low | Image proxy/thumbnail |
| `path`, `name`, `n` | Low | Generic file parameters |
| `FileID`, `FileName` | Low | Attachment download |
| `Accessory` | Low | CMS attachment handlers |
| `hDFile` | Low | Download handlers |
| `tpl` | Low | Template inclusion |
| `bg` | Low | Background/theme loaders |

## Common Attack Patterns
1. **Direct file read** via download endpoints (most common)
2. **Directory listing** through misconfigured web servers
3. **CMS-specific file read** (phpCMS, SiteServer, Yxcms, FineCMS)
4. **Backup file exposure** via predictable paths
5. **Configuration file leak** (database.php, web.xml, web.config)
6. **Null byte injection** to bypass extension checks

## Bypass Techniques
- `../` replaced with empty string? Use `....//` or `..././`
- Extension check? Use null byte: `../../etc/passwd%00.jpg`
- Absolute path blocked? Try relative traversal
- Forward slash filtered? Try backslash on Windows: `..\..\..\`
- URL encoding: `%2e%2e%2f` or double-encode `%252e%252e%252f`
- Browser vs curl: Some traversals only work via raw HTTP (not browser)

## Quick Test Vectors
```
# Basic traversal
../../../etc/passwd
..\..\..\..\windows\win.ini

# Null byte bypass
../../../etc/passwd%00.jpg
../../../etc/passwd%00.png

# Double-encoding
%252e%252e%252f%252e%252e%252fetc/passwd

# Filter bypass (double dots replaced)
....//....//....//etc/passwd
..././..././..././etc/passwd

# Java/Tomcat paths
/WEB-INF/web.xml
/WEB-INF/classes/
/META-INF/MANIFEST.MF

# Windows targets
..\..\..\..\windows\system32\drivers\etc\hosts
```

## High-Value Target Files
| Platform | Files |
|----------|-------|
| Linux | `/etc/passwd`, `/etc/shadow` |
| Windows | `win.ini`, `boot.ini` |
| PHP | `config.php`, `database.php`, `.env` |
| Java | `WEB-INF/web.xml`, `WEB-INF/classes/` |
| .NET | `web.config`, `machine.config` |
| General | `.svn/entries`, `.git/config`, `.bash_history` |

## Testing Methodology
1. Identify all file download/read endpoints
2. Map parameters that accept file paths or names
3. Test basic `../` traversal sequences (3-8 levels deep)
4. Attempt null byte injection for extension bypasses
5. Try encoding variations if basic traversal is filtered
6. Target configuration files for credential extraction
7. Check if directory listing is enabled on web roots
8. Test both GET and POST parameter variants

## Common Root Causes
- `file_get_contents($_GET['path'])` without sanitization
- Download handlers that pass user input directly to filesystem
- Incomplete filtering (replacing `../` once instead of recursively)
- Extension validation via client-side or bypassable checks
- CMS file managers exposing parent directory navigation

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.