How to Hunt Your Web Server Logs for Path-Normalization Evasion
Encoded-path bypasses succeed silently and never trip a firewall counter. A practical hunt through server logs for the probes, web shells, and process activity they leave behind.
Knowledge Base
Showing 24 of 362 guides. Use the numbered pages to browse the complete archive.
Encoded-path bypasses succeed silently and never trip a firewall counter. A practical hunt through server logs for the probes, web shells, and process activity they leave behind.
A WAF rule blocking a vulnerable endpoint buys time, not safety. How to treat virtual patching as a stopgap with an expiry date and build re-triage into your vulnerability program.
A firewall that matches a literal path is defeated by a request spelling the same path differently. How percent-encoding creates a parser mismatch, and why you should normalize before deciding.
Deserialization is safe until the format can name types and call methods. A walk through how attacker-controlled bytes become a gadget chain and then running code, and how to design so they cannot.
A fileless implant leaves nothing for a disk scanner to find. A step-by-step hunt through request logs, process behavior, memory, and downstream activity to catch a webshell that lives only in RAM.
Vendor severity ratings expire. A bug scored low in August can be reclassified and exploited by September. How to build re-triage into a vulnerability program so a changed advisory reopens the ticket.
A JWT verifier that lets the token choose the algorithm, or fails to reject one it does not recognize, will accept a token the attacker wrote. The failure shapes and what a correct verifier does.
An authentication bypass leaves no failed login, only a token that should have been rejected. A step-by-step hunt through gateway, proxy, and identity-provider logs to find it and see what it touched.
An API gateway stores every client's keys, every backend's address and credentials, and the power to redirect traffic. Why it belongs at tier zero and what changes once it is classified that way.
File inclusion only lets an attacker pick which local file runs. This explains the gadget that turns that primitive into attacker-controlled code, and why configuration decides exploitability.
A file-inclusion bug becomes RCE only when the runtime hands it a gadget and a writable path. A layered set of PHP controls that break that chain, ordered by leverage, so a missed patch survives.
Auto-updates protect many sites but fail silently on others and never fire instantly. When exploitation outruns patching, a rehearsed response plan is what closes the gap between fix and deployment.
When an advisory says "only if feature X is configured," version scans are not enough. A nine-step process to turn the condition into config objects, enumerate exposure, and keep the answer current.
Hardening guides focus on the admin login, but exploited edge-device bugs live in the parsers that handle unauthenticated traffic. What a data-plane compromise exposes and which controls help.
An OAuth authorization server holds the signing keys and secrets every application trusts. Why compromise is silent, why it gets misclassified, and what treating it like a domain controller means.
A stolen switch configuration is a map of your network plus every secret it holds. What to rotate, why patching in place is not enough, and how to reflash and rebuild cleanly.
The CVSS attack vector reflects how a vendor expects a product to be deployed, not where its interface actually listens. How Adjacent-rated bugs get exploited at scale and how to re-score them.
Smart managed switches have enterprise attack surface and no patch process. Why vulnerability programs miss them, and how to assign ownership, cadence and exposure controls.
Orchestration engines and internal tools often expose an API with no auth of their own. The reverse-proxy, mutual-TLS and allowlist patterns that add a front door without touching the application.
The Conductor bug was fixed in code two months before mass exploitation, with no advisory to warn anyone. How to inventory what you run and watch the right signals so a silent patch is not your incident.
An embedded language engine is not a security boundary by default. What host access, reflection and process creation let guest code reach, and the deny-everything configuration that actually contains it.
A backdoor plugin that hides from the Plugins screen and lives in mu-plugins will not show up in a casual audit. The log searches, disk comparisons and account checks that find it, step by step.
An edge-platform key reaches every hostname you serve and every site embedding your scripts, and misuse is invisible from the origin. How to inventory, scope, rotate and alert on this class of secret.
A vendor script runs as your page, on every page, and the trust chain behind it runs through the vendor's CDN, DNS and credentials. What CSP and Subresource Integrity cover, and what they cost.