OWASP TOP 10 (2013)

1. 注入

注入攻击漏洞,例如SQL,OS 以及LDAP注入。这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候。攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者在未被恰当授权时访问数据。

2. 失效的身份认证和会话管理

身份认证:

最常见的是登录功能,往往是提交用户名和密码,在安全性要求更高得情况下,有防止密码暴力破解的验证码,基于用户端的证书,物理口令卡等

会话管理:

HTTP本身是无状态的,利用会话管理机制来实现连接识别.身份认证的结果往往是获得一个令牌,通常放在cookie中,之后对用户身份的识别根据这个授权的令牌进行识别,而不需要每次都要登录.

失效的身份认证和会话管理:

与身份认证和会话管理相关的应用程序功能往往得不到正确的实现,这就导致了攻击者破坏密码、密匙、会话令牌或攻击其他的漏洞去冒充其他用户的身份。

  1. 用户更改密码之前不需要验证,而是依靠会话的ip地址
  2. 没有会话超时限制
  3. 密码找回功能过于简单
  4. session放在URL中

3. 跨站脚本攻击 (Xss)

当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,就将它发送给一个网页浏览器,这就会产生跨站脚本攻击(简称XSS)。XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话、危害网站、或者将用户转向至恶意网站。

4. 不安全的直接对象引用

指一个已经授权的用户,通过更改访问时的一个参数,从而访问到了原本其并没有得到授权的对象。
当开发人员暴露一个对内部实现对象的引用时,例如,一个文件、目录或者数据库密匙,就会产生一个不安全的直接对象引用。在没有访问控制检测或其他保护时,攻击者会操控这些引用去访问未授权数据。

不安全的直接对象引用实例

某网站的新闻检索功能可搜索指定日期的新闻,但其返回的URL中包含了指定日期新闻页面的文件名:http://example.test/online/news.asp?item=28Jan2016.html。
攻击者可以尝试不同的目录层次来获得系统文件win.ini,例如࿰

你可能感兴趣的:(Web安全,OWASP,Web安全)