1. 程式人生 > >【SQL】SQL注入攻擊(一)

【SQL】SQL注入攻擊(一)

【前言 】

前一段時間在接觸壓力測試的時候,多多少少也聽到其他的測試方法,自己對這個安全測試挺感興趣的。就自己在網上找了些資料總結了下,請多多指正!!

【正文 】

一、 SQL注入攻擊的背景:

在資訊科技高速發展的今天,各種各樣複雜的威脅網站技術也同時快速的“發展”,讓人們防不勝防。他們利用網路的安全漏洞進行各種惡意活動,如賬號盜用、私密資訊截獲、頻寬資源佔用等。嚴重破壞了網路的正常健康執行,危害十分嚴重。
網站威脅的目標定位有多個維度,可以是個人、公司、某種行業,甚至國家、地區、性別、種族、宗教等。通常情況下攻擊會採用多種形態,如病毒、蠕蟲、特洛伊、間諜軟體等或是他們的複合形態。可以分為內部攻擊和外部攻擊兩類:
 內部攻擊主要來自信任網路,可能是使用者執行了未授權訪問或是無意中定製了惡意攻擊。
 外部攻擊主要是由於網路漏洞被利用或者使用者受到惡意程式制定者的專一攻擊。

二、 SQL注入攻擊的概念

SQL注入攻擊源於英文“SQL Injection Attack”。目前還沒有看到一種標準的定義,常見的是對這種攻擊形式、特點的描述。微軟技術中心從2個方面進行了描述:
 指令碼注入式的攻擊。
 惡意使用者輸入用來影響被執行的SQL指令碼。  
Stephen Kost給出了這種攻擊形式的另一個特徵,“從一個數據庫獲得未經 授權的訪問和直接檢索”。SQL注入攻擊就其本質而言,他利用的工具是SQL的語法,針對的是應用程式開發者程式設計過程中的漏洞。“當攻擊者能夠操作資料,往應用程式中插入一些SQL語句時,SQL注入攻擊就發生了”。
SQL注入攻擊是指黑客利用一些Web 應用程式(論壇, 留言本, 文章釋出系統)中某些疏於防範的使用者可以提交或修改的資料的頁面, 精心構造Sql 語句, 把特殊的SQL 指令語句插入到系統實際SQL語句中並執行它, 以獲取使用者密碼等敏感資訊, 以及獲取主機控制權限的攻擊方法。

三、 SQL注入攻擊特點

廣泛性

SQL注入攻擊利用的是SQL語法,因此只要是利用SQL語法的Web應用程式如果未對輸入的SQL語句做嚴格的處理都會存在SQL注入漏洞,目前以Active/Java Server Pages、 Cold Fusion Management、 PHP、Perl等技術與SQL Server、Oracle、DB2、Sybase等資料庫相結合的Web應用程式均發現存在SQL注入漏洞。

 技術難度不高

SQL注入技術公佈後,網路上先後出現了多款SQL注入工具,例如教主的HDSI、NBSI、明小子的Domain等,利用這些工具軟體可以輕易地對存在SQL注入的網站或者Web應用程式實施攻擊,並最終獲取其計算器的控制權。

 危害性大

SQL注入攻擊成功後,輕者只是更改網站首頁等資料,重者通過網路滲透等攻擊技術,可以獲取公司或者企業機密資料資訊,產生重大經濟損失。