Skip to content

Commit

Permalink
🐛 WFuzz: Add additional severity mappings (#9486)
Browse files Browse the repository at this point in the history
* 🐛 fix wfuzz, issue #7863

* add 302

* update docs
  • Loading branch information
manuel-sommer authored Feb 6, 2024
1 parent 3072d87 commit e76c968
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 2 deletions.
2 changes: 2 additions & 0 deletions docs/content/en/integrations/parsers/file/wfuzz.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ The return code matching are directly put in Severity as follow(this is hardcode
HTTP Return Code | Severity
-----------------|---------
200 | High
302 | Low
401 | Medium
403 | Medium
404 | Medium
407 | Medium
500 | Low

Expand Down
6 changes: 4 additions & 2 deletions dojo/tools/wfuzz/parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@ class WFuzzParser(object):
# table to match HTTP error code and severity
SEVERITY = {
"200": "High",
"500": "Low",
"302": "Low",
"401": "Medium",
"407": "Medium",
"403": "Medium",
"404": "Medium",
"407": "Medium",
"500": "Low"
}

def get_scan_types(self):
Expand Down
14 changes: 14 additions & 0 deletions unittests/scans/wfuzz/issue_7863.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[
{
"chars": 2823,
"code": 404,
"payload": "/server-status | GET /server-status HTTP/1.1\nContent-Type: application/x-www-form-urlencoded\nUser-Agent: Wfuzz/3.1.0\nHost: example.com\n\n",
"lines": 0,
"location": "",
"method": "GET",
"post_data": [],
"server": "",
"url": "https://example.com/server-status",
"words": 60
}
]
10 changes: 10 additions & 0 deletions unittests/tools/test_wfuzz_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,13 @@ def test_one_dup_finding(self):
for endpoint in finding.unsaved_endpoints:
endpoint.clean()
self.assertEqual(4, len(findings))

def test_issue_7863(self):
testfile = open("unittests/scans/wfuzz/issue_7863.json")
parser = WFuzzParser()
findings = parser.get_findings(testfile, Test())
for finding in findings:
for endpoint in finding.unsaved_endpoints:
endpoint.clean()
self.assertEqual(1, len(findings))
self.assertEqual("Medium", findings[0].severity)

0 comments on commit e76c968

Please sign in to comment.