• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 軟件測試開發技術SQL Server應用程序中的高級SQL注入

    發表于:2009-10-14來源:作者:點擊數: 標簽:軟件測試SQLSqlsqlSERVER
    軟件 測試 開發 技術SQL Server應用程序中的高級SQL注入 SQL Server數據庫 關鍵字: sql 介紹: SQL是一種用于關系數據庫的結構化查詢語言。它分為許多種,但大多數都松散地基于美國國家標準化組織最新的標準SQL-92。典型的執行語句是query,它能夠收集比較有
    軟件測試開發技術SQL Server應用程序中的高級SQL注入  SQL Server數據庫

    關鍵字:sql 介紹:

      SQL是一種用于關系數據庫的結構化查詢語言。它分為許多種,但大多數都松散地基于美國國家標準化組織最新的標準SQL-92。典型的執行語句是query,它能夠收集比較有達標性的記錄并返回一個單一的結果集。SQL語言可以修改數據庫結構(數據定義語言)和操作數據庫內容(數據操作語言)。在這份文檔中,我們將特別討論SQLSERVER所使用的Transact-SQL語言。

      當一個攻擊者能夠通過往query中插入一系列的sql語句來操作數據寫入到應用程序中去,我們管這種方法定義成SQL注入。

      一個典型的SQL語句如下:

      Select id,forename,surname from authors

      這條語句將返回authors表中所有行的id,forename和surname列。這個結果可以被限制,例如:

      Select id,forename,surname from authors where forename'john' and surname='smith'

      需要著重指明的是字符串'john'和'smith'被單引號限制。明確的說,forename和surname字段是被用戶提供的輸入限制的,攻擊者可以通過輸入值來往這個查詢中注入一些SQL語句,

      如下:

      Forename:jo'hn

      Surname:smith

      查詢語句變為:

      Select id,forename,surname from authors where forename='jo'hn' and surname='smith'

      當數據庫試圖去執行這個查詢時,它將返回如下錯誤:

      Server:Msg 170, Level 15, State 1, Line 1

      Line 1:Incorrect syntax near 'hn'

      造成這種結果的原因是插入了.作為定界符的單引號。數據庫嘗試去執行'hn',但是失敗。如果攻擊者提供特別的輸入如:

      Forename:jo';drop table authors—

      Surname:

      結果是authors表被刪除,造成這種結果的原因我們稍后再講。

      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>