upload-labs 1-6关学习笔记

简介

upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共21关,每一关都包含着不同上传方式。

文件上传漏洞是指: Web 服务器允许用户将文件上传至其文件系统,但这些文件可能并没有经过充分的验证,如文件名称、类型、内容或大小等。未能正确执行这些限制就意味着即使最基本的图像上传功能也可能用于上传任意具有潜在危险的文件,里面甚至包括远程代码执行的服务器端脚本文件。

安装好以下工具:

upload-labs靶场

phpstudy2016(版本php5.2.17)

火狐浏览器

Burp Suite :抓包工具

蚁剑或菜刀 :webshell连接工具

pass-1(JS前端验证)

1.上传php一句话木马

新建记事本,写入一句话木马,保存为php格式。

  <?php @eval($_POST['pass']);?>

提示不允许上传

绕过方法:

 方法一:

禁用javascript : F12--调试器--设置--禁用javascript。

然后再点击上传--F12 查看文件存储地址(也可以右键--复制图像链接--链接内含存储地址)

 上传成功。

#实战中禁用javascript,可能导致网页显示异常.

 方法二:

使用burpsuite拦截请求

修改文件名后缀为.php--点击forward 

上传成功

pass-2(MIME验证)

绕过方法:

方法一:

使用burpsuite拦截请求,修改Content-Type值:修改为image/png

 方法二:修改文件后缀

修改filename的值为shent.php 点击forward.

 上传成功

pass-3(文件名后缀黑名单限制上传

 首先上传php文件

提示:本pass禁止上传.asp|.aspx|.php|.jsp后缀文件!

绕过方法:

上传特殊可解析后缀名绕过:php2、php3、php4、php5、phtml
首先修改httpd.conf文件

以phpstudy2016为例:

1.点击其他选项菜单

2.打开配置文件--选择httpd-conf

3.修改代码

删除注释符‘#’,添加 .php2 .php3 .php4 .php5 后缀名。保存退出

 4.上传文件

新建文本,写入一句话木马:<?php phpinfo(); @eval($_POST['shell']); ?>,后缀名为.php3

右键复制图片链接,在新窗口访问, 解析成功

pass-4  (文件名后缀黑名单限制上传

".htaccess绕过"

.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

黑名单里没有限制 ".htaccess"

新建记事本,文件名".htaccess"输入以下内容保存。

<FilesMatch "1.png">  
        SetHandler application/x-httpd-php  
</FilesMatch>

命令允许:1.png图片可被当作php文件,执行图片里的php代码.

先上传".htaccess"文件,然后再上传"1.png"。

上传成功,右键复制图片连接,使用蚁剑链接。

输入地址和密码,测试连接"警告返回数据为空"

解决方法:

1.检查phpstudy版本是否为:5.2.17

2.更改编码器为:base64

测试连接:连接成功

pass-5

第五关限制后缀名很严格,包括大小写和.htaccess文件

绕过方法:添加点空格点'. .'绕过

使用bp抓包,修改后缀。

点击forward,上传成功

右键复制图片链接,在新窗口访问,解析成功

pass-6

提示中没有限制大小写

绕过方法:大小写绕过

使用bp抓包,修改后缀。

点击forward,上传成功

右键复制图片链接,在新窗口访问,解析成功

 如有问题,欢迎留言,一起学习。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值