How matchers work whose part area lacking suffix in multiple requests scenario, such as CVE-2021-28169 #12915
-
|
'''yaml ''' For example above CVE-2021-28169,this template will send two requests with different paths, one of paths is '{{BaseURL}}/static?/%2557EB-INF/web.xml', meanwhile another is '{{BaseURL}}/concat?/%2557EB-INF/web.xml'. But matchers are only 1 group with 'and' condition, and in these three matchers no suffix added in part area. I wonder how matchers work in this template. I have two ways of understanding: If response_1 satisfies all three matching conditions simultaneously, or response_2 satisfies all three conditions simultaneously, it will indicate the existence of this vulnerability only under the above two conditions. #2 If response_1 only satisfies one of the three matching conditions, while response_2 satisfies the remaining two matching conditions, it will indicate that this vulnerability also exists. I would like to know which of the two ways of understanding mentioned above is correct. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
In Nuclei, matchers are always applied per-request, not globally across multiple requests. That means your understanding #1 is correct
So matchers are not aggregated across multiple requests — they’re evaluated per-response. If you need “cross-request correlation” behavior, you’d have to use |
Beta Was this translation helpful? Give feedback.
In Nuclei, matchers are always applied per-request, not globally across multiple requests.
That means your understanding #1 is correct
/static?...and/concat?...).andcondition (status = 200, header includesapplication/xml, and body includes both</web-app>andjava.sun.com).