Individual skill
verb-tampering
HTTP verb/method tampering — auth bypass via HEAD/OPTIONS/arbitrary methods, X-HTTP-Method-Override, TRACE/PUT/DELETE exposure, framework routing flaws.
packages/decepticon/decepticon/skills/standard/exploit/web/verb-tampering/SKILL.md
Source commit df879550544d36b6b1e69062f05adae28537adf2
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Not checked yet
- Last checked
- Nov 8, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 6,566
- Repository last updated
- Nov 7, 2026
- License
- Apache-2.0
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent Repository topic
- ai Repository topic
- cybersecurity Repository topic
- hacking Repository topic
- langchain Repository topic
- langgraph Repository topic
- llm Repository topic
- generative-ai Repository topic
- pentesting Repository topic
- pentest Repository topic
- verb-tampering,-method-tampering,-auth-bypass,-bfla Declared skill tag
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
Read excerpt
# HTTP Verb / Method Tampering
Authorization is enforced for `GET`/`POST` but **not** for `HEAD`, `OPTIONS`, `PATCH`, `DELETE`, `PUT`, `TRACE`, `TRACK`, or arbitrary verbs like `FOO`. Or the app respects `X-HTTP-Method-Override` and the WAF/auth filter does not. Or the framework routes any verb to the same handler while only the `POST` ACL rule exists. Severity is High to Critical when it grants admin-only actions or reads protected data.
## 1. Why it works
- Apache/nginx `Limit`/`LimitExcept` rules in `.htaccess` often list only `GET POST`. Any other verb is unrestricted.
- Tomcat / JSP `<security-constraint><http-method>GET</http-method>` only constrains the listed verbs (the famous "Tomcat verb tampering" class — CVE-2017-12615, CVE-2009-3548 family).
- API gateways enforce method-specific policies; the upstream service treats verbs identically.
- Spring `@RequestMapping` without `method=` accepts every verb. `@GetMapping`/`@PostMapping` constrain, but generic mappings do not.
- Express.js `app.all(path, handler)` answers every method.
- Framework method-override middleware (`methodOverride` in Express, Rails `_method=DELETE`, `X-HTTP-Method-Override` in many) lets a `POST` *become* a `DELETE` after auth runs.
- Many WAFs ship rule sets keyed on `GET`/`POST` only.