Skip to content

feat(modules): add active web-vuln probe modules - #271

Merged
vmfunc merged 2 commits into
vmfunc:mainfrom
TBX3D:feat/web-vuln-modules
Jul 22, 2026
Merged

vmfunc merged 2 commits into
vmfunc:mainfrom
TBX3D:feat/web-vuln-modules

Conversation

@TBX3D

@TBX3D TBX3D commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Five active-probe modules for modules/http: ssti-reflected (arithmetic-eval proof, matches 1787569 = eval of 1337*1337), command-injection (matches id output shape uid=N(...) gid=N(...), not the payload echo), and error-based xpath, nosql, ldap.

Each keys on a transformed response the payload cannot produce by reflection, so a benign echo of the input cannot trigger a finding. Verified with an eval-server vs echo-server pair: eval fires, echo stays silent for every module.

Add five active-probe modules to modules/http: ssti-reflected (arithmetic
eval proof), command-injection (id output, not payload echo), and error-based
xpath, nosql, and ldap injection. Each keys on a transformed response the
payload cannot produce by reflection, so a benign echo cannot trigger it.
@TBX3D
TBX3D requested a review from vmfunc as a code owner July 3, 2026 08:32
@github-actions github-actions Bot added size/l <500 lines changed modules changes to scan modules labels Jul 3, 2026
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

pr summary

5 files changed (+256 -0)

@codecov-commenter

codecov-commenter commented Jul 3, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (main@3a289a3). Learn more about missing BASE report.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #271   +/-   ##
=======================================
  Coverage        ?   54.75%           
=======================================
  Files           ?       81           
  Lines           ?     6874           
  Branches        ?        0           
=======================================
  Hits            ?     3764           
  Misses          ?     2841           
  Partials        ?      269           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

drop top-line comments that just restate the id/name fields already
present in the same file

@vmfunc vmfunc left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consistent with the existing http modules and the executor already handles all of this (paths x payloads, word/regex, or-condition, extractors). the two eval-based ones are the strong ones: command-injection keys on the real uid=N(...) gid=N(...) shape and ssti on the 1787569 product, so a plain echo of the payload can't trip either. good.

one nit, doesn't block: in ldap-injection-error the Protocol error occurred matcher is weak on both ends. openldap emits "Protocol error", not "...occurred", so it probably misses the real signal, and it's generic enough to false-positive on any unrelated protocol error, and since the list is or'd it taints the whole module. drop it or tighten it, the rest carry the module fine.

approving.

@vmfunc
vmfunc merged commit f8f3b8c into vmfunc:main Jul 22, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

modules changes to scan modules size/l <500 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants