成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數據庫防火墻如何防范SQL注入行為

安全 數據安全
通過SQL注入可以遠程獲取并利用應用里的數據,并且獲取未經hashed加密的用戶秘鑰以及信用卡信息,甚至有以管理員身份登陸進這些應用的可能。

一、SQL注入簡介

什么是SQL注入

SQL注入是當前針對數據庫安全進行外部攻擊的一種常見手段。現有主流應用大多基于B/S架構開發,SQL注入的攻擊方式正是利用web層和通訊層的缺陷對數據庫進行外部惡意攻擊。將SQL命令巧妙的插入通訊的交互過程中,如:Web表單的遞交、域名輸入、頁面請求等。通過硬性植入的查詢語句攻擊數據庫,以期利用服務器自身缺陷執行惡意的SQL命令,從而入侵數據庫。因此通過SQL注入攻擊方式產生的安全事件也在增多,對系統的危害性極大。

通過SQL注入可以遠程獲取并利用應用里的數據,并且獲取未經hashed加密的用戶秘鑰以及信用卡信息,甚至有以管理員身份登陸進這些應用的可能。下面通過一組常見的SQL注入攻擊方式,進行說明:

首先,我們假設數據庫中有JOB表,模擬進行攻擊,查詢表中數據量。

然后,應用中調用惡意的攻擊性url向JOB表植入SQL語句:

http://localhost:port/webapp/Default.aspx?jobid=1'or 1=(select count(*) from job)—

那么,攻擊時等效的SQL語句如下:

 

  1. SELECT       job_id, job_desc, min_lvl, max_lvl   
  2. FROM         jobs   
  3. WHERE      job_id='1'or 1=(select count(*) from jobs) --'  

 

如果SQL注入的假設錯誤,web頁面如圖一:

數據庫防火墻如何防范SQL注入行為

圖一

如果SQL注入的假設成功,web界面如圖二:

數據庫防火墻如何防范SQL注入行為

圖二

攻擊說明:如果SQL注入的假設成功,即證明了數據庫中該表的表名是jobs,從而我們也就可以對該表進行增刪改操作,從而對數據庫安全造成極其嚴重的危害。

SQL注入的8種攻擊行為

安全界有句名言“未知攻,焉知防”,想要預防SQL注入,需要進一步剖析SQL注入都有哪些常見攻擊方式。

1. 猜測數據庫名,備份數據庫

2. 猜解字段名稱

3. 遍歷系統的目錄結構,分析結構并發現WEB虛擬目錄,植入木馬

4. 查詢當前用戶的數據庫權限

5. 設置新的數據庫帳戶提權得到數據庫管理員賬戶權限

6. 利用存儲過程獲取操作系統管理員賬戶

7. 客戶端腳本攻擊:通過正常的輸入提交方式將惡意腳本提交到數據庫中,當其他用戶瀏覽此內容時就會受到惡意腳本的攻擊。

8. 客戶端腳本攻擊:通過SQL注入方式將惡意腳本提交到數據庫中,直接使用SQL語法UPDATE數據庫,并將注入SQL經過“HEX編碼”,然后通過exec執行“動態”SQL的特性運行腳本。

綜上可知,SQL注入對數據庫的攻擊方式日趨繁多,危害也日益嚴重,因此如何做好SQL注入的防護工作也就變成考量數據庫安全產品的一道標桿。

SQL注入的5種防護方式

常規的SQL注入防護方式,包括以下幾個方面

1. 通過正則表達校驗用戶輸入

2. 通過參數化存儲過程進行數據查詢存取

3. 參數化SQL語句

4. 為數據庫添加新架構

5. 利用LINQ to SQL查詢

針對以上SQL 5種注入防護方式,可以在一定程度上避免SQL注入對數據庫所帶來的入侵危害,但這些操作同步會使數據庫操作復雜化,在一定程度上提高了企業運維成本,同時降低數據庫操作性能。因此,一種專門針對數據庫防護類產品——數據庫防火墻誕生,可以針對SQL注入攻擊行為進行主動有效的防護。

