文件上传漏洞靶场通关

练习所需:靶场、webshell、蚁剑/菜刀、Burpsuite
靶场下载
链接: https://pan.baidu.com/s/1qvqZWLZ-c69oHupCCGuyEQ
密码: 4qhp
webshell
一句话shell
<?php eval(@$_POST['bjx']); ?>

1、绕过前台脚本检测扩展名上传WebShell
- 直接上传,不允许

- 我们把phpshell.php后缀改为phpshell.png
- 然后上传,burp拦截数据包,将拦截的数据再修改回来。



- 修改完成后缀名,点击放包!

- 上传成功

-
打开保存地址 即 http://192.168.0.104/upload/uploads/phpshell.php
-
每个人安装包放的位置不同,此处位置有些变动。

-
使用蚁剑,连接webshell

- 控制成功!

- 第一关结束。
2、绕过Content-Type检测文件类型上传WebShell
- 我们先了解一下 Content-Type
- https://www.runoob.com/http/http-content-type.html


- 这里呢,我们对照着对照表,把Content-Type修改为jpeg的格式

- 打开burp和第二关,上传phpshell.php,截取数据包-并修改Content-Type值
原格式~

修改后~

- 修改完Content-Type,放包执行。

- 上传成功,又可以进行webshell管理拿权限了。
3、绕过服务端目录路径检测上传Webshell
PS:第一种方法这个靶场并没有涉及,第二种方法直接上传了
- 目录路径检测,一般就检测路径是否合法
- 针对上面的检测方法可以通过00截断的方式来绕过
- 这里采用了白名单判断,但是$img_path直接拼接,所以可以先上传一个符合白名单检测的jpg文件,之后再burpsuite中使用%00截断保存路径即可绕过检测,最后保存一个php类型的木马文件。
- 首先,上传一个shell.jpg格式的文件,之后使用burpsuite抓包:

- 之后在save_path处使用%00截断构造保存的文件名:

- 上传第五关的图片马即可成功~~~


- 蚁剑连接主要路径
4、绕过服务器端扩展名检测上传Webshell
- 我们使用phpshell.php直接上传肯定是不行的,而这一关又是拓展名,所以我们把shell名字改为phpshell.php3,即可成功上传


- 为何要改为php3 ~ apache服务器能够使用php解析.phtml .php3
- 蚁剑同样可以解析.php3

5、构造图片马,绕过文件内容检测上传WebShell
- 主要内容 ~ GIF89a图片头文件欺骗

- 构造图片马~文件名phpshell.php

- 上传成功


- 蚁剑连接~成功!
6、文件上传漏洞演示脚本–中国菜刀连接一句话木马
- 第六关就是简单的一句话木马直接上传即可。


本文介绍了如何通过一系列技巧绕过文件上传的各种防护措施,包括前端脚本扩展名检测、Content-Type检测、服务端目录路径检测和服务器端扩展名检测等,通过靶场实战展示了利用Burpsuite、蚁剑等工具上传WebShell并成功控制目标服务器的过程。

956

被折叠的 条评论
为什么被折叠?



