目录
1. Techniques模块的帮助文档
Techniques:
These options can be used to tweak testing of specific SQL injection
techniques
--technique=TECH.. SQL injection techniques to use (default "BEUSTQ")
--time-sec=TIMESEC Seconds to delay the DBMS response (default 5)
--union-cols=UCOLS Range of columns to test for UNION query SQL injection
--union-char=UCHAR Character to use for bruteforcing number of columns
--union-from=UFROM Table to use in FROM part of UNION query SQL injection
--union-values=U.. Column values to use for UNION query SQL injection
--dns-domain=DNS.. Domain name used for DNS exfiltration attack
--second-url=SEC.. Resulting page URL searched for second-order response
--second-req=SEC.. Load second-order HTTP request from file
2. 各个参数的介绍
2.1 --technique=TECH
参数:–technique=TECH…
背景: SQL injection techniques to use (default “BEUSTQ”)。SQL注入测试技术。默认情况下,sqlmap会尝试所有类型的注入。使用该参数可以指定sql注入测试技术,参数后面跟一个大写字母,有B,E,U,S,T和Q,每个字母代表一种注入技术。
值:
参数 | 作用 |
---|---|
B | Boolean-based blind,基于bool的盲注 |
E | Error-based,基于报错的注入 |
U | Union query-based,联合查询注入 |
S | Stacked queries,堆查询注入 |
T | Time-based blind,基于时间的盲注 |
Q | Inline queries,嵌套查询注入 |
使用:如果想要仅基于报错注入和堆栈的查询注入,可以指定–technique SE
注意:当想要访问文件系统,控制操作系统或访问windows注册表时,注入技术必须包含堆查询注入,即-S
。
2.2 --time-sec=TIMESEC
参数:–time-sec=TIMESEC
值:一个整数,默认情况是5秒。
作用:Seconds to delay the DBMS response (default 5)。指定基于时间盲注的延迟时间。在测试基于时间的盲注时,可以设置延迟响应的秒数。
2.3 --union-cols=UCOLS
作用:Range of columns to test for UNION query SQL injection。指定联合查询注入中的列数。默认情况下,sqlmap会针对使用1到10列的UNION查询技术进行测试。但是,通过提供更高的–level值,该范围可以增加到50列。
值:整数
使用:跟整数范围来指定测试的列范围。例如,12-16意味着使用12到16列的UNION查询注入技术。
2.4 --union-char=UCHAR
参数:–union-char=UCHAR
背景:Character to use for bruteforcing number of columns。指定联合查询注入的字符。默认情况下,sqlmap在UNION联合查询注入中使用的是NULL字符,指定更高的level值,sqlmap将使用随机数执行测试,因为在某些情况下使用NULL字符测试失败,而使用随机整数成功。
值:告诉sqlmap使用的字符
使用:
例如一个union联合查询的payload是
Payload: type_id=129 UNION ALL SELECT NULL,NULL,NULL,NULL,CONCAT(0x717a7a7171,0x637a73474b77574b4b76556274626c5051726a556d674368716948575979417750496867686b4562,0x7170767871),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL-- bnBy
当我们指定–union-char’001’,payloadj就会变成
Payload: type_id=129 UNION ALL SELECT 001,001,001,001,CONCAT(0x717a7a7171,0x637a73474b77574b
2.5 --union-from=UFROM
参数:–union-from=UFROM
背景: Table to use in FROM part of UNION query SQL injection。指定联合查询注入的表名。在一些联合查询注入中,需要在FROM字段提供有效的表名(例如–union-from=users),例如,Microsoft Access就需要使用这种表格。如果不提供,SQL注入将无法正确执行。
值:表名
2.6 --dns-domain=DNS
参数:–dns-domain=DNS
背景:Domain name used for DNS exfiltration attack。DNS漏洞攻击。如果用户控制了目标url的DNS服务器(例如 attacker.com),则可以使用此选项(例如–dns-domain attacker.com)启用此攻击。它工作的先决条件是运行带有Administrator权限的sqlmap (使用特权端口53),这样做的唯一目的就是加速数据检索过程。
2.7 --second-url=SEC
参数:–second-url=SEC
背景:Resulting page URL searched for second-order response。搜索二阶响应的结果页面 URL。二阶攻击一般发生于一个易攻击页面中的有效payload的在另一个页面上显示。通常发生这种情况的原因是数据库存储用户在原页面上提供的输入。
值:URL地址
2.8 --second-req=SEC
作用:Load second-order HTTP request from file。从文件加载二阶 HTTP 请求。