diff --git a/scanners/nuclei/examples/bodgeit/findings.yaml b/scanners/nuclei/examples/bodgeit/findings.yaml
new file mode 100644
index 0000000000..126b220961
--- /dev/null
+++ b/scanners/nuclei/examples/bodgeit/findings.yaml
@@ -0,0 +1,912 @@
+[
+ {
+ "name": "Tomcat exposed docs",
+ "description": "The name of the nuclei rule which triggered the finding: tomcat-exposed-docs",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "tomcat-exposed-docs",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["version", "tomcat", "docs"],
+ "reference": null,
+ "author": ["podalirius"],
+ "metadata": {"shodan-query": 'title:"Apache Tomcat"'},
+ "timestamp": "2022-10-27T13:54:59.4860876Z",
+ "matcher_status": true,
+ "matcher_name": "word-1",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080/docs/",
+ "matched_line": null,
+ "extracted_results": ["Version 8.5.28,"],
+ "template_id": "tomcat-exposed-docs",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/docs/'",
+ },
+ "id": "637855f7-2ed8-461a-8a17-d7bd13b180cd",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "Tomcat exposed docs",
+ "description": "The name of the nuclei rule which triggered the finding: tomcat-exposed-docs",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "tomcat-exposed-docs",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["version", "tomcat", "docs"],
+ "reference": null,
+ "author": ["podalirius"],
+ "metadata": {"shodan-query": 'title:"Apache Tomcat"'},
+ "timestamp": "2022-10-27T13:54:59.4868304Z",
+ "matcher_status": true,
+ "matcher_name": "status-2",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080/docs/",
+ "matched_line": null,
+ "extracted_results": ["Version 8.5.28,"],
+ "template_id": "tomcat-exposed-docs",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/docs/'",
+ },
+ "id": "941c4e23-09af-47d5-9fce-1e8c3d03ec4f",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.378229Z",
+ "matcher_status": true,
+ "matcher_name": "x-permitted-cross-domain-policies",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "dd4b218f-6f4a-43fe-8a85-8dc12b5cb8dd",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.378293Z",
+ "matcher_status": true,
+ "matcher_name": "cross-origin-embedder-policy",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "db64bc3c-56b5-4a7e-9fb3-c3ac7b6b9a67",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.378309Z",
+ "matcher_status": true,
+ "matcher_name": "cross-origin-resource-policy",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "0670fe8e-49a1-4c40-87c8-a4ae115511d1",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3783303Z",
+ "matcher_status": true,
+ "matcher_name": "x-frame-options",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "66a3ea60-4fea-41b6-8271-2d2268f33110",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3783413Z",
+ "matcher_status": true,
+ "matcher_name": "access-control-max-age",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "9a5e225a-2f8e-4bca-b750-36377753aeb3",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3783523Z",
+ "matcher_status": true,
+ "matcher_name": "access-control-allow-headers",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "a6a0e86e-eff5-4f98-9097-b3ec990a6398",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3783622Z",
+ "matcher_status": true,
+ "matcher_name": "cross-origin-opener-policy",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "5ab5bdad-6ffd-4a99-9ad1-677e82bdb49d",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3783721Z",
+ "matcher_status": true,
+ "matcher_name": "referrer-policy",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "36a3a3a6-4ec5-4b36-b475-62c0f45d2f37",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3783848Z",
+ "matcher_status": true,
+ "matcher_name": "clear-site-data",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "da515b61-b663-4379-a33b-97eb0178e64c",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.378396Z",
+ "matcher_status": true,
+ "matcher_name": "access-control-allow-credentials",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "6fee0217-b6a0-46ee-bb54-8b183a265f29",
+ "parsed_at": "2022-10-27T13:56:06.629Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3784059Z",
+ "matcher_status": true,
+ "matcher_name": "access-control-expose-headers",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "f68a8766-84c4-4994-a713-f1961913fdad",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3784156Z",
+ "matcher_status": true,
+ "matcher_name": "access-control-allow-methods",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "297c6bcf-09f8-493a-ae4b-55cdc86e92f1",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3784275Z",
+ "matcher_status": true,
+ "matcher_name": "strict-transport-security",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "1302b6e3-eebe-4c8e-b4bf-be32d777cf1e",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3784379Z",
+ "matcher_status": true,
+ "matcher_name": "permissions-policy",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "5cb55011-cc1f-4dff-a906-a3b49437e15c",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3784474Z",
+ "matcher_status": true,
+ "matcher_name": "x-content-type-options",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "60120221-932b-49fe-974f-58aa936e969e",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3784568Z",
+ "matcher_status": true,
+ "matcher_name": "access-control-allow-origin",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "65e1511a-cdbf-4eca-85f2-4fac1c51b5bf",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "HTTP Missing Security Headers",
+ "description": "This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "http-missing-security-headers",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["misconfig", "generic"],
+ "reference": null,
+ "author":
+ [
+ "socketz",
+ "geeknik",
+ "g4l1t0",
+ "convisoappsec",
+ "kurohost",
+ "dawid-czarnecki",
+ "forgedhallpass",
+ ],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:01.3785289Z",
+ "matcher_status": true,
+ "matcher_name": "content-security-policy",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "http-missing-security-headers",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "8dbfc6ea-f4d6-4726-bdfc-8f277d7592a5",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "Detect Tomcat Exposed Scripts",
+ "description": "The name of the nuclei rule which triggered the finding: tomcat-scripts",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "tomcat-scripts",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["apache", "tomcat"],
+ "reference": null,
+ "author": ["co0nan"],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:09.7199733Z",
+ "matcher_status": true,
+ "matcher_name": "word-1",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080/examples/jsp/index.html",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "tomcat-scripts",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/examples/jsp/index.html'",
+ },
+ "id": "eaafd41c-635d-4485-980d-0db20fb64e4e",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "Detect Tomcat Exposed Scripts",
+ "description": "The name of the nuclei rule which triggered the finding: tomcat-scripts",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "tomcat-scripts",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["apache", "tomcat"],
+ "reference": null,
+ "author": ["co0nan"],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:09.7694196Z",
+ "matcher_status": true,
+ "matcher_name": "word-1",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080/examples/websocket/index.xhtml",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "tomcat-scripts",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/examples/websocket/index.xhtml'",
+ },
+ "id": "d6dd4a0d-ee2d-4838-82a0-a8b5cf4d2f99",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "Tomcat Detection",
+ "description": "If an Tomcat instance is deployed on the target URL, when we send a request for a non existent resource we receive a Tomcat error page with version.",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "tomcat-detect",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["tech", "tomcat", "apache"],
+ "reference": null,
+ "author": ["philippedelteil", "dhiyaneshdk"],
+ "metadata": {"shodan-query": 'title:"Apache Tomcat"'},
+ "timestamp": "2022-10-27T13:55:20.4066623Z",
+ "matcher_status": true,
+ "matcher_name": "dsl-2",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "matched_line": null,
+ "extracted_results": ["8.5.28"],
+ "template_id": "tomcat-detect",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'",
+ },
+ "id": "657bb944-16cb-4758-aa0e-b4a7b23cf203",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "WAF Detection",
+ "description": "A web application firewall was detected.",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "waf-detect",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["waf", "tech", "misc"],
+ "reference": ["https://github.com/ekultek/whatwaf"],
+ "author": ["dwisiswant0", "lu4nx"],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:27.598078Z",
+ "matcher_status": true,
+ "matcher_name": "ats",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080/",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "waf-detect",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'POST' -d '_=' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Host: bodgeit.demo-targets.svc.cluster.local:8080' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/'",
+ },
+ "id": "b5dc79cc-821d-44db-927c-6a1e04e65b01",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "WAF Detection",
+ "description": "A web application firewall was detected.",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "waf-detect",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["waf", "tech", "misc"],
+ "reference": ["https://github.com/ekultek/whatwaf"],
+ "author": ["dwisiswant0", "lu4nx"],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:27.5981729Z",
+ "matcher_status": true,
+ "matcher_name": "apachegeneric",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080/",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "waf-detect",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'POST' -d '_=' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Host: bodgeit.demo-targets.svc.cluster.local:8080' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/'",
+ },
+ "id": "963b131e-db97-4a77-9cae-0bde147a8f78",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+ {
+ "name": "favicon-detection",
+ "description": "The name of the nuclei rule which triggered the finding: favicon-detection",
+ "location": "http://bodgeit.demo-targets.svc.cluster.local:8080",
+ "severity": "INFORMATIONAL",
+ "category": "favicon-detection",
+ "attributes":
+ {
+ "ip": "10.96.163.66",
+ "type": "http",
+ "hostname": "bodgeit.demo-targets.svc.cluster.local",
+ "path": null,
+ "tags": ["tech", "favicon"],
+ "reference":
+ [
+ "https://twitter.com/brsn76945860/status/1171233054951501824",
+ "https://gist.github.com/yehgdotnet/b9dfc618108d2f05845c4d8e28c5fc6a",
+ "https://medium.com/@asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139",
+ "https://github.com/devanshbatham/favfreak",
+ "https://github.com/sansatart/scrapts/blob/master/shodan-favicon-hashes.csv",
+ ],
+ "author": ["un-fmunozs"],
+ "metadata": null,
+ "timestamp": "2022-10-27T13:55:36.0046322Z",
+ "matcher_status": true,
+ "matcher_name": "apache-tomcat",
+ "matched_at": "http://bodgeit.demo-targets.svc.cluster.local:8080/favicon.ico",
+ "matched_line": null,
+ "extracted_results": null,
+ "template_id": "favicon-detection",
+ "request": null,
+ "response": null,
+ "curl_command": "curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/favicon.ico'",
+ },
+ "id": "a3e72f63-3535-4104-88fb-728971ff4cd9",
+ "parsed_at": "2022-10-27T13:56:06.630Z",
+ },
+]
diff --git a/scanners/nuclei/examples/bodgeit/nuclei-results.jsonl b/scanners/nuclei/examples/bodgeit/nuclei-results.jsonl
new file mode 100644
index 0000000000..1edd054a05
--- /dev/null
+++ b/scanners/nuclei/examples/bodgeit/nuclei-results.jsonl
@@ -0,0 +1,25 @@
+{"template-id":"tomcat-exposed-docs","info":{"name":"Tomcat exposed docs","author":["podalirius"],"tags":["version","tomcat","docs"],"reference":null,"severity":"info","metadata":{"shodan-query":"title:\"Apache Tomcat\""}},"matcher-name":"word-1","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080/docs/","extracted-results":["Version 8.5.28,"],"ip":"10.96.163.66","timestamp":"2022-10-27T13:54:59.4860876Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/docs/'","matcher-status":true,"matched-line":null}
+{"template-id":"tomcat-exposed-docs","info":{"name":"Tomcat exposed docs","author":["podalirius"],"tags":["version","tomcat","docs"],"reference":null,"severity":"info","metadata":{"shodan-query":"title:\"Apache Tomcat\""}},"matcher-name":"status-2","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080/docs/","extracted-results":["Version 8.5.28,"],"ip":"10.96.163.66","timestamp":"2022-10-27T13:54:59.4868304Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/docs/'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"x-permitted-cross-domain-policies","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.378229Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"cross-origin-embedder-policy","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.378293Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"cross-origin-resource-policy","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.378309Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"x-frame-options","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3783303Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"access-control-max-age","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3783413Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"access-control-allow-headers","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3783523Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"cross-origin-opener-policy","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3783622Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"referrer-policy","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3783721Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"clear-site-data","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3783848Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"access-control-allow-credentials","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.378396Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"access-control-expose-headers","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3784059Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"access-control-allow-methods","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3784156Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"strict-transport-security","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3784275Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"permissions-policy","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3784379Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"x-content-type-options","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3784474Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"access-control-allow-origin","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3784568Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"http-missing-security-headers","info":{"name":"HTTP Missing Security Headers","author":["socketz","geeknik","g4l1t0","convisoappsec","kurohost","dawid-czarnecki","forgedhallpass"],"tags":["misconfig","generic"],"description":"This template searches for missing HTTP security headers. The impact of these missing headers can vary.\n","reference":null,"severity":"info"},"matcher-name":"content-security-policy","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:01.3785289Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"tomcat-scripts","info":{"name":"Detect Tomcat Exposed Scripts","author":["co0nan"],"tags":["apache","tomcat"],"reference":null,"severity":"info"},"matcher-name":"word-1","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080/examples/jsp/index.html","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:09.7199733Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.67 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/examples/jsp/index.html'","matcher-status":true,"matched-line":null}
+{"template-id":"tomcat-scripts","info":{"name":"Detect Tomcat Exposed Scripts","author":["co0nan"],"tags":["apache","tomcat"],"reference":null,"severity":"info"},"matcher-name":"word-1","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080/examples/websocket/index.xhtml","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:09.7694196Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/examples/websocket/index.xhtml'","matcher-status":true,"matched-line":null}
+{"template-id":"tomcat-detect","info":{"name":"Tomcat Detection","author":["philippedelteil","dhiyaneshdk"],"tags":["tech","tomcat","apache"],"description":"If an Tomcat instance is deployed on the target URL, when we send a request for a non existent resource we receive a Tomcat error page with version.","reference":null,"severity":"info","metadata":{"shodan-query":"title:\"Apache Tomcat\""}},"matcher-name":"dsl-2","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080","extracted-results":["8.5.28"],"ip":"10.96.163.66","timestamp":"2022-10-27T13:55:20.4066623Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2117.157 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080'","matcher-status":true,"matched-line":null}
+{"template-id":"waf-detect","info":{"name":"WAF Detection","author":["dwisiswant0","lu4nx"],"tags":["waf","tech","misc"],"description":"A web application firewall was detected.","reference":["https://github.com/ekultek/whatwaf"],"severity":"info","classification":{"cve-id":null,"cwe-id":["cwe-200"]}},"matcher-name":"ats","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080/","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:27.598078Z","curl-command":"curl -X 'POST' -d '_=\u003cscript\u003ealert(1)\u003c/script\u003e' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Host: bodgeit.demo-targets.svc.cluster.local:8080' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/'","matcher-status":true,"matched-line":null}
+{"template-id":"waf-detect","info":{"name":"WAF Detection","author":["dwisiswant0","lu4nx"],"tags":["waf","tech","misc"],"description":"A web application firewall was detected.","reference":["https://github.com/ekultek/whatwaf"],"severity":"info","classification":{"cve-id":null,"cwe-id":["cwe-200"]}},"matcher-name":"apachegeneric","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080/","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:27.5981729Z","curl-command":"curl -X 'POST' -d '_=\u003cscript\u003ealert(1)\u003c/script\u003e' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Host: bodgeit.demo-targets.svc.cluster.local:8080' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.47 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/'","matcher-status":true,"matched-line":null}
+{"template-id":"favicon-detection","info":{"name":"favicon-detection","author":["un-fmunozs"],"tags":["tech","favicon"],"reference":["https://twitter.com/brsn76945860/status/1171233054951501824","https://gist.github.com/yehgdotnet/b9dfc618108d2f05845c4d8e28c5fc6a","https://medium.com/@asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139","https://github.com/devanshbatham/favfreak","https://github.com/sansatart/scrapts/blob/master/shodan-favicon-hashes.csv"],"severity":"info"},"matcher-name":"apache-tomcat","type":"http","host":"http://bodgeit.demo-targets.svc.cluster.local:8080","matched-at":"http://bodgeit.demo-targets.svc.cluster.local:8080/favicon.ico","ip":"10.96.163.66","timestamp":"2022-10-27T13:55:36.0046322Z","curl-command":"curl -X 'GET' -d '' -H 'Accept: */*' -H 'Accept-Language: en' -H 'User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36' 'http://bodgeit.demo-targets.svc.cluster.local:8080/favicon.ico'","matcher-status":true,"matched-line":null}
diff --git a/scanners/nuclei/examples/bodgeit/scan.yaml b/scanners/nuclei/examples/bodgeit/scan.yaml
new file mode 100644
index 0000000000..a2226dd8be
--- /dev/null
+++ b/scanners/nuclei/examples/bodgeit/scan.yaml
@@ -0,0 +1,16 @@
+# SPDX-FileCopyrightText: the secureCodeBox authors
+#
+# SPDX-License-Identifier: Apache-2.0
+
+apiVersion: "execution.securecodebox.io/v1"
+kind: Scan
+metadata:
+ name: "nuclei-bodgeit-scan"
+spec:
+ scanType: "nuclei"
+ parameters:
+ - "-no-interactsh"
+ - "-v"
+ - "-debug"
+ - "-target"
+ - "http://bodgeit.demo-targets.svc.cluster.local:8080"
diff --git a/scanners/nuclei/integration-tests/nuclei.test.js b/scanners/nuclei/integration-tests/nuclei.test.js
index 3738d3e5ed..b1095427eb 100644
--- a/scanners/nuclei/integration-tests/nuclei.test.js
+++ b/scanners/nuclei/integration-tests/nuclei.test.js
@@ -6,27 +6,25 @@ const {scan} = require("../../helpers");
jest.retryTimes(3);
-// test(
-// "Nuclei scan for a vulnerable bodgeit demo target",
-// async () => {
-// const { categories, severities, count } = await scan(
-// "nuclei-juiceshop",
-// "nuclei",
-// ["-no-interactsh", "-u", "http://bodgeit.demo-targets.svc:8080"],
-// 180
-// );
+test(
+ "Nuclei scan for a vulnerable bodgeit demo target",
+ async () => {
+ const { categories, severities, count } = await scan(
+ "nuclei-bodgeit",
+ "nuclei",
+ ["-no-interactsh", "-u", "http://bodgeit.demo-targets.svc.cluster.local:8080"],
+ 180
+ );
-// expect(count).toBeGreaterThanOrEqual(4);
-// // expect(categories["Image Vulnerability"]).toBeGreaterThanOrEqual(10);
-// // expect(categories["NPM Package Vulnerability"]).toBeGreaterThanOrEqual(30);
-// // expect(severities["high"]).toBeGreaterThanOrEqual(20);
-// // expect(severities["medium"]).toBeGreaterThanOrEqual(10);
-// expect(severities["low"]).toBeGreaterThanOrEqual(1);
-// },
-// 3 * 60 * 1000
-// );
+ expect(count).toBeGreaterThanOrEqual(20);
+ expect(severities["informational"]).toBeGreaterThanOrEqual(20);
+ expect(categories["http-missing-security-headers"]).toBeGreaterThanOrEqual(15);
+ expect(categories["tomcat-detect"]).toBe(1);
+ },
+ 3 * 60 * 1000
+);
-test(
+test.skip(
"Nuclei scan for a vulnerable demo target",
async () => {
const { categories, severities, count } = await scan(
@@ -40,4 +38,4 @@ test(
expect(severities["informational"]).toBeGreaterThanOrEqual(1);
},
5 * 60 * 1000
-);
\ No newline at end of file
+);