[网鼎杯 2020 青龙组] filejava

进去发现就是一个单纯的文件上传接口,试试功能,发现上传后的文件名会给出,还有一个下载连接,点开下载链接发现是这种格式的

http://7b576de9-dd31-4f71-b86d-0a8d5b6ff15f.node4.buuoj.cn:81/DownloadServlet?filename=e5ac31d0-6273-46bb-9863-d5f6d9105523_pwdTop500.txt

可以看见就是对于传入的参数进行下载,这里试试任意文件下载,了解javaweb的目录是

webapps/WEB-INF/classes/    #用于存放java字节码文件
webapps/WEB-INF/lib/    #用于存放该工程用到的库,例如servlet-api.jar等等
webapps/WEB-INF/web.xml    #web工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射

目标是/WEB-INF/web.xml一层一层跳出试试

http://7b576de9-dd31-4f71-b86d-0a8d5b6ff15f.node4.buuoj.cn:81/DownloadServlet?filename=../../../../WEB-INF/web.xml

下载到了web.xml在里面看到了servlet的映射,然后去下载对应的.class文件

http://7b576de9-dd31-4f71-b86d-0a8d5b6ff15f.node4.buuoj.cn:81/DownloadServlet?filename=../../../../WEB-INF/classes/cn/abc/servlet/DownloadServlet.class

反编译后读取源码,首先是UploadServlet,在其中发现一个很突兀的代码

 

看看这行代码,在上传的文件中特殊对excel文件进行处理,搜索引擎找找excelorg.apache.poi.openxml4j,了解到Excel文件实际上只是XML文档的zip文件,且存在一个XXE漏洞,简单学习下后,配合无回显读取本地敏感文件(Blind OOB XXE)即可

 

坑点:

尽量不要用7-zip,使用zip -r ../excel-1.xlsx *命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值