1、概述
现在各种类型的组织机构中使用了很多应用程序,例如:内容管理系统(CMS)、Wikis、Portals、公告牌和论坛。每周报告的应用程序漏洞就达到了成百上千次,同时,这些漏洞正在被不断的利用。每天试图对大型Web托管业务的攻击数量从几百几千甚至到数百万。
所有的Web框架(如PHP、.NET、J2EE、Ruby on Rails、ColdFusion、Perl等等)以及所有类型的Web应用程序都处于其安全缺陷的风险当中,这包括从缺乏有效性验证到应用程序逻辑错误。被利用最多的漏洞包括:
PHP远程文件包含(PHP Remote File Include):PHP是当今使用最普遍的WEB应用程序开发语言和框架。默认情况下,PHP允许文件操作功能使用 “allow_url_fopen”来访问Internet上的资源。当PHP脚本允许用户输入来影响文件名时,就会导致远程文件包含的攻击。这类攻击允许(但不限于):
远程代码执行
远程rootkit安装
在Windows中,系统内部可能受到PHP中SMB文件包装器的威胁
SQL注入(SQL Injection):注入攻击在Web应用程序中是最常见的,特别是SQL注入。在动态查询中混合了用户提交的数据,或者是构造了不合理存储过程,这都可能存在SQL注入攻击。SQL注入可以让攻击者:
创建、读取、更新或者删除任何对应用程序有用的数据
在最坏的情况下,可能威胁到整个数据库系统和周边系统
跨站点脚本(Cross-Site Scripting):跨站点脚本(俗称XSS)是危害最大也是最容易创建的Web应用程序安全问题。XSS允许攻击者修改WEB站点的界面,插入有害内容,进行钓鱼攻击,使用JavaScript恶意代码劫持浏览器,以及强制用户执行未经许可的命令——伪造跨站点请求就是已知的这类攻击,详见CSRF。
伪造跨站点请求(Cross-site request forgeries):CSRF强制合法用户执行未经许可的命令。这类攻击极其难以预防,除非应用程序不采用跨站点脚本向量,包括DOM注入。随着Ajax技术的出现,以及有效发现XSS攻击所需知识的增加,导致了CSRF攻击正变的越来越复杂,不管是作为主动个人攻击还是自动蠕虫攻击,例如Samy MySpace蠕虫。
目录往返移动(Directory Traversal):目录往返移动(通过“..”或者编码变量来访问文件)允许攻击者通过访问操作来控制资源,例如密码文件、配置文件、数据库凭证或者攻击者选择的其他文件。
2、如何确定你是否处于风险之中?3、如何防止Web应用程序漏洞?
4、参考资料
阅读全文...