• 軟件測試技術
  • 軟件測試博客
  • 軟件測試視頻
  • 開源軟件測試技術
  • 軟件測試論壇
  • 軟件測試沙龍
  • 軟件測試資料下載
  • 軟件測試雜志
  • 軟件測試人才招聘
    暫時沒有公告

字號: | 推薦給好友 上一篇 | 下一篇

軟件測試開發技術SQL Server應用程序中的高級SQL注入

發布: 2009-10-14 09:55 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 16次 | 進入軟件測試論壇討論

領測軟件測試網 軟件測試開發技術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.anti-gravitydesign.com/

TAG: server Server SERVER sql SQL Sql 技術 軟件測試 應用程序


關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97