diff --git a/README.md b/README.md index 8481ab875b226871881f03f42f4024b6e7d54b7a..00293cc95f01651ba3e10f952b475d975f50860a 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,33 @@ for testing SAML service providers. ## Requirements -1. install newest version of [Go](https://go.dev/doc/install) -2. install [nuclei](https://docs.projectdiscovery.io/tools/nuclei/install) -3. set up the conformance IdP -4. connect SPs to the conformance IdP (exchange metadata) +### nuclei + +You can run nuclei in multiple ways. The most common ones are directly on your machine (using go) or inside a docker container. + +#### go + +Install newest version of [Go](https://go.dev/doc/install). The version included in your Linux distribution might not be current enough. + +Then install [nuclei](https://docs.projectdiscovery.io/tools/nuclei/install). + +You will run nuclei simply by calling `nuclei` (see below). + +#### docker + +Install [docker](https://docs.docker.com/engine/install/) and make sure that you can call `docker` in your terminal. + +You will run nuclei by executing: + +```sh +docker run --rm -v ./:/app/ projectdiscovery/nuclei # ... +``` + +### conformance IdP + +You need to setup a conformance IdP, with a module developed for SAML signature validation testing. + +Then you need to connect SPs to the conformance IdP (exchange metadata), so that regular SAML authentication works. ## Usage @@ -19,6 +42,13 @@ nuclei -u ACS_URL_HERE -V "ENTITY_ID=ENTITY_ID_HERE" \ -duc -ms -t nuclei-templates/ -nmhe -lna -dka 30 -dt 30 ``` +or using docker: + +```sh +docker run --rm -v ./:/app/ projectdiscovery/nuclei -u ACS_URL_HERE -V "ENTITY_ID=ENTITY_ID_HERE" \ + -duc -ms -t /app/nuclei-templates/ -nmhe -lna -dka 30 -dt 30 +``` + where * `ACS_URL_HERE` is the assertion consumer service endpoint URL