记两次非常规文件上传Getshell

admin 2024年8月13日23:23:12评论54 views字数 1123阅读3分44秒阅读模式

常规绕过前端和后端的任意文件上传已经没意思了,本文记录下之前和最近遇到的2个不太常规的任意文件上传Getshell的案例。

路径穿越+文件上传Get Shell ]

Nmap快速全端口扫描发现开放22,80和3306端口。访问目标,使用[hfinger](https://github.com/HackAllSec/hfinger)扫描发现Web应用使用了Spring BootUeditor,同时在留言页面发现有个上传图片功能:

记两次非常规文件上传Getshell

抓包发现上传采用自定义API实现,没有任何限制。但是访问正常图片、txt文件、html文件都可以,访问jsp时却返回404:

记两次非常规文件上传Getshell

经过查询可能的原因是:

  • 缺少依赖:如spring-boot-starter-tomcatjavax.servlet-api
  • 配置错误:application.propertiesapplication.yml中的JSP配置可能不正确
  • 文件位置不正确:JSP文件必须放在正确的目录下,通常是/src/main/webapp/WEB-INF/views/

访问index.jsp也返回404,应该是使用了默认的配置没有解析jsp。难道煮熟的鸭子就这么飞了?
俗话说只有不努力的黑客,没有攻不破的系统,继续尝试采用目录穿越上传到其它目录,发现报错信息返回了网站绝对路径,可以看出有tomcat(其实Spring Boot默认内置了Tomcat Web容器)。

记两次非常规文件上传Getshell

根据暴露的网站绝对路径,直接构造4个../将文件上传到网站根目录下,利用Tomcat进行解析jsp成功:

记两次非常规文件上传Getshell

然后替换为Webshell即可拿下目标:

记两次非常规文件上传Getshell

Excel导入Get Shell ]

某次项目中发现用户批量导入功能前端没有校验文件后缀和内容:

记两次非常规文件上传Getshell

但是提交后会返回“文件名称不支持”:

记两次非常规文件上传Getshell

而上传包含.xls.xlsx的后缀时返回导入失败:

记两次非常规文件上传Getshell

这说明后端可能执行了Excel文件导入操作。上传名称为xxx.xls.xxx的正常模板文件时没有报错,这说明猜想是正确的。

然后构造名称为xxx.xls.jspwebshell文件,虽然返回导入失败,但是根据目录扫描发现的uploads目录拼接上传的文件名后,返回200:

记两次非常规文件上传Getshell

然后成功连接webshell

记两次非常规文件上传Getshell

拿下目标:

记两次非常规文件上传Getshell

 

关于上篇文章,太多师傅在后台私信了,原本开头提了本公众号不提供地址的!但是私信太多太多了,还是回复一下师傅们吧!!!

记两次非常规文件上传Getshell

 

这边工具地址是编译后的jar,并未开源,敏感时期,安全性自测啊!!!有需要建议虚机运行吧

工具地址:

https://github.com/DeEpinGh0st/MDUT-Extend-Release

原文始发于微信公众号(哈拉少安全小队):记两次非常规文件上传Getshell(文末附工具地址)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月13日23:23:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记两次非常规文件上传Getshellhttps://cn-sec.com/archives/3064061.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息