Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >文件上传(三)基于windows主机的上上传

文件上传(三)基于windows主机的上上传

作者头像
逍遥子大表哥
发布于 2021-12-17 06:41:47
发布于 2021-12-17 06:41:47
1.8K00
代码可运行
举报
文章被收录于专栏:kali blogkali blog
运行总次数:0
代码可运行

我们先看看源码

源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$is_upload = false;
$msg = null;
if (isset($_POST['submit'])) {
    if (file_exists(UPLOAD_PATH)) {
        $deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess");
        $file_name = trim($_FILES['upload_file']['name']);
        $file_ext = strrchr($file_name, '.');
        $file_ext = strtolower($file_ext); //转换为小写
        $file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
        $file_ext = trim($file_ext); //首尾去空
        
        if (!in_array($file_ext, $deny_ext)) {
            $temp_file = $_FILES['upload_file']['tmp_name'];
            $img_path = UPLOAD_PATH.'/'.$file_name;
            if (move_uploaded_file($temp_file, $img_path)) {
                $is_upload = true;
            } else {
                $msg = '上传出错!';
            }
        } else {
            $msg = '此文件类型不允许上传!';
        }
    } else {
        $msg = UPLOAD_PATH . '文件夹不存在,请手工创建!';
    }
}

看看上面的代码都限制了多少吧,大小写,加空格,加字符串,黑名单,好多限制。。。。。

1.txt.php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess"

这个时候可以采用一种方法来绕过,因为靶场是搭建在windows上的,所以windows有一个特性,windows系统自动去掉不符合规则符号后面的内容,什么意思呢?举个栗子

比如你新建了一个1.txt文件,然后你将名称改为1.txt.试试,虽然会有下面的警告,但是windows还是会默认去掉后面的.,名字还是变成了1.txt

这个时候我们就可以利用.来绕过限制了,因为strrchr函数会将上传的文件名后缀处理为.php.,当上传到win机器上时又会将后面的.去掉,然后后缀就又会被还原成.php,这样就可以执行了,下面演示一下

首先上传1.php文件并抓包,在burp修改文件后缀名为.php.

测试链接

PS:此方法只适用于windows主机

版权属于:逍遥子大表哥

本文链接:https://cloud.tencent.com/developer/article/1920632

