Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [ 'pypy-2.7', '3.12' ]
python-version: [ 'pypy-2.7', '3.13' ]
exclude:
- os: macos-latest
python-version: 'pypy-2.7'
Expand Down
12 changes: 6 additions & 6 deletions data/txt/sha256sums.txt
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ c6be099a5dee34f3a7570715428add2e7419f4e73a7ce9913d3fb76eea78d88e data/udf/postg
9f4ca1ff145cfbe3c3a903a21bf35f6b06ab8b484dad6b7c09e95262bf6bfa05 data/xml/banner/postgresql.xml
86da6e90d9ccf261568eda26a6455da226c19a42cc7cd211e379cab528ec621e data/xml/banner/server.xml
146887f28e3e19861516bca551e050ce81a1b8d6bb69fd342cc1f19a25849328 data/xml/banner/servlet-engine.xml
7973d2024e7803951445a569b591e151edcc322c00213f478dcd9aff23afd226 data/xml/banner/set-cookie.xml
e87c062bdf05b27db6c1d7e0d41c25f269cbe66b1f9b8e2d9b3db0d567016c76 data/xml/banner/set-cookie.xml
a7eb4d1bcbdfd155383dcd35396e2d9dd40c2e89ce9d5a02e63a95a94f0ab4ea data/xml/banner/sharepoint.xml
e2febc92f9686eacf17a0054f175917b783cc6638ca570435a5203b03245fc18 data/xml/banner/x-aspnet-version.xml
75672f8faa8053af0df566a48700f2178075f67c593d916313fcff3474da6f82 data/xml/banner/x-powered-by.xml
Expand All @@ -85,7 +85,7 @@ b0f434f64105bd61ab0f6867b3f681b97fa02b4fb809ac538db382d031f0e609 data/xml/paylo
40a4878669f318568097719d07dc906a19b8520bc742be3583321fc1e8176089 data/xml/payloads/union_query.xml
95b7464b1a7b75e2b462d73c6cca455c13b301f50182a8b2cd6701cdcb80b43e data/xml/queries.xml
abb6261b1c531ad2ee3ada8184c76bcdc38732558d11a8e519f36fcc95325f7e doc/AUTHORS
68550be6eeb800bb54b1b47877412ecc88cf627fb8c88aaee029687152eb3fc1 doc/CHANGELOG.md
2a0322f121cbda30336ab58382e9860fea8ab28ff4726f6f8abf143ce1657abe doc/CHANGELOG.md
2df1f15110f74ce4e52f0e7e4a605e6c7e08fbda243e444f9b60e26dfc5cf09d doc/THANKS.md
f939c6341e3ab16b0bb9d597e4b13856c7d922be27fd8dba3aa976b347771f16 doc/THIRD-PARTY.md
792bcf9bf7ac0696353adaf111ee643f79f1948d9b5761de9c25eb0a81a998c9 doc/translations/README-bg-BG.md
Expand All @@ -112,7 +112,7 @@ c94d5c9ae4e4b996eaf0d06a6c5323a12f22653bb53c5eaf5400ee0bccf4a1eb doc/translatio
0bccce9d2e48e7acc1ef126539a50d3d83c439f94cc6387c1331a9960604a2cd doc/translations/README-uk-UA.md
285c997e8ae7381d765143b5de6721cad598d564fd5f01a921108f285d9603a2 doc/translations/README-vi-VN.md
b553a179c731127a115d68dfb2342602ad8558a42aa123050ba51a08509483f6 doc/translations/README-zh-CN.md
783ddbaa638d2d2987be7aa2e9e9e40aef8c0b7a132db60949e43bc733d01978 extra/beep/beep.py
a438fbd0e9d8fb3d836d095b3bb94522d57db968bb76a9b5cb3ffe1834305a27 extra/beep/beep.py
509276140d23bfc079a6863e0291c4d0077dea6942658a992cbca7904a43fae9 extra/beep/beep.wav
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 extra/beep/__init__.py
3b54434b0d00c8fd12328ef8e567821bd73a796944cb150539aa362803ab46e5 extra/cloak/cloak.py
Expand Down Expand Up @@ -188,7 +188,7 @@ c6a182f6b7d3b0ad6f0888ea2a4de4148f0770549038d7de8bc3267b4c6635f7 lib/core/readl
63ae69713c6ea9abfa10e71dfab8f2dcf42432177a38d2c1e98785bf1468674c lib/core/replication.py
5bad5bc7115051cef7b84efa73fbafbf5e1db46eef32a445056b56cda750b66f lib/core/revision.py
0dcb52c9c76a4b0acf2e9038f7d8f08c14543cef3cf7032831c6c0a99376ad24 lib/core/session.py
39d46d352bde04221a0fb083b55b8e8bddd76e613b5c3684da89d5db456be38c lib/core/settings.py
b341a933732b17cab993efcc7ef211e125f534f8ce127e0ed156c11fe1ea22b3 lib/core/settings.py
a1e4f2860bffc73bbf2e5db293fa49dcb600ea35f950cda43dc953b3160ab3db lib/core/shell.py
841716e87b90a3b598515910841f7cf8d33bb87c24a27fba1a80e36a831cbcd7 lib/core/subprocessng.py
9731092f195e346716929323ea3c93247b23b9b92b0f32d3fd0acc3adf9876cc lib/core/target.py
Expand Down Expand Up @@ -399,7 +399,7 @@ f01e26e641fbfb3c3e7620c9cd87739a9a607fc66c56337ca02cc85479fb5f63 plugins/dbms/m
36e706114f64097e185372aa97420f5267f7e1ccfc03968beda899cd6e32f226 plugins/dbms/mysql/connector.py
96126e474f7c4e5581cabccff3e924c4789c8e2dbc74463ab7503ace08a88a3a plugins/dbms/mysql/enumeration.py
4c6af0e2202a080aa94be399a3d60cab97551ac42aa2bcc95581782f3cabc0c3 plugins/dbms/mysql/filesystem.py
b2c69cfa82d1ea7a5278780d20de6d0c4f1dc0158a809355ed2ffb9afbc74b36 plugins/dbms/mysql/fingerprint.py
997be63891dab617a4abc5312f187c777964c912137a344d80c25a1bafe96e9e plugins/dbms/mysql/fingerprint.py
34dfa460e65be6f775b1d81906c97515a435f3dbadda57f5a928f7b87cefd97d plugins/dbms/mysql/__init__.py
eb59dd2ce04fa676375166549b532e0a5b6cb4c1666b7b2b780446d615aefb07 plugins/dbms/mysql/syntax.py
05e1586c3a32ee8596adb48bec4588888883727b05a367a48adb6b86abea1188 plugins/dbms/mysql/takeover.py
Expand All @@ -413,7 +413,7 @@ d5c9bba081766f14d14e2898d1a041f97961bebac3cf3e891f8942b31c28b47e plugins/dbms/o
c9a8ac9fa836cf6914272b24f434509b49294f2cb177d886622e38baa22f2f15 plugins/dbms/postgresql/connector.py
b086d8ff29282c688772f6672c1132c667a1051a000fc4fcd4ab1068203b0acb plugins/dbms/postgresql/enumeration.py
bb23135008e1616e0eb35719b5f49d4093cc688ad610766fca7b1d627c811dd8 plugins/dbms/postgresql/filesystem.py
ba0eae8047e65dcd23d005e0336653967be9ec4a6df35f4997b006b05a57ea8b plugins/dbms/postgresql/fingerprint.py
7c563983fc644f8af4a5906149d033a79b0a5bc319c3b7809032270a32122038 plugins/dbms/postgresql/fingerprint.py
9912b2031d0dfa35e2f6e71ea24cec35f0129e696334b7335cd36eac39abe23a plugins/dbms/postgresql/__init__.py
1a5d2c3b9bd8b7c14e0b1e810e964f698335f779f1a8407b71366dc5e0ee963c plugins/dbms/postgresql/syntax.py
b9886913baaac83f6b47b060a4785fe75f61db8c8266b4de8ccfaf180938900a plugins/dbms/postgresql/takeover.py
Expand Down
28 changes: 28 additions & 0 deletions data/xml/banner/set-cookie.xml
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,32 @@
<regexp value="\bwp_">
<info technology="WordPress"/>
</regexp>

