记一次简单的在线商城漏洞挖掘解析

admin 2024年5月14日22:50:56评论8 views字数 2744阅读9分8秒阅读模式

 

0x01 前言
    最近事情比较多,一直没啥时间挖洞,正好今天简单挖点漏洞,并且讲一下思路原理,漏洞简单,没有RCE,目标是一个在线商城,本次信息收集采用互联网信息收集(包括不限于:shodan、fofa、hunter、google等)及本地灯塔信息收集(灯塔停止维护了、此处默哀2秒),因为时间问题,就简单打点了点资产,端口就选TOP100,没有漏扫,因为有WAF所以出来的东西也比较少,只能手动测测
站点概括:WAF: 华为云、移动云CDN: 七牛CDNWEB端: mobile及小程序APP: 没看漏洞: 短信纵向轰炸+2、敏感信息泄露+2、支付漏洞+1失败漏洞: 任意文件上传(上传成功、无法执行)         若依利用(可注册账号、无管理员权限、没往下继续搞)         swagger-ui(需鉴权)
* 故事情节虚拟、文章仅供交流与学习、请勿非法操作,否则后果自负
0x02 漏洞解析
纵向短信一
    首先,就是第一个挖到的短信纵向,这里先说一下横向和纵向
横向轰炸: 指的是对单一手机号有限轰炸,但是对其它手机号不限制         这里开发一般以手机号为基准,在X时间内限制为N条纵向轰炸: 指的是未对手机号及其它参数做判定,或对其它参数有判定         但是可以进行绕过,后面我会进行解析
    使用灯塔ARL进行搜集到x.target.com为数据支撑平台,但是没有注册接口,只有登录接口,登录接口有验证码,当然,爆破也可以,现在外面有爆破图片验证码的插件,但是由于可能造成的流量大,我没有尝试

记一次简单的在线商城漏洞挖掘解析

    接着看前端源代码,查看到JavaScript某接口,拼接后疑似注册接口/xxxx/jsp/xxx/checkxxx.jsp

记一次简单的在线商城漏洞挖掘解析

因为是未授权访问,手机号参数没办法点击,这里有个诀窍,在不知道有什么参数的情况下,点一下可以执行的按钮,大概率是可以抓到的,当然有些情况除外(比如:前端JS校验,没有传输流量)

记一次简单的在线商城漏洞挖掘解析

因为不能输入手机号,我填了一下其它参数,然后发送验证码,肯定会校验参数,这样情况下,抓到数据包,手机号参数为mobile

记一次简单的在线商城漏洞挖掘解析

然后我们输入手机号,再次发送验证码就能看到验证码发送成功了

记一次简单的在线商城漏洞挖掘解析

然后返回网页继续点下一步,抓到最后的包,完善参数,手机号验证码进行拼接,但是这里出现了问题,让联系客服,经测试短信发送次数无限制、无奈最终只收获了纵向短信一枚

记一次简单的在线商城漏洞挖掘解析

纵向短信二

第二个是在主站,当然并非只有主站,小程序也是这个情况,主站mobile.target.com、小程序为custer.target.com,但是这里开发把小程序所有发送和返回参数全部base64编码了

记一次简单的在线商城漏洞挖掘解析

这种一般水洞倒是也可以交,不过之前主备的方式,不同的子域名但是漏洞一样,当时交补天是只给过了一个,另一个说重复了

先说mobile.target.com,这个是手机端的,和APP一样,我这里没下载APP去做,直接WEB搞的,进去先抓发送短信包,正常情况下是发出去了的

记一次简单的在线商城漏洞挖掘解析

多请求几次发送包后,可以看到是需要输入验证码了,这个时候WEB页面会弹出图片验证码

记一次简单的在线商城漏洞挖掘解析

这种情况下不要试图改状态码,code是根据后端返回的状态决定的,改code只能达到安慰自己的效果,我们可以排除法

