51Testing软件测试论坛

标题: Web 应用十大安全隐患 [打印本页]

作者: ruanyongjie    时间: 2008-9-6 11:05
标题: Web 应用十大安全隐患
非法输入 Unvalidated Input  
    在数据被输入程序前忽略对数据合法性的检验是一个常见的编程漏洞。随着OWASP对Web应用程序脆弱性的调查,非法输入的问题已成为大多数Web应用程序安全漏洞方面的一个普遍现象。
  失效的访问控制 Broken Access Control  
    大部分企业都非常关注对已经建立的连接进行控制,但是,允许一个特定的字符串输入可以让攻击行为绕过企业的控制。
  失效的账户和线程管理 Broken Authentication and Session Management  
有良好的访问控制并不意味着万事大吉,企业还应该保护用户的密码、会话令牌、账户列表及其它任何可为攻击者提供有利信息、能帮助他们攻击企业网络的内容。
  跨站点脚本攻击 Cross Site Scripting Flaws  
这是一种常见的攻击,当攻击脚本被嵌入企业的Web页面或其它可以访问的Web资源中,没有保护能力的台式机访问这个页面或资源时,脚本就会被启动,这种攻击可以影响企业内成百上千员工的终端电脑。
  缓存溢出问题 Buffer Overflows  
这个问题一般出现在用较早的编程语言、如C语言编写的程序中,这种编程错误其实也是由于没有很好地确定输入内容在内存中的位置所致。
  注入式攻击 Injection Flaws
  如果没有成功地阻止带有语法含义的输入内容,有可能导致对数据库信息的非法访问,在Web表单中输入的内容应该保持简单,并且不应包含可被执行的代码。
  异常错误处理 Improper Error Handling  
    当错误发生时,向用户提交错误提示是很正常的事情,但是如果提交的错误提示中包含了太多的内容,就有可能会被攻击者分析出网络环境的结构或配置。
  不安全的存储 Insecure Storage  
    对于Web应用程序来说,妥善保存密码、用户名及其他与身份验证有关的信息是非常重要的工作,对这些信息进行加密则是非常有效的方式,但是一些企业会采用那些未经实践验证的加密解决方案,其中就可能存在安全漏洞。
  程序拒绝服务攻击 Application Denial of Service  
    与拒绝服务攻击 (DoS)类似,应用程序的DoS攻击会利用大量非法用户抢占应用程序资源,导致合法用户无法使用该Web应用程序。
  不安全的配置管理 Insecure Configuration Management
  有效的配置管理过程可以为Web应用程序和企业的网络架构提供良好的保护。
  以上十个漏洞并不能涵盖如今企业Web应用程序中的全部脆弱点,它只是OWASP成员最常遇到的问题,也是所有企业在开发和改进Web应用程序时应着重检查的内容。

[ 本帖最后由 ruanyongjie 于 2008-9-6 11:07 编辑 ]
作者: archonwang    时间: 2008-9-12 10:07
SQL注入是不是一种“非法输入 Unvalidated Input”?请楼主赐教。谢谢。
作者: ruanyongjie    时间: 2008-9-12 11:27
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击.
作者: bzcyer    时间: 2008-9-18 21:09
现在SQL注入的不是很多了吧,这方面就是做企站的都会去关注的,但XSS就不同了,嘿嘿。。。
公司里的项目,基本上去查的话都会有,或轻微的或严重的。严重的直接在一些写进数据库的地方都能写脚本,太夸张了。。。
作者: lvxdoo    时间: 2008-9-26 11:19
很复杂,要用心来看了
作者: 小白杨    时间: 2008-9-26 13:21
已收藏,感谢楼主分享.
作者: marx-zhang    时间: 2008-10-30 10:12
能不能说的具体点。
作者: chen13    时间: 2009-1-1 21:09
标题: 回复 2# 的帖子
SQL注入 是属于"注入式攻击 Injection Flaws"这类的.

跟 第一点 非法输入 其实很相似.

非法输入  输入的地方,没有判断或判断逻辑有问题, 忽略对数据合法性和来源的检验.
比如我们经常可能遇到在论坛回复时显示"提交数据不合法,不要从外部提交". 另外 入侵网站手段之一 "本地提交"是一种非法输入.

SQL注入  更多的是在不需要输入的地方,比如某些动态连接的参数后边,提交了 sql语句,达到探测数据库的目的.
作者: navy2008    时间: 2009-9-9 12:19
版主能否就一个具体的例子说下呢?




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2