<regexp value="_session_id">
<info technology="Ruby on Rails"/>
</regexp>

<regexp value="sessionid">
<info technology="Django"/>
</regexp>

<regexp value="connect\.sid">
<info technology="Node.js (Express)"/>
</regexp>

<regexp value="laravel_session">
<info technology="Laravel (PHP)"/>
</regexp>

<regexp value="SESS[a-f0-9]{32}">
<info technology="Drupal"/>
</regexp>

<regexp value="joomla_[a-z0-9]+">
<info technology="Joomla"/>
</regexp>

<regexp value="sails\.sid">
<info technology="Sails.js"/>
</regexp>
</root>
12 changes: 11 additions & 1 deletion doc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# Version 1.7 (2022-01-02)
# Version 1.9 (2025-01-02)

* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.8...1.9)
* [View issues](https://github.com/sqlmapproject/sqlmap/milestone/10?closed=1)

# Version 1.8 (2024-01-03)

* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.7...1.8)
* [View issues](https://github.com/sqlmapproject/sqlmap/milestone/9?closed=1)

# Version 1.7 (2023-01-02)

* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.6...1.7)
* [View issues](https://github.com/sqlmapproject/sqlmap/milestone/8?closed=1)
Expand Down
9 changes: 4 additions & 5 deletions extra/beep/beep.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ def beep():
if sys.platform.startswith("win"):
_win_wav_play(BEEP_WAV_FILENAME)
elif sys.platform.startswith("darwin"):
_mac_beep()
_mac_wav_play(BEEP_WAV_FILENAME)
elif sys.platform.startswith("cygwin"):
_cygwin_beep(BEEP_WAV_FILENAME)
elif any(sys.platform.startswith(_) for _ in ("linux", "freebsd")):
Expand All @@ -40,17 +40,16 @@ def _speaker_beep():
def _cygwin_beep(filename):
os.system("play-sound-file '%s' 2>/dev/null" % filename)

def _mac_beep():
import Carbon.Snd
Carbon.Snd.SysBeep(1)
def _mac_wav_play(filename):
os.system("afplay '%s' 2>/dev/null" % BEEP_WAV_FILENAME)

def _win_wav_play(filename):
import winsound

winsound.PlaySound(filename, winsound.SND_FILENAME)

def _linux_wav_play(filename):
for _ in ("aplay", "paplay", "play"):
for _ in ("paplay", "aplay", "mpv", "mplayer", "play"):
if not os.system("%s '%s' 2>/dev/null" % (_, filename)):
return

Expand Down
4 changes: 2 additions & 2 deletions lib/core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
from thirdparty import six

# sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.9.1.2"
VERSION = "1.9.2.6"
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34}
VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
Expand Down Expand Up @@ -61,7 +61,7 @@
UPPER_RATIO_BOUND = 0.98

