写这篇笔录就一个目的: 过段时间盲注用的到。
从shark2 那里学到or注入的手法:
由于那款注入工具做标记取得都是 and 1=1 或者1=1
但是,在某些情景,比如POST型 搜索型。
。。。。where content like ‘%a%’ and ‘%’=’%'
and后是我们构造闭合后面的%的语句,如果用来做标记,那跑都跑不起来。
。。。。where content like ‘%a%’ and 1=1 and ‘%’=’%'
多加个and 1=1 ,页面正常,就可做注入标记。。
or手法在下面的灰盒盲注
环境:less16
注入:double boolean
密码框这里存在sql注入,做的灰盒,看了源码,黑盒怎么测得我不知道,
这里他是字符型,我们用字符型测试的手法
admin" or “a”=“a
admin” or a=a#
admin" or 1=1–%20 myql支持的特性(空格)
他由于是盲注,这里需要脚本去跑出我们需要的sql数据,而且还能看响应包的内容,所以用shark2的superInjection
前面已经说了,这款工具,包括作者也在文档写了,要做注入标记,只能and 1=1
所以,我们要在原payload做修改,添加一个or(1=1 and 1=1)
payload: admin" or(1=1 and 1=1) or “a”="b
这里已经 and 1=1 发包测试过页面正常,然后找关键词,尝试过响应长度,但不好使。。
查找源码,发现登录后的长度 542,带有标志的flag字段。
登录失败的长度532<542,没有flag字段,。
自动查找竟然找出了flag,是没想到的
两分钟跑出盲注的数据,c的效率果然高