记Src挖掘之比较有意思的几个漏洞挖掘记录

举报
亿人安全 发表于 2024/09/30 17:25:22 2024/09/30
【摘要】 原文首发在:奇安信攻防社区https://forum.butian.net/share/3692sql注入某条数据,点击详情的数据包,单引号报错再加一个正常本以为是一次平平无奇的sql注入,没想到绕了一天才绕过去,下面放几张测试失败的截图首先就是404,不知道规则是啥样的,下面语句应该是没问题的就会404,1=1让语句不通就会500试了下orcale的注入方法,又爆403,这里'||55||...

原文首发在:奇安信攻防社区

https://forum.butian.net/share/3692

sql注入

某条数据,点击详情的数据包,单引号报错

图片

再加一个正常

图片

本以为是一次平平无奇的sql注入,没想到绕了一天才绕过去,下面放几张测试失败的截图

首先就是404,不知道规则是啥样的,下面语句应该是没问题的就会404,1=1让语句不通就会500

图片

试了下orcale的注入方法,又爆403,这里'||55||'会返回空数据,'||1/0||'会爆500,这里判断语句能想到的都试了,全403,最奇怪的是只有语句正确才会403,少写一个D就会500,不知道这什么匹配逻辑,不过试了一些插入空白字符啥的也都不行

图片

这里我又跑了一遍字典,全404、500、403,期间尝试结合分块传输、参数污染、垃圾数据、白名单、高并发均未绕过去

最终经过我的不断测试,插入下面payload回显特别慢,最终显示数据量太大,不过in这个关键字我理解的不是很透彻,有懂的师傅可以解答下

'OR+1+in+1+and+'a'+in+'a

图片

当1 in 5 的时候整个结果为false,返回为空

图片

直接注下user的长度

'OR+1+in+length(user)+and+'a'+in+'a

只有相等时会卡死,很明显为7位

图片

直接用instr函数注用户名

'OR+1+in+instr(user,'u')+and+'a'+in+'a
instr函数代表后面那个字符在前面字符串第一次出现的位置
例如:
instr('user','u')返回1
instr('user','us')返回1
instr('user','s')返回2

第一位为S

图片

第二位为H,其他同理

图片

任意用户名密码重置

玩的某个游戏,手机号换了,申诉成功给我发了邮件,可以看到id和token

图片

这里直接更换id访问,进行更改密码,显示错误

图片

简单测了测,id随便改,token为空

图片

直接修改密码成功

图片

这里因为不知道目标账号的id,只能随机修改,因为手机号基本就跟id绑定,于是找到了申诉的功能点,这里输入手机号

图片

可以看到返回了id

图片

下一步就是要知道目标的手机号,经过我的不懈寻找,在游戏app的登录界面,有个忘记账号功能

图片

这里输入手机号或者游戏的uid就可以看到一些信息

图片

这里游戏uid是公开的,资料就能看到,不过手机号只有前三位和后四位

图片

图片

在官网找回密码处,这里输入手机号抓个包

图片

输入不对的手机号会提示错误,因为我们知道前三位还有后四位,爆破起来还是很快的

图片

最后只得到几个真实存在的手机号,这时候就可以去游戏app登陆界面去对比,手机号正确的话,返回的UID是一样的,这里也可以抓包写个脚本去判断,因为真实存在手机号就几个,我就直接手动尝试的

图片

确定了目标手机号就知道了id,就可以想修改谁的密码就可以修改谁的了

某站测试记录

目标站主域名有两个,a和b代替 ,这里主要目标是a,b应该是以前用的,首先是爆破出来了两个demo站demo.atest.com和demo.btest.com
会提示ip无法访问,访问demo.btest.com

图片

另外一个也一样

图片

这里直接插xff头绕过的

X-Forwarded-For: 127.0.0.1
X-Forwarded:127.0.0.1
Forwarded-For:127.0.0.1
Forwarded:127.0.0.1
X-Requested-With:127.0.0.1
X-Forwarded-Proto:127.0.0.1
X-Forwarded-Host:127.0.0.1
X-remote-lP:127.0.0.1
X-remote-addr:127.0.0.1
True-Client-lP: 127.0.0.1
X-Client-lP:127.0.0.1
Client-lP: 127.0.0.1
X-Real-IP:127.0.0.1
Ali-CDN-Real-IP:127.0.0.1
Cdn-Src-lp:127.0.0.1
Cdn-Real-lp:127.0.0.1
CF-Connecting-lP:127.0.0.1
X-Cluster-Client-lP:127.0.0.1
WL-Proxy-Client-lP:127.0.0.1
Proxy-Client-lP:127.0.0.1
Fastly-Client-lp: 127.0.0.1
True-Client-lp: 127.0.0.1
X-Originating-lP:127.0.0.1
X-Host: 127.0.0.1
X-Custom-lP-Authorization:127.0.0.1

这里是创建订单成功了,返回了一个地址,https://cashier.xxxx.xxxx

图片

访问之后

图片

因为这是订单信息,所以我猜测前面子域名是后台的

构造https://cashier.atest.com 访问之后401,添加xff头直接访问

图片

这里a网站应该也是一样的规则

图片

因为是测试后台,这里直接将test删除,访问https://cashier.a.com 显示无法访问,修改xff头仍然失败

图片

只能从测试站入手了,首先是爆破出来了用户密码,但是却无法登录,不过返回了token,这里前端看到了webpack的接口信息

图片

在JS存在好多接口和接口配置包的构造并且还有API路径

图片

图片

抓个登录接口的包看下格式拼接就好

有的接口有未授权,有的接口需要权限,但是爆破成功的数据包里面是有返回token的,于是带着这个token访问就可以了,但是均为测试站点的数据

图片

于是猜测管理后台地址也是有这些接口的,直接更换请求的host,成功获取到真实数据

图片

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。