开源Web应用安全计划总结了Web应用程序的十大安全漏洞。
在这10大安全漏洞中,不但包括了Web应用程序的脆弱性介绍,还包括了OWASP(开放式Web应用程序安全项目)的建议内容,帮助程序开发人员和企业尽量避免这些脆弱点给企业系统带来的风险。
1.注入式攻击(InjectionFlaws)。Web应用可能使用许多外部系统,比如系统调用、SQLdatabase和模版系统。Web应用使用这些程序时往往要传入参数。恶意代码可以通过参数传给解释程序,然后被执行。
2.失效的账户和session管理(BrokenAuthenticationandSessionManagement)。会话令牌,比如密码、钥匙和会话cookies需要得到保护,否则认证机制形同虚设。
3.跨站点脚本攻击(CrossSiteScripting,XSS)。浏览器执行来自站点的代码,比如javascript、flash等。攻击者将可执行的恶意代码脚本作为输入的一部分传给Web应用,这些脚本然后在其他用户的浏览器中运行,从而对使用它的其他用户造成损害。造成的结果是盗取会话令牌,攻击机器或者哄骗用户。
4.不安全的直接对象引用。当开发人员暴露一个对内部实现对象的引用时,例如,一个文件、目录或者数据库密匙,就会产生一个不安全的直接对象引用。在没有访问控制检测或其他保护时,攻击者会操控这些引用去访问未授权数据。
5.不安全的配置管理(InsecureConfigurationManagement)。网站和应用程序服务器有许多安全相关的配置选项。比如,默认的账号和密码;不必要的默认设置、备份、样例程序和库;显示过多信息的错误信息;错误的SSL认证等,这些都给服务器带来了潜在的危险。
6.敏感信息泄露。应用程序总是要处理各种各样的错误,比如内存溢出、过多用户、超时、数据库错误、认证错误、访问控制错误,输入错误等。应用程序错误处理机制需要明确地告诉用户出现什么错误,但是不留下任何可用来攻击服务器的信息。比如,操作系统,数据库的版本和数据库的驱动等信息等。
7.失效的访问控制(BrokenAccessControl)。很多站点的访问控制策略过于复杂或者实现不当。攻击者可以看到自己本不应当看到的内容,并且提高自己的权限。通过正确的实现访问控制,确保用户只能看到自己有权限看到的东西。
8.跨站请求伪造(CSRF)。一个跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的Web应用程序。这就允许了攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。
9.使用含有已知漏洞的组件非法输入(UnvalidatedInput)。比如:库文件、框架和其它软件模块,几乎总是以全部的权限运行。如果一个带有漏洞的组件被利用,这种攻击可以造成更为严重的数据丢失或服务器接管。应用程序使用带有已知漏洞的组件会破坏应用程序防御系统,并使一系列可能的攻击和影响成为可能。
10.未验证的重定向和转发。Web应用程序经常将用户重定向和转发到其他网页和网站,并且利用不可信的数据去判定目的页面。如果没有得到适当验证,攻击者可以重定向受害用户到钓鱼软件或恶意网站,或者使用转发去访问未授权的页面。
- 复式记帐【Double Entry】 - 2024年11月2日
- 外贸送货,用Send还是deliver? - 2024年10月26日
- 外贸短信平台在电商中的多种应用场景 - 2024年10月26日