Conversation

FWIW: It's *very* entertaining to read the nginx source code (full of state machines that try to do minimal work during parsing) and look at what hilarious variants nginx will still recognize as valid HTTP. Often only one letter of a keyword will be checked.
Quote Tweet
Anyone chiding other developers for not using state machines should be first forced to read the nginx source code followed by writing an HTML parser in verilog.
6
137
Replying to
last time i looked at it, it seemed stricter in places than i (as a security engineer trying to write an exploit) would like, which was comforting to me (as a security engineer trying to make sure things are less exploitable)
1
14
Changes from 1.21 mainline branch forbidding spaces and control characters in request, header names and the host header are finally in a stable release with 1.22. Still going to be many years before most deployments have the vulnerabilities fixed since they didn't assign CVEs.