文件上传漏洞 upload-labs 靶场

Pass-01

checkFile() 函数 js对不合法图片进行检查!
前端绕过,可禁用js,也可抓包修改
这里前端绕过 网页右键 检查元素 删除 οnsubmit=“return checkFile()” 这段代码
然后直接上传做好的1.php 一句话木马 上传成功 菜刀连接即可
在这里插入图片描述

Pass-02

对数据包的MIME进行检查
可上传php文件 burp抓包修改 Content-Type: image/jpeg 即可
或者上传写好的a.jpg图片马 再burp抓包修改文件名为 a.php 上传 绕过成功

Pass-03

黑名单绕过 尝试上传图片马把后缀名burp抓包改为php3 绕过成功

Pass-04

查看源代码 发现黑名单几乎过滤了全部的违法后缀名 但少过滤了 .htaccess 后缀
AddType application/x-httpd-php .jpg 这个指令代表有.jpg文件会当做php解析。
将这句代码放进txt文件,将文件名修改成 .htaccess,然后上传它 再直接上传图片马即可

Pass-05

黑名单里加上了 .htaccess 后缀 ,但是没有 进行大小写 过滤
直接上传 1.phP 即可

Pass-06

发现没有过滤 首尾去空
用burp 抓包 在文件后缀名 后面加上 空格 成功绕过

Pass-07

没有过滤 后缀名后面的点,可burp抓包 在后缀名加点绕过

Pass-08

没有 去除字符串::$DATA
burp抓包 后缀名加上 ::$DATA 成功绕过

Pass-09

之前的漏洞都 补上了
代码中将后缀的部分做了处理,但是明显处理不全面,先trim去空格再deldot去点,上传时路径拼接的是$file_name 只是删除了最后的空格和点号,这个时候多加几个空格和点号就可以上传了 burp抓包 构造 . . (点空格点) 成功绕过

Pass-10

\ $file_name = trim($_FILES[‘upload_file’][‘name’]);
$file_name = str_ireplace($deny_ext,"", $file_name);
trim():函数移除字符串两侧的空白字符或特殊字符
srt_ireplace():替换文本
当file_name中出现deny_ext中存在的字符串,就把它去掉,但只处理了一次
双写绕过 将123.php 改为 123.phphpp 成功绕过

Pass-11

$img_path = $_GET[‘save_path’]."/".rand(10, 99).date(“YmdHis”).".".$file_ext;
文件名取自10-99随机选择数字
strrpos():查找"指定字符串" 在字符串中最后一次出现的位置
substr():替换文本

$img_path是直接拼接的,漏洞在于上传的路径可控,上传路径名%00截断绕过。
上传的文件名写成123.jpg, burp抓包 把save_path改成…/upload/123.php%00,最后保存下来的文件就是123.php

00截断的条件

**php版本必须小于5.3.4
并且php.ini中的magic_quotes_gpc设置为Off** 

在这里插入图片描述

~Pass-12

save_path参数通过POST方式传递,还是利用00截断,因为POST不会像GET对%00进行自动解码
在这里插入图片描述空格二进制 为 20 ,改成00
在这里插入图片描述

Pass-13

上传图片马,上传的内容中加上一行GIF89a

Pass-14

getimagesize获取文件类型,还是直接就可以利用图片马就可进行绕过

Pass-15

php_exif模块来判断文件类型,还是直接就可以利用图片马就可进行绕过

Pass-16

二次渲染

Pass-17

条件竞争
unlink() 函数,此函数是删除文件的作用,
这里先将文件保存在服务器中,再判断后缀名,若后缀名不合法则删除文件
通过条件竞争的方式在unlink之前,访问上传文件。
利用条件竞争删除文件时间差绕过。

上传内容 <?php phpinfo();?> 的php文件试试,然后burp抓包
这里intercept is on

在这里插入图片描述放入intruder 清除 clear 所有被选的值
在这里插入图片描述
这里 start attack 之前 要回 proxy 里把intercept is on 变成 off
然后start attack ,;另一边 浏览器一直刷新我们上传的http://127.0.0.1/upload-labs/upload/phpinfo.php

在这里插入图片描述

Pass-18

Pass-19

Pass-20

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值