题目给出了提示:基于布尔的SQL盲注
打开网页,是登录框,那我们很大可能就是在username或password上进行注入,可能性大一点的是username了吧。
首先输进行一些尝试,找出正确的注入地方以及是否进行了过滤。
反馈是password error!
输入用户名admin1,得到username does not exist!,所以这里应该是先对username进行查询,这样就能确定我们的注入地方就是在username了。
然后看看有是否有被过滤掉的关键字符串,illegal character代表被过滤的非法字符串,尝试得到这些字符串背过滤:and、union、空格、for、information
我们用的是bool盲注,and和union背过滤了,那么就不能还用一般的union select来进行注入了,这里用到一个技巧:利用异或进行注入
无法利用information表,所以我们只能猜测后台的表了,表名是admin。下面给出盲注脚本:
import requests
url = 'http://123.206.31.85:49167/index.php'
dic = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ }{+-*/='