任意文件上传的原理、危害及防御.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
任意文件上传的原理、危害及防御

文件上传漏洞的原理、危害及防御 什么是文件上传漏洞 Web应用程序通常会有文件上传的功能,例如在BBS发布图片,在个人网站发布ZIP压缩包,在办公平台发布DOC文件等,只要Web应用程序允许上传文件,就有可能存在文件上传漏洞. 什么样的网站会有文件上传漏洞? 大部分文件上传漏洞的产生是因为Web应用程序没有对上传文件的格式进行严格过滤,还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护,后面我们会讲到一些常见的解析漏洞,最后还有一些不常见的其他漏洞,如IIS PUT漏洞等. 文件上传漏洞的危害 上传漏洞与SQL注入或XSS相比,其风险更大,如果Web应用程序存在上传漏洞,攻击者甚至可以直接上传一个webshell到服务器上. 什么是webshell? webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的. 顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限.webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限.由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具.以上这段话源自百度百科对webshell的解释,如果对此感兴趣,可以搜索:一句话木马. 常见的解析漏洞 1.IIS解析漏洞 IIS6.0在解析文件时存在以下两个解析漏洞. ① 当建立*.asa、*.asp格式的文件夹时,其目录下的任意文件豆浆被IIS当作asp文件来解析. ② 在IIS6.0下,分号后面的扩展名不会被解析,也就是说当文件为*.asp;.jpg时,IIS6.0同样会以ASP脚本来执行. 2.Apache解析漏洞 在Apache 1.x和Apache 2.x中存在解析漏洞,但他们与IIS解析漏洞不同. Apache在解析文件时有一个规则:当碰到不认识的扩展名时,将会 从后向前解析,直到碰到认识的扩展名位置,如果都不认识,则会暴露其源码.比如: 1.php.rar.xx.aa Apache首先会解析aa扩展名,如果不认识则接着解析xx扩展名,这样一直遍历到认识的扩展名为止,然后再将其进行解析. 3.PHP CGI解析漏洞 在PHP的配置文件中有一个关键的选项: cgi.fi: x_pathinfo.这个选项在某些版本是默认开启的,在开启时访问url,比如:/x.txt/x.php,x.php是不存在的文件,所以php将会向前递归解析,于是就造成了解析漏洞.由于这种漏洞常见于IIS7.0、IIS7.5、Nginx等Web服务器,所以经常会被误认为是这些Web服务器的解析漏洞. 4.Nginx 8.03 空字节代码执行漏洞 影响版本:0.5,0.6,0.7=0.7.65 0.8=0.8.37 Nginx在图片中嵌入PHP代码,然后通过访问xxx.jpg%00.php可以执行其中的代码. 5.其他 在windows环境下,xx.jpg[空格]或xx.jpg.这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,攻击者可以通过抓包,在文件名后加一个空格或者点绕过黑名单.若上传成功,空格和点都会被windows自动消除,这样也可以getshell. 如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入: SetHandler application/x-httpd-php 然后再上传名称为shell.jpg的webshell,这样shell.jpg就可解析为php文件. 文件上传漏洞的防御方法 很多开发者仅仅通过使用javascript来防御非法文件上传,这样验证对于一些普通用户防止上传错误还可以,对专业的技术人员来说,这是非常低级的验证.攻击者可以通过非常多的方法来突破前端验证,下面举两个例子: 1.使用FireBug FireBug是一款开源的浏览器插件,它支持Firefox,Chrome等浏览器.它可以让Web开发者轻松地调试HTML、javascirpt、AJAX、CSS等前端脚本代码.正是因为FireBug功能强大,所以也成为了黑客的必备利器. 介绍完FireBug之后,我们来看如何使用FireBug绕过客户端检测. 当单击提交按钮后,Form表单将会触发onsubmit事件,onsubm

文档评论(0)

zhengshumian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档