Home Cyber Security News T-Reqs – A Tool For HTTP Request Smuggling (HRS) attacks

T-Reqs – A Tool For HTTP Request Smuggling (HRS) attacks

by Abeerah Hashim
OSS-Fuzz detects Log4j bug

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.

Let us know your thoughts in the comments.

You may also like

Latest Hacking News

Privacy Preference Center


The __cfduid cookie is used to identify individual clients behind a shared IP address and apply security settings on a per-client basis.

cookie_notice_accepted and gdpr[allowed_cookies] are used to identify the choices made from the user regarding cookie consent.

For example, if a visitor is in a coffee shop where there may be several infected machines, but the specific visitor's machine is trusted (for example, because they completed a challenge within your Challenge Passage period), the cookie allows Cloudflare to identify that client and not challenge them again. It does not correspond to any user ID in your web application, and does not store any personally identifiable information.

__cfduid, cookie_notice_accepted, gdpr[allowed_cookies]


DoubleClick by Google refers to the DoubleClick Digital Marketing platform which is a separate division within Google. This is Google’s most advanced advertising tools set, which includes five interconnected platform components.

DoubleClick Campaign Manager: the ad-serving platform, called an Ad Server, that delivers ads to your customers and measures all online advertising, even across screens and channels.

DoubleClick Bid Manager – the programmatic bidding platform for bidding on high-quality ad inventory from more than 47 ad marketplaces including Google Display Network.

DoubleClick Ad Exchange: the world’s largest ad marketplace for purchasing display, video, mobile, Search and even Facebook inventory.

DoubleClick Search: is more powerful than AdWords and used for purchasing search ads across Google, Yahoo, and Bing.

DoubleClick Creative Solutions: for designing, delivering and measuring rich media (video) ads, interactive and expandable ads.



The _ga is asssociated with Google Universal Analytics - which is a significant update to Google's more commonly used analytics service. This cookie is used to distinguish unique users by assigning a randomly generated number as a client identifier. It is included in each page request in a site and used to calculate visitor, session and campaign data for the sites analytics reports. By default it is set to expire after 2 years, although this is customisable by website owners.

The _gat global object is used to create and retrieve tracker objects, from which all other methods are invoked. Therefore the methods in this list should be run only off a tracker object created using the _gat global variable. All other methods should be called using the _gaq global object for asynchronous tracking.

_gid works as a user navigates between web pages, they can use the gtag.js tagging library to record information about the page the user has seen (for example, the page's URL) in Google Analytics. The gtag.js tagging library uses HTTP Cookies to "remember" the user's previous interactions with the web pages.

_ga, _gat, _gid