sqlmap中文手册 (8)

此参数用于指定风险等级,有1~4共4级。默认风险等级为1,此等级在大多数情况下对测试目标无害。
风险等级2添加了基于时间的注入测试,等级3添加了OR测试。

若注入点是在UPDATE语句中,使用OR测试可能会修改整个表的数据,这显然不是攻击者想要看到的。
因此用户需要能控制风险等级避开有潜在风险的payload。

3.页面对比

参数:–string、–not-string、–regexp

默认情况下在布尔型注入中Sqlmap通过比较返回页面内容来判断True或False。
但有时页面每次刷新都会不同,如页面中有动态广告。Sqlmap会尽力判断出页面中动态的部分来,但并不总能成功。
用户可以用参数“–string”指出代表True的页面会包含而代表False的页面不会包含的字符串以供Sqlmap判断True或False,
若这样的字符串是变动的还可以用参数“–regexp”指定一个正则表达式去匹配这样的字符串。
或者用参数“–not-string”指出代表False的页面会包含而代表True的页面不会包含的字符串。

参数:–code

或者更简单地,若是用户知道代表True的页面HTTP状态码为200而代表False的页面HTTP状态码不为200比如是401,
可以用“–code”参数告诉告诉Sqlmap这一信息,如“–code=200”。

参数:–titles

若是用户知道代表True的页面title和代表False的页面title不同,
如代表True的页面title为“Welcome”,代表False的页面title为“Forbidden”,
就可以使用参数“–titles”让Sqlmap依据title来判断True或False。

参数:–text-only

若是HTTP响应体中有许多诸如JavaScript之类的活动内容,可以使用参数“–text-only”让Sqlmap只专注于纯文本内容。

九、注入技术

这些参数用于对特定的SQL注入技术进行调整。

1.检测时所用技术

参数:–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”与默认情况等效。

想要访问文件系统或是Windows的注册表就一定要添加“S”进行多语句查询注入测试。

2.基于时间延迟注入中延时设置

参数:–time-sec

用此参数设置基于时间延迟注入中延时时长,默认为5秒。

3.联合查询注入中列数设置

参数:–union-cols

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

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

4.联合查询注入中字符设置

参数:–union-char

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

使用此参数可以指定联合查询注入中使用的字符,如:“–union-char 123”。

“联合查询注入中使用的字符”究竟是什么意思呢?请看下面两个例子:

第一个例子,不使用“–union-char”,默认情况下联合查询注入中使用的字符为空字符(NULL):

  python sqlmap.py -u "http://192.168.56.101/user.php?id=001" --technique U -v 3

部分输出为:

  [10:59:15] [PAYLOAD] 001 UNION ALL SELECT NULL,CONCAT(0x71707a6271,0x66546c7770497458576f6455476761654654745744684c5062585971794c556d55454a6c49525675,0x7162767671),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL-- FAcV

  [10:59:15] [PAYLOAD] 001 UNION ALL SELECT NULL,NULL,NULL,NULL,NULL,NULL,CONCAT(0x71707a6271,0x6b43674e76687959526b6452627255787373675a6f5a436f7266756d49424547496d506779456170,0x7162767671),NULL,NULL,NULL,NULL,NULL-- caXD

第一个例子,使用“–union-char 123”,指定联合查询注入中使用的字符为“123”:

  python sqlmap.py -u "http://192.168.56.101/user.php?id=001" --technique U -v 3 --union-char 123

部分输出为:

  [10:59:30] [PAYLOAD] 001 UNION ALL SELECT 123,123,123,123,123,123,123,123,123,123,123,CONCAT(0x716b707171,0x776c71686e54726659424b49616d68756e64734d45774c4c7163494345794255784557597a484244,0x7178627071)-- aUXO

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyxgg.html