sqlmap 注入技术参数

Web安全攻防 学习笔记

一、Sqlmap 注入技术参数


1.1、sqlmap 设置具体 SQL 注入技术

        参数 --technique 用于指定检测注入时所用技术。默认情况下 Sqlmap 会使用自己支持的全部技术进行检测。 此参数后跟表示检测技术的大写字母,其值为 B、E、U、S、T 或 Q,含义如下:

  • B:Boolean-based blind(布尔型注入)

  • E:Error-based(报错型注入)

  • U:Union query-based(可联合查询注入)

  • S:Stacked queries(可多语句查询注入)

  • T:Time-based blind(基于时间延迟注入)

  • Q:Inline queries(嵌套查询注入)

可以用 "--technique ES" 来指定使用两种检测技术。"--technique BEUSTQ" 与默认情况等效。

	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --technique EB --banner

sqlmap 注入技术参数_第1张图片
sqlmap 注入技术参数_第2张图片


1.2、sqlmap 设置时间盲注延迟时间

--time-sec 3 参数设置基于时间延迟注入中延时时长,默认为 5 秒.

	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-1/?id=1" --time-sec 3 --banner

在这里插入图片描述
在这里插入图片描述


1.3、sqlmap 设置 union 字段数

在进行联合查询注入时,Sqlmap 会自动检测列数,范围是 1 到 10。当 level 值较高时列数检测范 围的上限会扩大到 50。

可以用此参数指定列数检测范围,如 --union-cols 12-16 就会让 Sqlmap 的列数检测范围变成 12 到 16。

	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-3/" --union-cols 12-16 -v 3 --banner

sqlmap 注入技术参数_第3张图片
但是,注入时过多使用空字符(NULL)会使注入失败率增高。因此可以结合 --union-char 替换null的字符串 参数改善。


1.4、sqlmap 设置 union 字符

默认情况下 Sqlmap 进行联合查询注入时使用空字符(NULL)。但当 level 值较高时 Sqlmap 会生成随机数用于联合查询注入。 因为有时使用空字符注入会失败而使用随机数会成功。

	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-4/" --union-cols 12-16 --union-char 666 -v 3 --banner

sqlmap 注入技术参数_第4张图片


1.5、sqlmap 设置 union 查询表

有些情况下在联合查询中必须指定一个有效和可访问的表名,否则联合查询会执行失败。参数 --union-from 表名

	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-4/" --union-cols 12-16 --union-char 666 --union-from hello -v 3 --banner

	# 当然,这个表名一般获取到目标数据库的信息后再操作会好一点,如果不知道也可以蒙一个。

sqlmap 注入技术参数_第5张图片


1.6、sqlmap 识别指纹

探测目标指纹信息,参数 -f 或者 --fingerprint,它的效果与 --banner 相似。

	$ python sqlmap.py -u "http://127.0.0.1/sqli/Less-3/?id=1" -f

sqlmap 注入技术参数_第6张图片

你可能感兴趣的:(Web,安全攻防)