记一次验证码泄露致getshell

admin 2025年5月24日05:26:02评论3 views字数 1126阅读3分45秒阅读模式
本文首发于https://www.blilbill.com/video/BV1Pm4y1s8dZ/

1 前言

原漏洞已全部报送并修复。本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。

2 入口

表哥接到了一个项目,大部分站点都放在了统一认证之后。由于没有账号,只能分工合作。表哥去收集个人信息,我则先寻找漏网之鱼。经过扫描,发现一个比较大的端口且不是常见,于是访问测试。访问该站点出现空白页面:

记一次验证码泄露致getshell
现在很多站点直接访问都是空白或者404,可以不着急离开,查验一下js或许能发现接口路径。这里直接上插件,发现多个接口。插件地址:
https://github.com/SickleSec/SnowEyes
记一次验证码泄露致getshell
拼接访问获取登录接口,忘记密码接口,自动登录等。又是大端口又是空白页,还没包裹在统一认证中,确认为隐蔽资产。
记一次验证码泄露致getshell
这里只能采用手机号登录,可以先尝试一些常见测试手机号。一般开发在调试时会创建一个初始账号,形如13888888888这种,密码则是常见的123456等。这类账号在结束时忘记删除,且有一定权限,但这里没有跑出来。于是转换功能点,点击忘记密码处
记一次验证码泄露致getshell
随意输入手机号抓包验证码(原站已修复,这里无图),返回包提示手机号不存在。分析原数据包body:
jsonText=[{"phonemunber":"13411111111","ischeck":"1"}]
发现多了一个参数,ischeck似乎是检查手机号的。更改ischeck:1->ischeck:0,则返回
{"success":true,"obj":"73527","rows":null,"failure":-1}
绕过检测后,出现了一些数据。obj回显就很像验证码,但是使用该验证码修改,由于没有该账户,所以还是会报错。恰好表哥个人信息收集完成,拿到了一排手机号。那么则利用获取的手机号修改密码登录。
记一次验证码泄露致getshell
通过抓取返回包,填写正确手机号成功更改密码。

3 获取权限

成功进入系统后台后,在个人中心存在文件上传功能(虚构图)。

记一次验证码泄露致getshell

后缀名上传没有限制,上传抓包即可获取返回路径。但是访问aspx后缀的文件会重定向到统一认证界面,并返回url不正确的报错提示,可能系统设置了检测该后缀。上传asmx,asp可以成功访问,但木马内容会被清除。菜鸟退场,表哥一顿小操作上传asp免杀马,获取低权限上线。

记一次验证码泄露致getshell

然后免杀绕过某杀软+土豆家族提权,获取高权限成功拿下站点。

记一次验证码泄露致getshell

4 总结

由于站点为云平台,没有再做后续操作。看过挺多文章,但还是第一次实战遇到验证码在返回包中显示的,直接可以接管存在的账号了。但是一方面信息还是要收集好,不然手机号位数很多很难爆破。

原文始发于微信公众号(shadowsec):记一次验证码泄露致getshell

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年5月24日05:26:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次验证码泄露致getshellhttps://cn-sec.com/archives/4093059.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息