记一次从自动发卡平台渗透到挖掘chatgptai SQL注入 0day漏洞的过程

发布时间 2023-10-08 19:36:51作者: tdragon6

引言

本文介绍了一次从自动发卡平台渗透到挖掘chatgptai SQL注入 0day漏洞的记录,全程并未对任何资产进行任何破坏、数据窃取和获利获益等行为,只用于学习研究目的。因内容信息敏感,部门内容不放置截图,均以文字记录。

漏洞挖掘

访问发卡店铺,尝试输入 /admin ,发现管理平台,根据管理平台样式,确认为acg-faka框架。

通过该框架的github找到源码,进行代码审计后并没有发现什么漏洞,也没有默认密码等突破口,尝试基础的弱口令爆破后依旧无果。

于是查看该店铺首页是否存在一些有价值的利用信息,商品介绍中发现一个卡密使用平台,该平台提供一个在线服务,至于是什么服务,这里就不介绍了,通过输入卡密使用该在线服务,于是针对该平台进行渗透测试。

很快发现了该平台存在SQL注入漏洞,使用sqlmap进行利用。

发现几张关键表信息,卡密表管理员账户表用户信息表,因为注入类型是布尔盲注,dump整表需要很长时间,因为网络原因也不稳定,同时流量明显,于是准备从管理员密码表入手,注入得到管理员账户和密码,密码为MD5加密,通过cmd5查询后得到明文。

该平台 /admin 路径暴露了管理平台,使用上面得到的账户密码成功登录,后台可以查看到所有卡密和用户信息。

因为店铺和平台是所属一个商家的,所有猜测该账户密码可以登录发卡平台的后台,但是尝试后失败了,后续思考了一下,该平台肯定有哪些会和发卡平台撞库的地方,还是从撞库的角度出发。

进入在线服务平台的后台观察用户信息表,在最早注册的几个账户入手,查看他们的密码,因为这些用户很可能是商户自己注册测试使用的,密码大概率会撞库。

sqlmap使用 --sql-shell 进入sql命令交互终端,输入 select password from users where username=<username>

尝试几个可能的账户,查询的密码均为MD5,基本都为弱口令,可以反查明文,但放到发卡平台登录后都失败了。

注:acg发卡平台没有做到 最小化信息反馈,当输入错误的用户名时弹出提示用户名不正确,当输入正确的用户名时弹出密码不正确,因此可以帮助我排查哪些用户名是有效的。

在上述撞库的账户密码中存在一个账户信息是有效的,但密码不对,此时已经没有更多的密码信息可以撞库测试了,这时准备放弃了,但又想了一下,是否可以根据账户的特征构造一些弱口令呢,该账户用户名为 xxx@xxx.com 格式,比如构造 @ 前面的内容作为密码,是否可以成功呢?运气也是好,第一次尝试就进入了后台。

后台可以给账户充值,获取卡密,查看商户收款支付宝公私钥等敏感操作。

0day识别

至此渗透之旅就结束了,没有发现其他进一步的漏洞信息,例如RCE等。

之前的切入点是在在线服务平台上,脑筋一转,这个平台是否是一个开源平台或通用平台呢?于是去寻找该平台的特征,发现body中有一个特征可以识别该平台,fofa搜索结果发现1w多个资产,2300多个独立IP,也算是找到个通用小0day了。

因为该平台源码没有找到开源地址或作者联系方式,没有办法提交CVE,就让这个day烂在里面吧,后续也不会利用该day进行任何破坏,窃取数据和获利获益等行为

总结

本次渗透测试的主体思路是 信息收集密码撞库 ,在一个切入点无果的情况下,寻找更多的相关信息,从其他位置切入,找找是否存在漏洞,同时收集其他位置渗透获取的信息,尝试撞库,转为切入主体资产,或许会有奇效。

申明:本次渗透并没有对任何资产进行任何破坏,窃取数据和获利获益等行为,只用于学习目的。