二、數據庫防火墻如何防御SQL注入

數據庫防火墻作為專業的數據庫安全防護工具,而針對SQL注入等數據庫攻擊行為的防護能力如何,是衡量一款數據庫防火墻產品優略的關鍵要素。

目前國內數據庫安全的專業廠商安華金和,自主研發推出數據庫防火墻(DBFirewall)產品基于對數據庫協議的精準解析,對SQL注入行為的分析更加精確,極大程度上避免了對SQL注入攻擊行為的漏防與誤防。

SQL注入的概念來自于Web系統,數據庫防火墻在防止SQL注入時,針對已經形成且即將到達數據庫的完整SQL,監測是否有非法的操作,并有效阻止針對于數據庫的非法入侵行為。

數據庫防火墻如何防范SQL注入行為

圖三:DBFirewall SQL注入攻擊防護引擎

DBFirewall對于SQL注入行為的識別,可以分為以下三種:

1. 通過發送意外數據來觸發異常,利用獲取數據的GET操作,變更信息的POST操作,結合數據庫異常信息,從而判斷注入是否發生。

例如:

www.abc/show.php?category=bikes
www.abc/show.php?category=bik’ ’es

如果以上兩句的執行結果相同,則可能存在SQL注入。

2. 利用應用程序試探。

如果應用程序沒有對數據庫服務器返回的錯誤信息進行處理,那么數據庫的錯誤信息將直接反饋到前臺,通過這些錯誤信息,不但可以識別出SQL注入的漏洞所在,甚至可能逐步探測出數據庫表信息。

3. 根據應用響應時間判斷

通過上述幾種方式可以初步判斷SQL注入行為的產生,但是為了提高準確性,安華金和數據庫防火墻具有獨特的設計流程,通過構建一條有效的SQL語句,幫助用戶確認SQL注入行為:

1) SQL語句中區分數值類型和字符串類型

2) 驗證注入SQL代碼時,是否是通過注釋剩下的查詢來成功結束該語句。

3) 當web應用程序未顯示任何錯誤時,數據庫注入時間延遲。

可以檢測服務器響應來確定注入

安華金和數據庫防火墻基于對SQL注入的各種攻擊行為,進行有針對性的數據庫防護,從而形成更加完備的防護體系。下面列舉幾種常見的SQL注入攻擊行為做分析說明,并具體描述一下DBFirewall是如何進行防護的。

1) SQL注入識別數據庫

攻擊方法一:通過獲取數據庫異常信息,數據庫版本信息的方式進行SQL注入攻擊

防御方法:利用DBFW的配置錯誤替換規則,對常見的錯誤信息進行替換

攻擊方法二:獲取版本信息

SELECT banner FROM v$version或

SELECT banner FROM v$version WHERE rownum=1

防控方法:采用風險評估中的系統表控制規則,或者通過訪問控制權限中,對不同的用戶控制對系統表的訪問權限。

2) 利用UNION語句提取數據

如果應用返回第一個(原始)查詢得到的數據,那么通過在第一個查詢后面注入一個UNION運算符,并添加另外藝哥任意查詢,便可以讀取到數據庫用戶訪問過的任何一張表。

攻擊方法:多次使用各種數據類型替換null,直到系統不再報錯為止,例如

 

  1. select username,password from admin union select ‘test’,’test’ from dual  
  2.  

 

如果測試成功,可以替換為:

 

  1. select username,password from admin union select user, ’test’ from dual 

 

獲得系統信息

防控方法:開啟DBFW的風險評估union評測,以及系統表的評測

3) 利用條件語句

攻擊方法一:基于時間

對于oracle來說,可以使用sleep,或者UTL_HTTP、HTTPURITYPE向一個死的IP地址發送一個HTTP請求來實現相同的效果。如果指定一個不存在監聽者的IP地址,那么下列查詢將一直等待連接知道超時:

 

  1. select utl_http.request(‘http://10.0.0.1’) from dual  
  2. select HTTPURITYPE(‘http://10.0.0.1’).getclob() from dual 

 

防控方法:開啟風險評估里的暴力破解函數。

攻擊方法二:基于字符串轉換

對于傳入參數是字符串的,可以用char函數轉化其中一個字符,根基返回的結果可以實現SQL注入。

例如:

 

  1. select * from products where brand=’ac’+char(108+(case when system_user=’sa’ then else 0 end))+’e’ 

 

防控方法:將char作為暴力破解函數。

4) 提權行為

在Oracle中,通過Web應用的SQL注入來提升權限非常困難。大多數權限提升方法均需要PL/SQL注入,而這種注入很少見。如果找到一種PL/SQL注入漏洞,可以通過注入PL/SQL代碼來提升權限或在數據庫服務器上啟動操作。

不需要PL/SQL注入的例子是:使用在Oracle的mod_plSQL組件中發現的一個漏洞。

防控方法:使用訪問控制或者風險評估,加入用戶權限控制或高危操作

除了上述幾種常見的SQL注入行為之外,DBFW內置可防護的SQL注入攻擊行為還包括:竊取hash口令、利用操作系統攻擊等。并且可以根據:風險級別、告警通知、SQL命令、命令特征、風險函數、表達式、類型、操作人、操作等幾項元素自定義SQL注入防護規則。

責任編輯:藍雨淚 來源: 51CTO.com
相關推薦

2011-03-17 14:35:08

防火墻SQL Server數

2018-05-25 16:56:43

2011-08-02 13:37:17

2011-02-28 09:14:36

2018-05-17 23:07:12

2021-02-19 11:10:10

數據庫

2011-02-16 10:46:27

2020-11-02 17:59:19

防火墻數據庫美創科技

2010-09-15 16:52:16

2012-03-12 11:21:12

虛擬防火墻虛擬化平臺虛擬機

2022-09-20 16:38:08

數據安全數據泄露安全

2011-04-08 17:13:39

2010-12-21 18:04:26

2010-09-30 17:33:46

2021-07-28 09:53:53

FalconEye注入安全檢測

2010-12-08 09:29:27

下一代防火墻

2010-09-14 13:08:52

2010-09-16 11:18:01

2018-07-02 09:18:11

Linuxiptables防火墻

2018-03-10 07:39:06

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人在线免费观看视频 | 操操操日日日 | 欧美精品欧美精品系列 | 国产1区| 国产精品久久久久久久久久久久久 | 成人a网 | 欧产日产国产精品v | 亚洲国产高清高潮精品美女 | a毛片视频网站 | 欧美性生活网 | 亚洲精品一 | 另类亚洲视频 | 高清欧美性猛交xxxx黑人猛交 | 日日夜夜狠狠操 | 精品久久久久久中文字幕 | 国产精品久久久久久亚洲调教 | 亚洲一区二区在线视频 | 国产精品一区一区三区 | 国产精品亚洲欧美日韩一区在线 | 日韩中文字幕在线观看 | www.狠狠干| 欧美中国少妇xxx性高请视频 | 欧美一区精品 | 日韩精品在线一区 | 日韩在线不卡 | 麻豆国产一区二区三区四区 | 国产精品精品视频一区二区三区 | 国产精品伦一区二区三级视频 | 狠狠操狠狠色 | 久久9久 | 日韩中文一区二区三区 | 天天做日日做 | 欧美黑人一级爽快片淫片高清 | 欧美成人a∨高清免费观看 老司机午夜性大片 | 欧美在线一区二区三区 | 久草精品视频 | 久久成人免费视频 | 午夜色婷婷 | 永久www成人看片 | 国产情侣在线看 | 精品久久久久一区二区国产 |