用vulhub来下载最新漏洞的源码,并且能够快速搭建
docker pull 的时候可能会超时修改docker image拉取的地址可以进行缓解
成功下载后可以到vulhub目录下的/xxx(如aj-report)/CNVD-2024-15077/漏洞下进行docker-compose up -d 启动漏洞
到base对应漏洞下可以查看docker启动的命令
docker cp 把对应的源码拷出来,然后将文件复制到自己的本机上最后在idea中把lib中对应的jar添加到依赖(有的还需要把对应的文件夹 META-INFO添加)即可开始远程debug
在这个漏洞中
由于filter首先对url进行判定如果有uri包含
swagger-ui或者swagger-resources
而在springboot中如果使用矩阵函数或默认不解析;之后的内容,因此导致非授权访问。
在/dataSetParam中有verification函数重写,
而其中参数可以由用户自己构造,因此造成了rce
其中实现eval函数的是NashornScript引擎。
从JDK 6开始,Java就已经捆绑了JavaScript引擎,该引擎基于Mozilla的Rhino。该特性允许开发人员将JavaScript代码嵌入到Java中,甚至从嵌入的JavaScript中调用Java。此外,它还提供了使用jrunscript从命令行运行JavaScript的能力。如果不需要非常好的性能,并且可以接受ECMAScript 3有限的功能集的话,那它相当不错了。
从JDK 8开始,Nashorn取代Rhino成为Java的嵌入式JavaScript引擎。Nashorn完全支持ECMAScript 5.1规范以及一些扩展。它使用基于JSR 292的新语言特性,其中包含在JDK 7中引入的invokedynamic,将JavaScript编译成Java字节码。