一、漏洞代码审计
springboot项目是默认不支持解析jsp的,所以就算上传jsp后门也无法利用。如果代码中存在目录穿越,且没有校验文件后缀,那么可以尝试通过目录穿越到linux的定时任务目录进行gethsell。
系统中的漏洞代码出现在文件上传的upload方法
跟进查看upload方法。multiFileName.indexOf(".")是获取文件名出现的第一个点。
multiFileName.substring(multiFileName.indexOf(".")),这段代码是根据文件名的第一个点来分割获取文件后缀的,将生成的uuid与截取到的文件名与拼接为新的文件名,存在目录穿越漏洞,而且代码也没有校验文件后缀。
二、漏洞复现
linux中存在定时任务文件夹,如var/spool/cron/crontabs,/etc/cron.d/etc/cron.daily/,通过文件上传到定时任务目录即可执行命令。可以尝试上传文件到var/spool/cron/crontabs/root,定时任务为ping dnslog。
通过gpt生成文件每隔一分钟ping dnslog。成功将生成的文件穿越到定时任务目录下。
dnslog收到回显
原文始发于微信公众号(爱喝酒烫头的曹操):【代码审计】有手就行的目录穿越定时任务getshell
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论