参考博客:https://darkless.cn/2025/04/10/rsvmp-bypass

使用工具:https://github.com/handbye/RSVmpBypass

背景: 在某次客户渗透中发现其数据包Url中存在固定参数的随机参数值以及固定参数的随机Cookie,数据包重放会导致返回状态码为400,无法正常请求,于是利用工具进行Bypass,从而进一步渗透测试。

此处拿某验证码接口举例:

这次请求了三次,发现每次url中参数和cookie不一致

拿其中一个进行重放:

重放发现数据包已经失效了

F12打开控制台发现有无限Debugger

并且发现瑞数VMP特征

其代码进行了高度混淆,难以还原

网上寻找相关Bypass方法:

其中博主分享了其绕过工具:

下面根据文档部署一下工具:

这里注意是要使用kali进行部署,并且有node环境

这里我已经部署好了就不重复演示了

启动服务:

启动后,在server文件夹会出现params-data.json文件:

Burp加载插件后根据相关文件位置以及自定义的参数进行配置:


重放:

此时发现状态码并不会出现400了,而是200,证明已经绕过瑞数VMP(目的已达成),但返回包内容似乎不太对劲

解密查看:

此时发现仍出现请勿重复请求

此处可以看到插件正常运作:

应该是还有数据包签名校验:

此处省略加解密以及签名校验的分析过程

得到新时间戳/随机字符串/签名/密文后再次请求:

这时候正常请求,返回了图片验证码

至此已绕过各种校验进行渗透测试,后续可以写Mitmproxy脚本自动化进行签名校验以及加解密(此处省略),再配合插件可进行无痛渗透测试

越权测试:

某获取信息接口是根据ID进行鉴别,没有对当前登录信息是否存在相应的ID进行鉴别,导致越权操作

此处遍历其他人ID:

请求发送:

解密可得出他人数据: