WEB开发网
开发学院软件开发Java 使用 Rational AppScan 保证 Web 应用的安全性,第... 阅读

使用 Rational AppScan 保证 Web 应用的安全性,第 1 部分: Web 安全与 Rational AppScan 入门

 2009-11-20 00:00:00 来源:WEB开发网   
核心提示: 下面我们举一个例子来说明注入缺陷是如何进行的,在一个交易网站中,使用 Rational AppScan 保证 Web 应用的安全性,第 1 部分: Web 安全与 Rational AppScan 入门(6),用户必须输入产品 ID 号才可以查看该产品的详细信息,为了实现这个需求,上述说明的&l

下面我们举一个例子来说明注入缺陷是如何进行的。在一个交易网站中,用户必须输入产品 ID 号才可以查看该产品的详细信息。为了实现这个需求,通常会用 SQL 语句查询数据库来实现。开发人员在编写应用程序时,可能会使用如下的 SQL 语句来实现上述目的(这里仅为示例):

1) Select * from products where product_id = ` + 用户输入的 ID + `

这里的 products 是数据库中用来存放产品信息的表,+号表示 SQL 语句需要和用户输入的真实 ID 进行拼接。如果用户输入 325,则该语句在执行时变为:

Select * from products where product_id = ` 325 ` 

数据库会将 ID 为 325 的产品信息返回给用户。

2) 在界面上,需要用户输入产品 ID 的地方,黑客会输入如下数据:

` or `1`= `1 

可以看到,黑客并没有输入正常合法的产品编号。

3) 通过黑客的非法输入,需要执行的 SQL 语句变为:

Select * from products where product_id = ` ` or `1`=`1` 

可以看出,SQL 语句的意义就完全改变了,当产品 ID 为空或者 1=1 时,返回产品所有信息,而 1=1 是永远成立的条件,因此,黑客并没有输入任何产品编号,就可以返回数据库中所有产品的详细信息。

通过这个例子,我们可以看出,注入缺陷是风险非常高的安全漏洞,一旦 Web 应用中给用户提供了需要其输入数据的接口,就有可能遭到攻击,将后台的数据完全暴露在用户的面前。

上述说明的“跨站点脚本攻击”和“注入缺陷攻击”,是目前 Web 应用中比例最高的两种攻击手段,按照 OWASP 的项目排序,还有如下八种风险性较高的攻击方法:

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:使用 Rational AppScan

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接