upload-labs-01

一、工具准备

1、准备工具burpsuite
2、shell脚本(一句话脚本,加密脚本,图片木马)

二、代码分析 (JS绕过)

1、upload-labs的pass-01的前端代码展示
<form enctype="multipart/form-data" method="post" onsubmit="return checkFile()">
                <p>请选择要上传的图片:</p><p>
                <input class="input_file" type="file" name="upload_file">
                <input class="button" type="submit" name="submit" value="上传">
                </p>
</form>
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;
    }
}
2、JS检测思路
  • 定义上传白名单后缀 jpg png gif
  • 获取文件上传的后缀
  • 检测是否在白名单内
3、绕过思路
  • 把PHP文件后缀加上 ‘.jpg’,前端检测后 ,会直接提交POST请求 包括文件名
    所以只有修改POST请求里面的filename 把后缀改成PHP结尾即可上传shell成功

三、操作流程

将shell.php 加上.jpg后缀(绕过js检测)
burpsuite 抓取POST请求
修改filename内容为shell.php
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值