less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and length(database)=num 破解名字长度. and ascii(substr(database(), 1,1))=num 猜出每一个字母的ascii码.最后得到数据库的名字. 破解所有数据库名字 and (select count(*) from information_schema.sch
LESSON 5: 典型的布尔盲注. 盲注:sql注入过程中,sql语句的执行结果不回显到前端,这个时候就只能用一些别的方法进行判断或者尝试,这个判断或者尝试就叫做盲注.盲注又分为:1.基于布尔SQL盲注.2.基于时间的盲注.3.基于报错的盲注. 布尔盲注:一般适用于页面没有回显字段(不支持联合查询,即union select),且web页面返回True或者False,在lesson 5里就相当于回显 You are in ......(true)或者报错(false),利用枚举思想或者二分法来
也可用bp进行爆破,这里用py脚本. 打看网页输入1,显示You are in,输入2,显示You are not in,是个布尔注入. 然后看看过滤了什么. sql注入没有过滤:--+.or sql注入过滤:union select.and.order by.空格 虽然or没有被当做sql注入处理,但是构造id=1'/**/or/**/1'='1--+时仍然是返回,You are not in. 所以应该是,or仍然被过滤,只是没有被当做sql注入,于是利用oorr来绕过. 下面给出爆破脚本:
解题思路 打开发现登陆框,随机输入一些,发现有waf,然后回显都是同样的字符串.fuzz一波,发现禁了挺多东西的. select union 等 这里猜测是布尔盲注,错误的话显示的是:You konw ,P3rh4ps needs a girl friend 但是不管传入什么都回显这个,这里想是否有其他信息,我这种菜鸡还不会直接根据测试,猜测出sql语句. robots.txt中发现hint,打开hint.php,发现sql语句.太好了 bypass sql select * from user