Commit graph

1037 commits

Author SHA1 Message Date
Miroslav Štampar
8eacffa226 Fix for --crawl dropping GET links having same parameter names as POST forms 2026-11-12 16:25:57 +01:00
Miroslav Štampar
563066e4f5 Fix for --common-tables/--common-columns false positive on oracle string words 2026-11-12 14:56:44 +01:00
Piyush satyarthi
cb5216564a
Close leaked sqlite3 connections (ResourceWarning on Python 3.13+) (#6181)
Python 3.13+ reports sqlite3 connections that are garbage collected
without being closed. The unit tests print a run of
"ResourceWarning: unclosed database" lines on Linux/CPython 3.14:

- SQLAlchemy.close() only returned its connection to the engine's
  pool, so the underlying DBAPI connection (e.g. sqlite3 for
  '-d sqlite://...') stayed open. Dispose the engine on close.
- vulnTest() used "with sqlite3.connect(...)", which commits but does
  not close the connection. Use contextlib.closing().
- test_multibit and test_sqlalchemy never closed what they opened.

Co-authored-by: PiyushSatyarthi <244159432+PiyushSatyarthi@users.noreply.github.com>
2026-11-12 09:46:10 +01:00
Miroslav Štampar
eca9ff2e13 Fixes #6180
Some checks failed
/ build (macos-latest, 3.8) (push) Has been cancelled
/ build (ubuntu-latest, pypy-2.7) (push) Has been cancelled
/ build (windows-latest, 3.14) (push) Has been cancelled
2026-11-10 15:10:16 +01:00
Miroslav Štampar
c15f4bf055 Fixes #6168
Some checks failed
/ build (macos-latest, 3.8) (push) Has been cancelled
/ build (ubuntu-latest, pypy-2.7) (push) Has been cancelled
/ build (windows-latest, 3.14) (push) Has been cancelled
2026-11-02 11:13:40 +01:00
Miroslav Štampar
5b8a2faab1 Doing some cleaning for web search requests
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-10-21 12:10:18 +02:00
Miroslav Štampar
da21091459 Update regarding the search engines naggings 2026-10-21 11:08:07 +02:00
Raju Ranjan
5e2a6aeec8
fix(search): parse current Bing result links (#6150)
While looking into #6009 I noticed the Bing fallback in -g never
returns anything, even when Bing itself serves a normal results page.

Two things changed on Bing's side. The result anchor now carries
target="_blank" before href, so '<h2><a href="..." h=' no longer
matches at all. And the href is no longer the target URL but a
tracking redirect (https://www.bing.com/ck/a?...&u=a1<base64url>),
where the real link sits base64url-encoded after the "a1" prefix
in the u parameter.

The regex now allows extra attributes on both tags and captures
either the u payload of a ck/a redirect or a plain href. The payload
is decoded with decodeBase64(), which already deals with the
URL-safe alphabet and the missing padding. Plain hrefs still work
the same as before (with &amp; unescaped), in case Bing serves the
old markup to some clients.

Checked against a saved live results page (0 -> 10 links) and the
old markup, and --smoke-test passes. Google still can't be scraped
since it only serves a JS page now, so this doesn't fully close
#6009, but Bing is usable again as a fallback when DuckDuckGo blocks
the IP.
2026-10-21 10:41:33 +02:00
Miroslav Štampar
9a1660aa12 Minor cleaning after #6146
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-10-17 13:06:38 +02:00
Bharath Vemula
0cf2f6db07
Fix REST API multi-target scans returning only the last target's results (#2503) (#6146)
A scan covering multiple targets inside a single API task (crawl,
'-m' bulk file, forms) ran every target through one StdDbOut keyed by
the single taskid, so _storeData()'s COMPLETE branch deleted each
earlier target's TARGET/TECHNIQUES rows - /scan/<id>/data returned
only the last target's results.

Mirror the --report-json fix for #6123: controller.start() now sets
kb.reportTaskId per target for API scans too, StdDbOut.write() keys
data rows '<taskid>-<n>' per target, and scan_data() folds the
per-target rows back into the task's flat result in target order.
Single-target scans keep the exact same response shape.

Regression tests in tests/test_api.py (TestStdDbOutMultiTarget,
TestScanDataMultiTarget).
2026-10-17 13:02:34 +02:00
Miroslav Štampar
5b180533c1 Fixes #6143
Some checks failed
/ build (macos-latest, 3.8) (push) Has been cancelled
/ build (ubuntu-latest, pypy-2.7) (push) Has been cancelled
/ build (windows-latest, 3.14) (push) Has been cancelled
2026-10-11 21:20:29 +02:00
Miroslav Štampar
2171eb123c Fixes CI/CD issues
Some checks failed
/ build (macos-latest, 3.8) (push) Has been cancelled
/ build (ubuntu-latest, pypy-2.7) (push) Has been cancelled
/ build (windows-latest, 3.14) (push) Has been cancelled
2026-09-20 12:05:29 +02:00
Miroslav Štampar
31005fe4df Fixing an TypeError issue with a crypto.crypt() 2026-09-20 11:59:21 +02:00
Miroslav Štampar
bda62dcf28 Fixes #6123 2026-09-18 00:41:57 +02:00
Ramachandran Thamarai Semmenian
3b8a8d3d09
Do not crash on a JWT with a non-base64url signature (fixes #6101) (#6102)
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
JWT_REGEX accepts a signature segment of any length and parseJWT only
validates the header/payload, so a value that matches the JWT pattern but
carries a malformed/truncated signature (e.g. 41 base64url characters,
which is length % 4 == 1 and thus impossible base64) reached crackHMAC.
There decodeBase64(signature) let binascii.Error propagate, aborting the
whole run with an unhandled exception during checkJWT().

Guard the signature decode: a signature that is not valid base64url cannot
be an HMAC we could verify, so crackHMAC now treats it as not crackable
(returns None) instead of raising. The other auditJWT findings are
unaffected. Added a regression doctest.

Co-authored-by: chan770 <tsramachandran770@gmail.com>
2026-09-01 10:24:58 +02:00
Miroslav Štampar
0ee19bdf3d Minor patch 2026-08-22 23:02:58 +02:00
Miroslav Štampar
76ddd7a1b9 Fixes #6097 2026-08-16 23:52:22 +02:00
Miroslav Štampar
7d2c33cd32 Minor patch 2026-08-08 01:07:07 +02:00
Miroslav Štampar
6acc970801 Improved mechanism for --proof 2026-08-07 17:04:32 +02:00
Miroslav Štampar
96fec6864e Minor patch 2026-08-04 22:46:04 +02:00
Miroslav Štampar
cb8298d55a Couple of trivial bug fixes 2026-08-04 17:02:57 +02:00
Miroslav Štampar
ac313f009e Minor patch 2026-07-29 14:30:50 +02:00
Miroslav Štampar
3a680be4eb Minor patches 2026-07-29 08:20:08 +02:00
Miroslav Štampar
e75d75dbe6 Adding a minor comment
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-07-28 21:58:51 +02:00
Miroslav Štampar
0a6dbd260f Fixing --openapi-only config file rejection and HAR export header-name casing 2026-07-28 21:27:58 +02:00
Miroslav Štampar
356984929f Fixing --common-columns for -T A,B 2026-07-28 16:42:37 +02:00
Miroslav Štampar
84f0ef8232 Minor corrected patch for MsSQL hash cracking 2026-07-28 13:18:07 +02:00
Miroslav Štampar
154adb1d4d Fixing keyset dump for some cases 2026-07-28 12:19:42 +02:00
Miroslav Štampar
edbfca0b8e Adding switch --jwt
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-07-25 22:40:12 +02:00
Miroslav Štampar
b2f98b61ec Improved crawling
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-07-25 19:10:58 +02:00
Miroslav Štampar
5a5aebfc6e Hardening Brotli/Zstandard decoding against hostile input
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-07-25 09:59:53 +02:00
Miroslav Štampar
a4c983ae06 Adding native Brotli (br) and Zstandard (zstd) response decoding
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-07-25 00:42:27 +02:00
Miroslav Štampar
075d009bb7 Adding switch --mine-params 2026-07-24 14:27:05 +02:00
Miroslav Štampar
36ebce6935 Tons of stabilization of non-SQLi techniques 2026-07-23 12:15:45 +02:00
Miroslav Štampar
1db09d5a98 Improved --gui 2026-07-19 16:31:08 +02:00
Miroslav Štampar
267c20048d Minor patch 2026-07-19 14:46:23 +02:00
Miroslav Štampar
d08e992ad6 Minor patch 2026-07-19 13:17:07 +02:00
Miroslav Štampar
fabe4ce04d Minor fix 2026-07-19 12:22:23 +02:00
Miroslav Štampar
384ee1a91a Minor patch 2026-07-19 11:15:32 +02:00
Miroslav Štampar
ab6ce22593 Add experimental gRPC-Web (text) support 2026-07-17 23:38:34 +02:00
Miroslav Štampar
76b75e95f0 Improving dialect checks 2026-07-17 14:46:52 +02:00
Miroslav Štampar
da07c8756d Minor improvement for slow hash cracking algos
Some checks failed
/ build (macos-latest, 3.8) (push) Has been cancelled
/ build (ubuntu-latest, pypy-2.7) (push) Has been cancelled
/ build (windows-latest, 3.14) (push) Has been cancelled
2026-07-13 09:03:03 +02:00
Miroslav Štampar
0338c13063 Minor update for SQLlinter
Some checks are pending
/ build (macos-latest, 3.8) (push) Waiting to run
/ build (ubuntu-latest, pypy-2.7) (push) Waiting to run
/ build (windows-latest, 3.14) (push) Waiting to run
2026-07-12 20:27:37 +02:00
Miroslav Štampar
921870ccf0 Adding embedded dbwire library 2026-07-12 10:32:57 +02:00
Miroslav Štampar
e23a91f6db Some more patches for -d 2026-07-11 15:51:04 +02:00
Miroslav Štampar
ab59a4b72a Minor patches 2026-07-11 15:18:42 +02:00
Miroslav Štampar
97c8b45ccc Minor patches 2026-07-11 14:52:55 +02:00
Miroslav Štampar
40ccd801dc Fixing desync error from SLOW_ORDER_COUNT_THRESHOLD 2026-07-11 09:09:08 +02:00
Miroslav Štampar
52c742458b Adding support for Oracle 12C password hashes 2026-07-10 16:23:19 +02:00
Miroslav Štampar
fc1ae6950e Adding native websocket support 2026-07-09 13:56:40 +02:00