S 3看起来有点难(布尔型注入)

<!DOCTYPE html>

S.3看起来有点难(布尔型注入)

S.3看起来有点难(布尔型注入)

工具:sqlmap

分析:http://ctf5.shiyanbar.com/basic/inject/index.php?admin=&pass=&action=login

              参数有三个,用户名和密码加上login.

如果是错误的的用户名,则提示数据库连接失败,用户名会显示在网页上。


加单引号,没有用报错,但数据库连接失败也没有显示了。

输入admin,显示错误的用户名和密码,,,,不同的反馈说明,admin是存在的。

如果输入的用户名存在,那么就会显示“数据库连接失败!”


python sqlmap.py -u "ctf5.shiyanbar.com/basic/inject/index.php?admin=admin&pass=admin&action=login" -technique B --dbs --level 3

检测布尔盲注


参考页面:http://wooyun.jozxing.cc/static/drops/tips-143.html

探测等级(参数:--level)

共有五个等级,默认为1,sqlmap使用的payload可以在xml/payloads.xml中看到,你也可以根据相应的格式添加自己的payload。

这个参数不仅影响使用哪些payload同时也会影响测试的注入点,GET和POST的数据都会测试,HTTP Cookie在level为2的时候就会测试,HTTP User-Agent/Referer头在level为3的时候就会测试。

总之在你不确定哪个payload或者参数为注入点的时候,为了保证全面性,建议使用高的level值。

测试是否是注入参数:-technique

这个参数可以指定sqlmap使用的探测技术,默认情况下会测试所有的方式。支持的探测方式如下:B: Boolean-based blind SQL injection(布尔型注入) E: Error-based SQL injection(报错型注入) U: UNION query SQL injection(可联合查询注入) S: Stacked queries SQL injection(可多语句查询注入) T: Time-based blind SQL injection(基于时间延迟注入)


下面用的命令和上一题差不多。。




输入用户名和密码即可得到key.