diff --git a/README.md b/README.md index 7310cd12608760e5af77d3c333224a84e60237cf..b32448edbba4ffc5156c526cf6b7df972702375d 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ If neither of these previously mentioned endpoints are available, we can try to * a generic template which will assume that the button is on the home page ("/") and it has the words "log in" or "sign in" on it, and it is a link which will directly select the conformance IdP * this can be further extended to be able to bypass well-known discovery services by performing the selection of conformance IdP on the DS (only applicable if the conformance IdP is going to be in the DS) -* a SP-specific template for SP-specific behavior +* a SP-specific (or SP software-specific) template for SP-specific behavior ## Requirements @@ -135,6 +135,17 @@ where * `<workflow_name>` is either `saml-request-init` for request initiation endpoint or `saml-discovery-response` for discovery response endpoint * `https://sp.example.com/` is the address of a (potential) SP server (only the domain is relevant) +### SP (software)-specific template + +To test a service provider which does not provide the previously mentioned endpoints, +create a copy of `saml-raw-all.yaml` or `saml-headless-all.yaml` and instead of the IdP-initiated login, +perform the SP-specific action. If you need to run Javascript, click a button etc., you might need the headless +version; otherwise the raw version is preferred. + +More information on writing templates for [HTML raw](https://docs.projectdiscovery.io/templates/protocols/http/raw-http) +and [headless](https://docs.projectdiscovery.io/templates/protocols/headless) nuclei protocols is available +in the official documentation. + ## Current limitations * templates are only usable with the conformace IdP