按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Uploads-labs上传绕过(上)
链接:https://pan.baidu.com/s/1lMRBVdQyFuKOgNlWPUoSSQ
字节脉搏实验室
2020/03/08
2.3K0
Uploads-labs上传绕过(上)
Upload-labs通关笔记(二)
查看源码还是黑名单没有对后缀名进行去.操作利用 Windows 特性会自动去掉后缀名中最后的.可在后缀名中加 . 绕过
网络安全自修室
2020/07/22
2.7K0
文件上传绕过(二)
从源码中我们可以看到,当前禁止了asp aspx php jsp等常见的后缀名。此时我们用BURP截包改包即可。 只需要将后缀名php改为phtml即可。
逍遥子大表哥
2021/12/17
1.3K0
文件上传绕过(二)
upload-labs靶场-Pass-09关-思路以及过程
upload-labs靶场 是PHP环境运行的,所以我准备了一个PHP脚本和一张图片 图片好准备,PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本
用户9006224
2022/12/21
3480
upload-labs靶场-Pass-09关-思路以及过程
upload-labs靶场-Pass-08关-思路以及过程
upload-labs靶场 是PHP环境运行的,所以我准备了一个PHP脚本和一张图片 图片好准备,PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本
用户9006224
2022/12/21
3210
upload-labs靶场-Pass-08关-思路以及过程
Upload-labs通关笔记(一)
Upload-labs是一个帮你总结所有类型的上传漏洞的靶场 项目地址:https://github.com/c0ny1/upload-labs
网络安全自修室
2020/07/22
1.5K0
Upload-labs&Upload Bypass Summarize
暑假闲着也是闲着,去年这个时候刷完了 sqli-labs,今年想着来刷一下 upload-labs 而这次重点不在于题解,而在于总结与归纳 首先我们得明确一点,即上传的过程
安恒网络空间安全讲武堂
2018/12/26
1.5K1
upload-labs靶场-Pass-06关-思路以及过程
upload-labs靶场 是PHP环境运行的,所以我准备了一个PHP脚本和一张图片 图片好准备,PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本
用户9006224
2022/12/21
4280
upload-labs靶场-Pass-06关-思路以及过程
upload-labs靶场-Pass-04关-思路以及过程
upload-labs靶场 是PHP环境运行的,所以我准备了一个PHP脚本和一张图片 图片好准备,PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本
用户9006224
2022/12/21
7870
upload-labs靶场-Pass-04关-思路以及过程
实战 | 文件上传漏洞之最全代码检测绕过总结
文件上传漏洞是指攻击者上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务端命令的能力。该漏洞在业务应用系统中出现概率较高,究其原因是业务场景中上传附件、头像等功能非常常见,若在系统设计中忽略了相关的安全检查,则容易导致文件上传漏洞。
HACK学习
2022/02/17
14.6K1
实战 | 文件上传漏洞之最全代码检测绕过总结
upload-labs文件上传漏洞
基于 upload-labs 靶机进行文件上传漏洞学习,网上通关教程很多,这里我只记录下我觉得重要的和容易忘的知识点,感谢 c0ny 大佬
棒棒鸡不棒
2022/09/02
1.2K0
upload-labs文件上传漏洞
[网络安全] 十五.文件上传漏洞 (4)Upload-labs靶场及CTF题目01-10
先来看看,这是Upload-labs靶场的20道CTF文件上传题目。虽然它只是一些题目,但其漏洞原理和利用过程仍值得我们学习。
Eastmount
2021/12/02
3.6K0
[网络安全] 十五.文件上传漏洞 (4)Upload-labs靶场及CTF题目01-10
聊聊安全测试中如何快速搞定Webshell
WEB安全漏洞中,与文件操作相关的漏洞类型就不少,在大部分的渗透测试过程中,上传文件(大、小马)是必不可少的一个流程,然而各种各样的防火墙拦截了文件上传,遂整理文件操作相关漏洞的各种姿势,如有不妥之处,还望各位斧正,小东感激不尽。
FB客服
2019/05/14
1.1K0
upload-labs靶场-Pass-10关-思路以及过程
upload-labs靶场 是PHP环境运行的,所以我准备了一个PHP脚本和一张图片 图片好准备,PHP脚本如果不想写的话可以用我的这个获取当前时间的PHP脚本
用户9006224
2022/12/21
4690
upload-labs靶场-Pass-10关-思路以及过程
浅谈如何在渗透测试中快速搞定webshell
最近在代码审计某项目的时候发现了一个文件上传漏洞,但是在生产环境测试的过程中,各种各样的“狗”和“盾”都给拦截了,徒有漏洞,没法儿利用,所以整理整理,杀狗破盾,冲冲冲!
小东同学
2022/07/29
1.2K0
浅谈如何在渗透测试中快速搞定webshell
upload-labs上传绕过(下)
trim函数 根据我们的测试,它是将指定的字符串移除,那么在这里我们就可以上传.pphphp即可绕过
字节脉搏实验室
2020/03/19
8770
upload-labs上传绕过(下)
经验分享 | 文件上传个人bypass总结
这篇文章也是自己在实战中所遇见的一些总结,各位大师傅估计都知道这些最基础的问题,还是写给小白们的一点学习经验吧。
F12sec
2022/09/29
2.2K0
经验分享 |  文件上传个人bypass总结
.htaccess文件上传漏洞
.htaccess文件是Apache服务器下的一个配置文件。其主要负责相关目录下的网页配置,即:在一个特定的文档目录中放置一个包含一个或多个指令的文件来对网页进行配置。 不过需要注意的是,.htaccess文件的作用域为其所在目录与其所有的子目录,不过若是子目录也存在.htaccess文件,则会覆盖父目录的.htaccess效果。
Andromeda
2023/10/21
1.5K0
.htaccess文件上传漏洞
Upload-labs通关笔记(四)
首先在burp中不断发送上传webshell的数据包,然后不断在浏览器中访问,发现通过竞争可以访问到。
网络安全自修室
2020/07/22
8460
Upload-labs通关笔记(四)
Upload-Labs wp
黑名单验证里的空格绕过 这时候源码里并没有过滤空格 所以在.php后添加空格即可绕过
用户2700375
2022/06/09
1.6K0
Upload-Labs wp
相关推荐
Uploads-labs上传绕过(上)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文