文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up

http://39.96.86.88/2020/04/03/

write up

  • 文件上传
  • write up

文件上传

0x01 文件上传绕过

1.客户端js检查绕过

原理:客户端通过js检查提交的文件是否合法

绕过:

​ 1.添加允许上传的文件类型,使待上传的文件合法

​ 2.删除对js验证脚本的调用,使其不能进行检测,从而绕过。具体是删除

​ οnsubmit="return checkFile(),它的作用是点击上传时,会触发js验证脚本,删除 后无法触发。

​ 3.burpsuite抓包,修改文件类型。先将想要上传的脚本的后缀改为符合要求的后 缀(eg: demo.php -> demo.jpg),当点击上传时使用burp suite抓包将后缀改回 为.php,让服务器能运行上传的php代码。

2.服务端绕过

1.MIME类型检测绕过

原理:当用户上传文件到服务器端时,服务器会获得上传文件的MIME类型,然后利用这个类型和期望的MIME类型匹配,匹配不上则不合法。

#//检测MIME类型代码
if (($_FILES['upload_file']['type'] == 'image/jpeg') || ($_FILES['upload_file']['type'] == 'image/png') || ($_FILES['upload_file']['type'] == 'image/gif')){

 ...//判断过后对文件处理的进一步操作
}

绕过:

​ 获取MIME类型的值是通过HTTP请求字段里的Content-Type字段,所以绕过方是通 过修改Content-Type的值,比如: image/jepg image/png image/gif 等等上传类型 对应的MIME值。

2.黑名单绕过

原理:服务器有一个黑名单,只要你上次的文件和黑名单匹配,那么禁止上传。

绕过:

​ 1.文件名大小绕过

​ AsP,pHp之类的后缀绕过

​ 2.名单列表绕过

​ 利用黑名单没有的进行攻击,比如黑名单里没有asa或cer等

​ 3.特殊文件名绕过

​ 比如发送的http暴力的文件名改为test.asp. 或者 test.asp_(下划线为空格),因为 windows不允许这种命名方式,所以在burp suite里面修改,绕过检测后,windows 会自动去掉后面的 点 和 空格 。(linux无此特性)

​ 4.0x00截断绕过

test.php(0x00).jpg
test.php%00.jpg

​ 为什么?看下面这张图片,空,被解析后只剩下test.php

文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up_第1张图片

​ 5. .htaccess文件攻击

​ 6.解析调用/漏洞绕过

​ 7. .init文件攻击

​ 8.文件头绕过

​ 在木马基础上添加一些文件信息,比如加上 GIF89a 是服务器将文件作为图片文 件。

​ 9.多个Content-Disposition

​ 在iis环境下,上传文件如果有多个Content-Disposition,iiis会取第一个Content- Disposition中的值作为接收参数,而waf只是取最后一个的话便会绕过, Win2k8 + IIS7.0 + PHP

​ 10.目录验证

​ iis6.0存在写入目录

0x02大佬常用的一句话

​ 1.一次任意上传漏洞,在config.php中未发现定义类型Media,请求: upload/.php?Type=Media

​ 2.上传图片木马

​ 3.序列化木马


    class A{
    	var $a = '';
}
$b = new A();
echo serialize($b);
?>

​ 4.php后缀: php,php3,php4,php5,phtml,pht

​ 5.扩展名绕过

Asp:asa cer cdx
Aspx:ashx asmx ascx
Php:php3 phptml
Jsp:jspx jspf

​ 6.


​ 7.

GIF89a

https://www.cnblogs.com/ldhbetter/p/9190556.html
https://www.cnblogs.com/wangtanzhi/p/12243206.html

write up

直接上传jpg文件里面写入 php木马

文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up_第2张图片

回显表明不能有php格,说明php一句话不能用了

文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up_第3张图片

换一句话

说不是图片

文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up_第4张图片

上传图片木马遇到拦截系统,连图片木马都上传不了,记事本打开图片木马在代码最前面加上gif89a,一般就能逃过拦截系统了。

既然代码可以屏蔽了“

一句话换为 :

GIF89a

为了让服务器能运行里面的php代码,上传的文件最终应该是php文件,这里用burpsuite抓包,改后缀为phtml。

php常用后缀: php,php3,php4,php5,phtml,pht,phtm

得到flag

文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up_第5张图片

原来之前一直连不上是因为upload.php整成了upload_file.php(好像是上传后自动会创建upload文件夹防上传的文件),好像以前的题目也有这样的情况,淦,只有记住了。虽然还是不明白为什么时upload,但无所谓了。不过借此机会把蚁剑下下来了,还行吧。
附上百度云链接:https://pan.baidu.com/s/1J7SH4mchH8AHyo7ybs4eFg
密码:xl0m
文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up_第6张图片

你可能感兴趣的:(文件上传漏洞 随便贴一个实战演示 BUU Upload(文件上传,过滤后缀,另类一句话) write up)