文件上传漏洞靶场通关

练习所需:靶场、webshell、蚁剑/菜刀、Burpsuite
靶场下载
链接: https://pan.baidu.com/s/1qvqZWLZ-c69oHupCCGuyEQ
密码: 4qhp
webshell
一句话shell

1、绕过前台脚本检测扩展名上传WebShell

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







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


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

- 打开burp和第二关,上传phpshell.php,截取数据包-并修改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




6、文件上传漏洞演示脚本–中国菜刀连接一句话木马


结束~~~