Templates or Scan Rules are predefined JSON objects to instruct WAYPOINTS to look for security vulnerabilities across your organisation’s or company’s network. In this guide I will go over how you can create your private template.
file:///
protocol seems also to be supported opening up the possibility to read local files.template.metadata.name
) field is used to, well, specify a name for your template. This field is also later used to help identify your template in your vulnerability report and support ticket(s).
In this case, you could set the name to SSRF Check
.
Critical
.
CWE-918 - Server-Side Request Forgery (SSRF)
.
file:///
protocol seems also to be supported opening up the possibility to read local files.SSRF
and private
as I’m building my own collection of private templates as well.
GET
.
Our proof of concept requires us to send a GET
HTTP request, this means that you can leave the option as it is.
/api/documents/document-loader?document_URI=http://localhost:8080
.
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36;;
.
Content-Type
in the request headers field.Condition 1
Condition 2
Internal developer app portal
.This would also confirm that we have access to internal-only resources from outside of the network.AND
to make sure WAYPOINTS matches against every single matcher specified
OR Matcher Operator:
Additionally, you can set it to OR
and flag any host as vulnerable as soon as one condition is met.
In our example, we’d need to set it to AND
. We want to match against the 200 OK status code AND we also want to make sure the keywords are present in the HTTP response.
200 OK
status code, your Matcher Value must be set to 200
.
3XX
or 3**
to match against status codes ranging from 300
to 399
.text/html
.
(application|text)\/xml
.1337
.
>1337
.The same applies to the opposite. Set your Matcher Value to <1337
and it would match any response content length that is less than 1 337.200
and specify an additonal Word matcher that is set to Internal developer app portal
to limit false positives.