靶场搭建
https://github.com/j3ers3/Hello-Java-Sec
只需要修改数据库的信息即可
导入数据文件
之后运行
账号密码是 admin admin
java SSTI前端模本注入漏洞
Thymeleaf模板注入
这个模板注入类似于 对前端的页面进行使用参数跳转页面的操作 (比如切换页面的语言等)
运行
url视图
这个其实不是漏洞而是 配置问题导致的
漏洞和配置不当的区别就是 漏洞是有可控制的参数的并且漏洞受版本的控制
这个漏洞还是比较普遍的 只要是没有对api参数 进行规范都会出现这个问题
Freemarker模板注入
这个漏洞利用还是比较刻苦的就是这个需要对模板进行操作 众所周知 只要admin才有这样的权限 所以这个漏洞可以用来提权
Velocity注入
这个漏洞现在还是不太常见
payload : %23set(%24e%3D"e")%24e.getClass().forName("java.lang.Runtime").getMethod("getRuntime"%2Cnull).invoke(null%2Cnull).exec("clac")
SpEl:
spel语句 : 就是spring中进行执行一些调用对象的语句如对象的调用和查询等,但是如果语句的参数是可控的就会导致 注入
所以常用的测试就是对 spring框架下参数点进行测试 :输入1+1
这个漏洞的利用一般都是使用工具
Swagger接口泄露
swagger这个就类似于java的openapi
我们主要是来学习一下如何利用端口进行测试
工具的使用
spring-scan-master
这个spring万能扫描工具
他能帮你扫描一下 swagger下能访问的api参数 这个可以根据参数名字看是否有未授权访问等
api接口的利用 :
我们使用对方的页面下看这个接口是非常不方便的 这个就需要进行转接(apifox)
点击之后使用
导入数据 然后选择swagger的接口即可
还可以进行模拟的发包
对于需要cooke登录的端口导入 :
然后下载
之后再以文件的形式导入即可
Actuator端点泄露
这个端点的泄露涉及到 dump,gataway微服务等端点的利用
使用工具进行扫描是否有端点泄露
第一个就是天狐工具自带的
最后还会对heapdump进行测试
第二个sbscan
使用方法
python3 sbscan.py -u "http://127.0.0.1:8888/" -H "Cookei:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE3NTA1ODM2OTQsImV4cCI6MTc1MDY3MDA5NCwidXNlcm5hbWUiOiJhZG1pbiJ9.5jRQD8diofBFPHOUUmyi8FXYOLzK-IrbyL6tsppjpz4"
如果想测试是否有单个端点的漏洞 直接写 端点的地址就行
第三个:YYBaby_v1.0_Spring_Scan
headDump的利用
敏感信息的泄露
以上几个工具除了检测端点信息还能进行检测是否为 spring框架
当然如果想手工找寻 使用 fofa搜索
Whitelabel Error Page
或者是专属的端口 9345