15
我们按照老办法,输入单引号查看回显信息,但没有到没有,显然,他极有可能是无回显报错,那就是盲注了。
先bp抓包
发现他是post的请求,我们就在bp中改包注入一下
admin' and 1=1 23%
发现登陆成功,确实有注入点,但是无回显,我们就需要盲注了。
uname=admin' and sleep(5) 23%&passwd=admin&submit=Submit
在bp中,我们等了一会儿他回显的,我们可以确定,可以使用时间盲注了。
uname=admin' and if(length(database())=8,sleep(5),1)23%&passwd=admin&submit=Submit
我们可以一点一点的猜他的库名,表名。
完后我们从他的源码也能看出
$sql前面有一个@,就是隐藏回显。
16
16关这里,输什么都是没有任何回显的,那可以肯定了,这和上一关一样了,是延时盲注了。
但是这回却不行了,直接看源码
我们发现,相较15关,他这里出现了 " 那我们可以确定了,这关我们改用双引号闭合即可。
17
十七关这里是有回显的
但我们怎么怎么输发现都不行,只能去看源码了。
在源码中发现了这个函数,(额,不认识,只能百度了),百度回来,简而言之,就是他会过滤,emm。(这百不百度都一样的结果)
那看来这里是行不通了,但这里可是还有密码这一栏的,我们在源码中发现,他并没有在密码这里做过滤,尝试了一下,嗯,成功爆出了库名。
18
还是先注入,发现哪个都不行,用户名框和密码框都不行,只能看源码了。
他全都过滤了,emm那只能另找注入点了,
在看源码中,他出现了一个新的东西,user-agent
那我们从这里下手。
我们直接修改user-agent,插入查库语句
19
先登录进去看一下
按照18关的经验,这关是从referer下手。
查看源码,果然是在里面添加了referer。
那这一关我们就按照18关的思路来做,在referer中注入。
成功的将库名暴了出来。
总结一下,15关16关没有什么说的,就是延时报错,这个就需要慢慢的猜了,17关的在用户名中设置了过滤,但是还有密码这路的输入点,18关他将页面的注入点全都过滤了,我们就需要找其他地方了。
user-agent,referer,这些注入点了。