Automatic SQL injection and database takeover tool http://sqlmap.org
Find a file
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
.github Fixing CI/CD errors 2026-07-16 18:33:39 +02:00
data Fixes #6151 2026-10-21 10:37:13 +02:00
doc Update of docus 2026-09-02 15:51:19 +02:00
extra Fixes #6109 2026-09-08 22:10:57 +02:00
lib fix(search): parse current Bing result links (#6150) 2026-10-21 10:41:33 +02:00
plugins Adding cross-DBMS security configuration audit (--audit) 2026-10-19 18:34:39 +02:00
tamper Update regarding #6145 2026-10-16 12:15:59 +02:00
tests Fixes #6151 2026-10-21 10:37:13 +02:00
thirdparty Switching from pickle to json for serialization 2026-07-08 12:13:49 +02:00
.gitattributes
.gitignore Update of CHANGELOG progress 2026-08-07 14:55:31 +02:00
LICENSE Year bump 2026-01-01 19:12:07 +01:00
README.md Adding a research link to READMEs 2026-08-16 00:17:28 +02:00
sqlmap.conf Adding cross-DBMS security configuration audit (--audit) 2026-10-19 18:34:39 +02:00
sqlmap.py Fixing broken CI/CD 2026-09-18 14:48:31 +02:00
sqlmapapi.py Renaming REST-JSON API to REST API 2026-06-11 22:44:42 +02:00
sqlmapapi.yaml Minor update of the references 2026-07-03 10:10:29 +02:00

sqlmap

.github/workflows/tests.yml Python 2.7|3.x License x

sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester, and a broad range of switches including database fingerprinting, over data fetching from the database, accessing the underlying file system, and executing commands on the operating system via out-of-band connections.

Screenshots

Screenshot

You can visit the collection of screenshots demonstrating some of the features on the wiki.

Installation

You can download the latest tarball by clicking here or latest zipball by clicking here.

Preferably, you can download sqlmap by cloning the Git repository:

git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev

sqlmap works out of the box with Python version 2.7 and 3.x on any platform.

Usage

To get a list of basic options and switches use:

python sqlmap.py -h

To get a list of all options and switches use:

python sqlmap.py -hh

You can find a sample run here. To get an overview of sqlmap capabilities, a list of supported features, and a description of all options and switches, along with examples, you are advised to consult the user's manual.

Translations