# For filling in case of dumb push updates
DUMMY_JUNK = "aiBieg5u"
DUMMY_JUNK = "ouZ0ii8A"

# Markers for special cases when parameter values contain html encoded characters
PARAMETER_AMP_MARKER = "__AMP__"
Expand Down
5 changes: 4 additions & 1 deletion plugins/dbms/mysql/fingerprint.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,13 @@ def _commentCheck(self):
# Reference: https://dev.mysql.com/doc/relnotes/mysql/<major>.<minor>/en/

versions = (
(90100, 90102), # MySQL 9.1
(90000, 90002), # MySQL 9.0
(80400, 80404), # MySQL 8.4
(80300, 80302), # MySQL 8.3
(80200, 80202), # MySQL 8.2
(80100, 80102), # MySQL 8.1
(80000, 80037), # MySQL 8.0
(80000, 80041), # MySQL 8.0
(60000, 60014), # MySQL 6.0
(50700, 50745), # MySQL 5.7
(50600, 50652), # MySQL 5.6
Expand Down
4 changes: 3 additions & 1 deletion plugins/dbms/postgresql/fingerprint.py
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,9 @@ def checkDbms(self):
infoMsg = "actively fingerprinting %s" % DBMS.PGSQL
logger.info(infoMsg)

if inject.checkBooleanExpression("RANDOM_NORMAL(0.0, 1.0) IS NOT NULL"):
if inject.checkBooleanExpression("JSON_QUERY(NULL::jsonb, '$') IS NULL"):
Backend.setVersion(">= 17.0")
elif inject.checkBooleanExpression("RANDOM_NORMAL(0.0, 1.0) IS NOT NULL"):
Backend.setVersion(">= 16.0")
elif inject.checkBooleanExpression("REGEXP_COUNT(NULL,NULL) IS NULL"):
Backend.setVersion(">= 15.0")
Expand Down