A team of academic researchers have developed a new HTTP fuzzing tool called â€˜T-Reqsâ€™. This tool employs deferential fuzzing to spot vulnerabilities. The researchers believe T-Reqs can significantly help the security community in identifying potential HTTP Request Smuggling triggers.
T-Reqs Fuzzing Tool
Researchers have proposed a new fuzzing tool to contain HTTP Request Smuggling (HRS) attacks. While HRS isnâ€™t new (first appeared in 2005), it is gaining traction as more vulnerabilities surface online, leading to real-life exploits.
Specifically, HRS exploits HTTP processing differences by two servers. As the researchers described,
HRS stems from a discrepancy between the HTTP processing behaviors of two servers that process the same request on the traffic path. These servers could be any technology that intercepts, parses, interprets, or forwards the request, including CDNs, stand-alone proxies, web caches, load balancers, or security products.
Briefly, attackers abuse HRS to â€œsmuggle hidden requests through the proxyâ€. Thatâ€™s what the researchersâ€™ new tool â€œT-Reqsâ€ addresses.
In short, T-Reqs (Two-Requests) tool employs differential fuzzing (in simple words, a technique that provides the same input to multiple similar apps to then assess the differences in the execution) to find HRS vulnerabilities. The researchers have built it over context-free grammar (CFG) to generate HTTP requests to test all relevant components of target servers. After sending the same input, assessing the discrepancies in the responses can help identify bugs potentially triggering HRS attacks.
T-Reqs isnâ€™t the first tool in this context. Numerous other tools already exist to test sites for HRS bugs. However, T-Reqs works differently. While the other tools like the Burp Suite extension HTTP Request Smuggler help in penetration testing, T-Reqs doesnâ€™t work on live websites. Instead it typically works in a lab setup to detect novel HRS bugs (instead of the known ones).
T-Reqs tests pairwise combinations of HTTP processors in a lab environment, and exercises each component individually, in a greybox manner. It is designed to discover novel HRS vectors, as opposed to testing a real-life deployment for known attacks.
Hence, in real-world applications, this tool can work on top of the existing pen-testing tools. T-Reqsâ€™ findings can make the other tools assess target systems based on the newly discovered bugs too.
The researchers have shared the details about their study and T-Reqs in a white paper. Whereas the tool is available for the public on GitHub.