正常情况下原登录页中没有图片验证码,几次过后出现了验证码机制判断机制: IP、手机号、cookie、session、自定义参数这个时候可以利用排除法进行测试,因为突然触发肯定会有先决条件

    经过我的测试,我直接将cookie里面的内容全部删除,又可以继续发送验证码,并且没有限制,具体是cookie里的哪一条没有去细分

大概运行流程为:cookie(某一条)->查询数据库匹配字段->没有达到阈值              ->不弹出验证码->达到阈值->弹出图片验证码这只是想象一下,可以参考DVWA中的暴力破解模块

记一次简单的在线商城漏洞挖掘解析

删除cookie中参数后,发送短信验证码没有限制,纵向短信+1

记一次简单的在线商城漏洞挖掘解析

再来说一下原本就有验证码的,一般情况下分为本地和第三方,本地的是创建一个验证码框,一般情况下可能和session、cookie或自定义参数有关,但是也可能是前端触发,后端生成一组数字,然后生成图片,发送至前端,前端输入数字,后端判定校验,和包内参数无关

以一个网站为例,登录页面有一图片验证码框,点击图片会刷新,发送一个包

记一次简单的在线商城漏洞挖掘解析

可以看到是以当前时间进行生成一组数字,返回一张图片,然后去进行比对

记一次简单的在线商城漏洞挖掘解析

这种情况下可以用插件去识别,或者尝试绕过,绕过方法不再过多叙述,然后还有一种是三方,最常见的就是极验,这种一般都是跟前端携带参数的

记一次简单的在线商城漏洞挖掘解析

这种的是根据三方给的API去看的,具体方法可以看官方给的API以及当时遇到的现状,因为我清晰的记得,之前一个用极验的网站,应该是没有配置好,伪造包中的参数就可以绕过

敏感信息泄露一

    第一个信息泄露比较简单,在某个子站下,有一个config.properties文件泄露,这里我用的5w字典让灯塔跑的,还算比较全面记一次简单的在线商城漏洞挖掘解析

    第一块泄露了某平台的token,第二块泄露了邮箱的账号密码

记一次简单的在线商城漏洞挖掘解析

其它就是平台以及第三方平台的key和token等,数据比较多,就不发出了

敏感信息泄露二

登录进平台,它的个人信息值存放进了自定义的一个参数Token中,这个Token用的jwt编码,大概存放了这些

记一次简单的在线商城漏洞挖掘解析

本来想着越权,因为平台有商家信息,抓包可以得到json格式的userid,但是clientuuid和uuid是唯一的,这个没办法绕过,所以这一步的越权没找到规律,暂时搁置

然后getInformation接口中可以看商家信息,POST传参是userid,遍历后大概可以看到商家的地址,GPS定位经纬度、手机号、姓名等,数据大概几十万吧

记一次简单的在线商城漏洞挖掘解析

充值漏洞一

小程序custer.target.com中有开通会员功能,会员有专享福利

记一次简单的在线商城漏洞挖掘解析

和WEB端一样,不同的是这里所有传参返回都用了base64编码,以及比WEB端增加了一些功能

再看开通会员页面,这里选好套餐以后,看到一共是四万两千九左右,我们这里抓包因为是base64编码,直接编辑一下,参数改为0.01,将修改后的base64编码替换掉原来的数据包,他这里生成了订单号,但是没有把金额和订单号做强制绑定以及二次校验

记一次简单的在线商城漏洞挖掘解析

记一次简单的在线商城漏洞挖掘解析

0x03 结语

根据本地资产搜集,拿到api地址下的config配置文件,泄露到邮箱账号密码,以及各第三方平台token,key等,其次在业务网站,某接口下,遍历infoid拿到用户不等身份信息,在业务小程序,开通会员处,经过替换数据编码后,可以一分购

https://www.wjx.cn/vm/YBVYmDY.aspx

    填写以上问卷会对优质建议进行发放奖品

记一次简单的在线商城漏洞挖掘解析

原文始发于微信公众号(州弟学安全):漏洞挖掘|记一次简单的在线商城漏洞挖掘解析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月14日22:50:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次简单的在线商城漏洞挖掘解析http://cn-sec.com/archives/2740546.html

发表评论

匿名网友 填写信息