SRC逻辑漏洞挖掘浅谈

[前言]

​ 距离最近挖src到今天刚好一个月了,最近比较忙吧。具体应该算是5月份了,上一个月挖src的同时也被拉去参加《西安互联网安全城市巡回赛》了,还算比较幸运,通过几个逻辑漏洞,线下赛获得还算不错的结果。这个月的逻辑漏洞也相对集中。于是想写篇文章针对逻辑漏洞稍微总结一下。并且包括js静态文件信息泄漏的利用,在这篇文章做一个引入,具体更新在下一篇文章中。对于这一的出发点点也是因为在这次比赛中通过js静态文件找到了一个相对不错的高危。

1.资产收集

1.1业务范围

巧用搜索引擎首推谷歌查看了解SRC旗下涉及到的业务,收集其对应的业务下的域名,再进一步进行挖掘,如:

1

2

整理,再进行常规资产收集

3

1.2常规性质资产收集

基本的资产收集方式:子域名枚举、端口扫描、路径扫描、旁站c段查询

  • 子域名

    子域名爆破:

    sublist3r、subdomainsBurte、DiscoverSubdomain、layer子域名挖掘机

    7

    子域名枚举

    通过网络空间安全搜索引擎

    云悉资产、FOFA、Virustotal、Dnsdumpster、Threatcrowd

    5

    4

  • 路径扫描

    dirsearch 、御剑、

    6

  • 旁站C段查询

    在线旁站C段查询:www.webscan.cc、www.5kik.com、phpinfo.me

1.3信息泄漏

  • 敏感目录/文件

猪猪侠weakfilescancansinasensitivefilescan、FileSensor

Screenshot-banner-filesensor

  • 网页源码/js/json泄漏敏感接口

    1)接口泄漏

8

​ 2)json敏感信息泄漏

12

13

目前发现关于这部分没有发现比较好的收集工具或脚本,因此打算写一个,目前还正在编写中,主要基于chrom协议、pyppeteer框架动态触发爬取包含ajax以尽可能的收集到url、接口、域名:

a)网站源码涉及到的子域名ur接口资产爬取

b)网站源码js中包含的请求或拼接的访问接口

c高级功能)url接口中json信息泄漏识别

备注:该部分的具体内容将在下一篇文章【谈js静态文件在漏洞挖掘中的利用】继续更新

1.4其他业务查找

微信公众号绑定接口、app、老旧的登陆接口、版本迭代

2.越权

  • 改识别用户参数
  • 改cookie
  • 越权访问
  • 登陆后,修改密码 未校验id与用户 修改id 即可该其他人密码
  • 修改个人数据时 页面源代码有用户标识符id 抓包修改或添加id
  • 直接访问后台链接禁用js则不会跳转登录界面,直接登陆
  • 登陆分为账号和游客登陆,游客功能有限,app端只前端检测,模拟发包即可
  • 越权订单查看打印下载、越权操作他人收货地址、增删改查等。

3.逻辑漏洞

任意用户注册、密码重置、密码找回、

3.1本地验证、修改返回包

1)获取验证码后任意输入一个验证码。

图片9

2)抓包放行,得到的返回包如下

图片10

3)抓包改返回包修改为正确的返回包覆盖错误的返回包,如下

{“code”:1,”data”:”目标用户手机号”,”msg”:”绑定成功Ÿ”}

图片12

4)放行,修改成功

图片13

3.2手机号、验证码、用户未统一验证问题

未对原绑定手机号、验证码、用户未统一验证,或验证码未绑定 只验证验证码正确,没判断用户id 或手机号,修改想改的id 正确手机验证码即可

如密码找回重置时未对原绑定手机号验证进行任意账号密码重置

9

10

150\73账号被重置

11

3.3密码重置类其他逻辑问题

  1. 以重置成功的token覆盖最后一步错误的token和1类似。
  2. 密码重置时删除mobilephone参数值修改email参数值
  3. 假如找回需要4部,最后一部有user参数,用自己账号正常到第三部,第四部修改user实现

4.支付逻辑漏洞

5.步骤,可跳过步骤

酒店..

6.爆破、枚举

  1. 撞库,登陆时无验证码且可无限被尝试,用户名验证时有无用户名错误回显、密码可被爆破

  2. 无验证码,验证码不刷新,验证码4位过于简单无尝试次数限制可被爆破、

  3. 枚举注册用户 输入用户名,发送请求验证用户名是否正确(若返回次数限制,可测试服务端未限制高频访问)

  4. 登陆失败有次数限制,若包中有限制参数可更改或删除参数

  5. 邮箱轰炸,短信轰炸,burp Repeate,短信轰炸验证码有60秒限制时,有的参数修改后可绕过 如

    1)isVerfi参数 这里是1 回包 3 手机没收到信息 存在验证码限制

    逻辑1

改为0 回显2 绕过了验证码限制

逻辑2

7.其他

  • cookie一直有效,(修改密码后)

第三方账户登录绕过(拦截微博授权成功的请求地址: https://api.weibo.com/oauth2/sso_authorize?sflag=1 修改response中uid,服务端没有校验客户端提交的uid与授权成功的uid相同)

8.总结

在挖洞的过程中还是比较注重有耐心,细心测试更多参数、同时也需要我们不断的交流学习新思路,才会有更进一步的收获。另外也需要1>注重安全开发2>知识积累当然、关键还是得看自己。

来自:https://xz.aliyun.com/t/5398