WEB开发网
开发学院数据库Oracle 从黑客角度检验oracle数据库 阅读

从黑客角度检验oracle数据库

 2008-09-08 12:51:22 来源:WEB开发网   
核心提示: – Password: Hardtoguesspasswordsql语句: – SELECT * FROM WebUsers WHEREUsername=’Bob’ ANDPassword=’Hardtoguess’这

– Password: Hardtoguesspassword

sql语句: – SELECT * FROM WebUsers WHERE

Username=’Bob’ AND

Password=’Hardtoguess’

这是我们一个典型的检验机制在登陆到web site上时,然后通过select语句和数据库进行匹配,如果匹配建立,用户被鉴别。如果在我们的代码中记录集合为空,将准备一个无效的username或者password,登陆被拒绝。

5 黑客的输入

代替password的输入:

– Aa’ OR ‘A’=‘A‘

相应的sql语句:

– SELECT * FROM WebUsers WHERE

Username=’Bob’ AND Password=’Aa’ OR

‘A’=‘A’

黑客已经进入了数据库。

6 Selecting from other Tables

• To select data other than the rows from the

table being selected from

• UNION the SQL Statement with the

DBA_USERS view.

这是另一个例子取得数据从其他的表中,这与当前的查询无直接联系。最好的方法是查找屏幕中包含选项的动态列表。如果这个sql只是注意一个单值,黑客不能得到其他数据。

而且一些小技巧单一查询变成2个查询或者是把他们组合起来,这有点难道,你要匹配列数还有列的数据类型。然后一些服务器提供你一个错误的消息,使得这项是可行的。一些Error类似为:

  Number of columns does not match
  
  Or
  
  2nd column in UNION statement does not match the type of the first statement.
  
  7Sample ASP Page
  
  Dim sql
  
  Sql = “SELECT * FROM PRODUCT WHERE
  
  ProductName=’” & product_name & “’”
  
  Set rs = Conn.OpenRecordset(sql)
  
  ‘ return the rows to the browser
  
  Once again we have the ASP page. An attacker does not really need this, but it does
  
  make our lives easier for demonstration purposes. Once again we are not using
  
  parameterized queries, but instead are concatenating a string to build our SQL
  
  statement.

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

Tags:黑客 角度 检验

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