科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件锁定:使用修订版OWASP Top Ten保证Web应用程序的安全——第三部分

锁定:使用修订版OWASP Top Ten保证Web应用程序的安全——第三部分

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

注入缺陷,特别是SQL注入脆弱性,可能给Web应用程序环境造成严重的商业风险。本文说明了注入缺陷和SQL注入攻击的本质,并就强化Web应用程序提出一些建议。

作者:builder.com.cn 2007年4月5日

关键字: Tom Olzak WebService 安全 OWASP

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共19页)

锁定:使用修订版OWASP Top Ten保证Web应用程序的安全——第一部分

锁定:使用修订版OWASP Top Ten保证Web应用程序的安全——第二部分

锁定:使用修订版OWASP Top Ten保证Web应用程序的安全——第三部分

注入缺陷,特别是SQL注入脆弱性,可能给Web应用程序环境造成严重的商业风险。本文说明了注入缺陷和SQL注入攻击的本质,并就强化Web应用程序提出一些建议。

在修订版Web应用程序OWASP前十列表系列文章的这个部分,我将讨论列表中排名第二的脆弱性——注入缺陷。我们将简单探讨普通的注入缺陷,然后深入了解SQL注入脆弱性。易于受到SQL注入攻击可能是这种类别中最危险的应用程序弱点。

何为注入缺陷?

通常来讲,注入缺陷允许攻击者通过操纵输入来改变应用程序的行为。这种行为上的改变可以避开访问控制,使得攻击者创建、修改、删除或阅读应用程序能够访问的任何数据。根据OWASP,最严重的情况可能是目标应用程序完全被攻破。

注入缺陷是由开发者所做的假设造成的,即被一个应用程序处理的输入字符串不包含语法内容。这个假设导致有效输入确认的缺失。

共有三种主要的注入攻击:

  • 系统调用
  • shell命令
  • SQL注入

本文其它内容将详细讨论SQL注入攻击。请查阅注入缺陷了解注入脆弱性的一般性讨论。

SQL注入攻击

在这种形式的注入脆弱性中,用户输入不被过滤。因此攻击者能够在输入中插入一个SQL语句或另外一个参数,然后在数据库中运行。

Stephen Kost在他2004年的论文《向Oracle开发者介绍SQL注入攻击》中描述了四种基本的SQL注入攻击。

  • SQL操纵——攻击者使用各种操作(如UNION)修改SQL语句。她还可以修改一个WHERE子句的语法来获得其它信息。
  • 代码注入——在代码注入攻击中,攻击者在现有的SQL代码中插入一个或几个新SQL语句。禁止每个数据库请求执行多个SQL语句的环境一般不易受到这种SQL注入攻击。
  • 函数调用注入——在一个SQL语句中插入数据库函数调用称为函数调用注入攻击。被插入的调用可能造成系统调用或操纵数据库表中的数据。
  • 缓冲区溢出——通常可以对没有打补丁的数据库成功实施这种攻击。它要么操纵输入来引起系统故障,要么执行恶意代码。

我们来看一个针对Oracle数据库的SQL操纵攻击实例。A显示了Web应用程序开发者编写的源代码,一个授权用户输入了用户名和密码。

图A

锁定:使用修订版OWASP Top Ten保证Web应用程序的安全——第三部分

操纵攻击实例(预计输入)(Kost 2004

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章