999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

典型內部網絡SQL注入攻擊與防范

2020-12-31 08:20:54
網絡安全技術與應用 2020年2期
關鍵詞:數據庫用戶檢測

(國防科技大學信息通信學院 湖北 430010)

當前,企業內部網、醫療信息網等典型內部網絡中的Web應用系統普遍采用基于B/S模式的網絡服務構架技術[1]。在此基礎上設計的Web應用程序大都需與用戶輸入信息進行交互,以完成程序功能。SQL 查詢是Web應用程序進行數據層操作的常用方式,通常由程序中可信的常量字符串和用戶輸入等不可信的外來數據動態拼接而成。SQL注入攻擊就是利用Web應用程序中可能存在的輸入合法性校驗漏洞,通過精心構造巧妙的用戶輸入,繞過應用程序凈化、過濾,使得用戶輸入的不可信數據可被數據庫解析執行,從而獲取數據層信息或權限[2]。根據開放式Web應用程序安全項目組織(Open application security project,OWASP)對近年來Web 安全威脅的評估分析顯示,SQL注入攻擊一直是Web應用最嚴重安全威脅之一[3]。

1 SQL注入攻擊機理

SQL注入攻擊的本質是攻擊者通過精心構造,將用戶輸入與原有結構語句混合在一起,使得用戶輸入作為SQL 代碼片段被數據引擎執行,從而進行惡意操作。

1.1 攻擊機理

SQL注入攻擊機理可結合具體實例予以說明:在Web系統后臺數據庫中,常含有名為users的數據表,用來存儲系統用戶相關信息,數據表中通常含有userID和password 兩個字段,分別對應用戶賬戶和密碼,不同用戶在系統中具有不同的操作權限。當用戶使用賬戶密碼登錄Web系統時,身份驗證模塊常使用的以下兩個SQL 查詢語句,從users數據表中查詢記錄:

select*from users;返回查詢記錄

select count(*)from users;返回記錄數量

在Web系統前臺登錄頁面中,用戶輸入的賬戶(userID)和密碼(password)后會作為查詢值,成為SQL 語句的一部分,被執行后返回查詢結果,從而判定用戶是否存在。假如用戶名為test,密碼為test123,上面兩條查詢語句則將變為:

(1)select*from users where userID='test 使用賬戶密碼登錄使得用戶輸入的不可信數據可被數據庫

(2)select count(*)from users where userID=賬戶密碼登錄使and password=)from user

正確登錄情況下,語句(1)會返回一條查詢記錄,反之則身份驗證失敗。同理,正常登錄情況下,語句(2)返回值為1,如果返回記錄數量為0 或者大于1,則身份驗證失敗。如果攻擊者輸入通過精心構造數據,將userID和password 兩個字段賦予特殊字符串,如賬戶值隨機輸入abc,密碼輸入構造的字符串’密碼輸入‘1 密碼輸入,則語句(1)變為:

(3)select * from users where userID=userID=賬戶密碼登錄使and pas’or‘1or ct;

根據邏輯操作符的優先級順序,上述語句where后的查詢條件分為userID=為優先級順序,上述語句s where use’和1=1 兩個邏輯式,且兩個邏輯式通過運算符or 連接,只要有一個條件為真,即可滿足查詢條件。顯然1=1為永真邏輯式,無論前一個邏輯式是否為真,均可通過身份驗證。攻擊者構造的惡意輸入,使用單引號’閉合password 字段的查詢值,且引入or‘1r 查詢與原有的單引號’拼接成永真邏輯式,改變原有SQL 語句含義,從而繞過登錄驗證,可繼續進行數據查詢、添加、刪除、更新等危險操作。

1.2 攻擊技術

在上例中,攻擊者通過精心構造用戶輸入,改變原有SQL 語句含義實施注入攻擊,也被稱為重言式SQL注入,除此之外,SQL注入還有以下幾種常用的攻擊方法:

(1)注釋符攻擊。攻擊者在用戶輸入中插入注釋符,過濾部分查詢條件,可使得查詢語句返回正常值。上例中,用戶賬戶輸入test--,查詢語句①會變為select*from users where userID=得查詢語句返回,關于密碼的查詢條件被--注釋后不會被數據引擎執行,因此可在缺少密碼的情況下完成身份認證。

(2)邏輯錯誤查詢攻擊。在這種攻擊中,攻擊者構造的語句不會被正確執行,但出現錯誤后,數據庫的版本、類型、參數等信息可能會顯示在返回的錯誤提示信息中,攻擊者可借此收集有用信息,為進一步攻擊做準備。

(3)盲注式攻擊。如果返回錯誤信息被開發人員過濾了,攻擊者可通過構造不同參數,根據頁面反饋情況來收集信息。例如在網頁URL地址后添加and 1=1 時,頁面可正常顯示,添加and 1=2 時頁面不能正常顯示,說明構造的參數能夠被數據引擎執行,存在注入點,可進行注入攻擊。

(4)附帶查詢攻擊。在支持多語句查詢的數據庫中,攻擊者可以在不改變原有語句含義的情況下,在后面加入新的語句,從而完成數據查詢、添加、刪除、更新等操作。與此類似,還有通過union 關鍵詞構造聯合查詢的攻擊方式。

(5)存儲過程攻擊。如果數據庫開啟了默認的存儲過程,攻擊者可借此實現SQL注入攻擊,如使用SP_OACreate 創建ActiveX對象,實現對Asp 腳本的注入攻擊。

(6)編碼替換攻擊。如果開發人員對邏輯運算符or、注釋符--等進行了過濾,直接在輸入數據中插入這些字符不能直接被數據引擎執行,可將這些字符經過URL、unicode 等編碼方式編碼后插入,通過編碼替換的方式規避過濾,從而插入SQL 語句中被執行。

1.3 攻擊特性

作為一種常用的網絡數據庫攻擊技術,SQL注入具有以下攻擊特性:

(1)隱蔽性。SQL注入使用正常的服務端口對服務器進行訪問,訪問語句與一般的頁面訪問請求高度相似,攻擊隱蔽性強,難以被發現。

(2)廣泛性。大量數據庫軟件隨著Web應用系統在網絡中部署應用,如果使用基于SQL標準語言數據庫軟件,應用程序缺乏嚴格的輸入驗證,這些系統均可能成為SQL注入攻擊的攻擊對象。

(3)變種多。如前所述,SQL注入攻擊具有多樣的攻擊方式,有經驗的攻擊者還可能綜合使用多種攻擊方法,達成攻擊目的。通過特征匹配等方法對SQL攻擊進行檢測識別,往往只能捕獲典型的幾種攻擊,難以實現全面的攻擊防護。

(4)門檻低?;ヂ摼W中存在多種SQL注入工具,這些工具高度自動化,攻擊者不需要掌握太多知識,即可實施SQL注入攻擊。

(5)危害性大。由于安全力量不足,當前網絡中大量Web應用系統存在被注入攻擊的可能。一旦注入成功,攻擊者可能通過植入木馬,控制訪問的客戶端,進而實施其他攻擊,具有高度危害性。

2 SQL注入檢測

進行SQL注入攻擊檢測是完善Web應用系統安全體系,增強系統健壯性的必要環節。由于當前Web應用系統普遍采用基于B/S模式的網絡服務構架技術,典型內部網絡中Web應用系統SQL注入檢測也可從客戶端和服務器端進行[4]:

2.1 客戶端SQL注入檢測

客戶端SQL注入檢測可通過黑盒測試的方式實現,將Web應用系統下的站點路徑導入至SQL注入檢測工具軟件后,工具軟件會對被測站點進行模擬SQL注入攻擊,檢驗Web應用系統中是否存在的SQL注入點。工具軟件模擬SQL注入攻擊過程是全盲注入,不需要考慮被檢系統的實現方式,并且模擬攻擊只驗證SQL注入攻擊的可行性,不會對Web應用系統造成破壞。工具軟件進行模擬攻擊時,采用的多為已有注入攻擊方法,即使是同一種攻擊方法,攻擊效果也受字典內容、注入方式等多種因素影響,SQL注入攻擊的檢測效果也隨工具軟件的選擇波動明顯。當前,互聯網中已有多種SQL注入檢測工具,能夠檢測出典型的SQL注入點。為進一步提高典型內部網絡中Web應用系統安全性,我們可借助工具軟件對重要系統進行預先檢測,及時提醒應用系統所有者進行漏洞修補,防范于未然。

2.2服務器端SQL注入檢測

Web應用系統直接部署在后臺服務器上,在服務器端可以直接獲取到應用系統實現代碼、數據庫類型等信息。同客戶端SQL注入檢測相比,服務器端SQL注入檢測不僅能檢測出SQL注入漏洞,還能進一步分析漏洞產生原因,為漏洞修補提供直接支撐。服務器端SQL注入檢測主要通過代碼審計的方式實現,通過分析系統實現代碼,挖掘其中的邏輯漏洞,分析惡意構造的SQL 語句在數據庫中執行的可能性,以達到SQL注入檢測的目的。服務器端SQL注入檢測能夠對應用系統進行全面分析,深度檢測,適用于高安全性需求的應用系統,但檢測效果依賴于檢測人員的安全經驗,且時效性較差。對于典型內部網絡中的關鍵Web應用系統,可在專業安全機構進行注入檢測,驗證安全性后再上線使用,以提高系統抗SQL注入攻擊能力,保證系統的正常運行和數據安全。

3 SQL注入攻擊防范

SQL注入攻擊廣泛存在于使用訪問數據庫的Web應用中,且具有高度的隱蔽性。典型內部網絡中的Web應用系統通常會涉及重要內部信息,一旦被攻擊者成功注入,將造成嚴重后果。因此,加強典型內部網絡中Web應用系統SQL注入攻擊防范具有重要意義,可從技術和管理兩個層面展開[5]:

(1)技術防范。在設計Web應用系統時,不僅應關注應用系統的功能性,更應提高系統安全性,設計防范SQL注入安全模塊是從技術層面防范SQL注入攻擊的常用方法。用戶輸入是SQL注入攻擊的關鍵之一,在設計安全模塊時,可采用黑名單/白名單機制,對用戶輸入進行驗證,設置黑名單可拒絕用戶輸入已知的危險字符,白名單只接受特定類型的用戶輸入。白名單對用戶輸入有效性驗證更充分,但可能影響應用系統的正常使用,黑名單效率較高但難以過濾全部危險輸入,在實際工作中可結合系統特性靈活選用或綜合使用[6]。除此之外,還可以通過信息編碼、使用參數化語句等方式,提高SQL注入攻擊難度,對可疑數據實施污點跟蹤,在危險輸入嘗試創建SQL查詢令牌時立即拒絕。

(2)安全管理。技術防范依賴于應用系統設計人員,加強安全管理是從系統運維保障出發,防范SQL注入攻擊的重要工作。在部署應用系統時,需重點對數據庫進行安全配置,包括數據庫連接方式、賬號權限、數據加密存儲等,鞏固應用系統數據層安全[7]。在系統運行過程中,管理員應通過日志審核等方式,時刻關注系統運行狀況,如果出現頁面短時間內被密集訪問、數據庫中存在可疑臨時文件、數據信息被篡改等情況,應用系統可能遭受SQL注入攻擊,應及時進行處置[8]。此外,管理員還可以通過加載Web 防火墻等方式,防范SQL注入攻擊。

4 結束語

SQL注入攻擊是典型內部網絡中Web應用系統面臨的重要安全威脅,隨著Web應用系統的使用日益增多,典型內部網絡SQL注入攻擊與防范也將引起安全防護人員更多研究,探究其攻擊機理、特性及檢測防范方法,促進Web應用系統設計、開發、運維全周期SQL注入防范,可降低SQL注入攻擊危害性,增強典型內部網絡中Web應用系統的安全性。

猜你喜歡
數據庫用戶檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
數據庫
財經(2017年2期)2017-03-10 14:35:35
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
數據庫
財經(2016年15期)2016-06-03 07:38:02
小波變換在PCB缺陷檢測中的應用
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲欧美在线看片AI| 国产美女无遮挡免费视频网站 | 国产精品一区二区久久精品无码| a级毛片一区二区免费视频| 成人毛片在线播放| 亚洲欧美在线综合图区| 日韩成人在线网站| 欧美a级完整在线观看| 亚洲人成人伊人成综合网无码| 国产精品美女网站| 亚洲国产系列| 51国产偷自视频区视频手机观看| 国产精品人人做人人爽人人添| 亚洲国产第一区二区香蕉| 国产日韩AV高潮在线| 久青草免费在线视频| 91麻豆国产视频| 麻豆精选在线| 一本久道久久综合多人| 亚洲欧美综合另类图片小说区| 成年人免费国产视频| 国产一国产一有一级毛片视频| 亚洲高清日韩heyzo| 免费人成视网站在线不卡| 久久综合伊人 六十路| 色综合久久88色综合天天提莫| 2019年国产精品自拍不卡| 国产精彩视频在线观看| 欧美性天天| 人妻少妇久久久久久97人妻| 欧美日韩另类国产| 国产成人h在线观看网站站| 99久久免费精品特色大片| 黄色片中文字幕| 久久精品aⅴ无码中文字幕| 91小视频在线观看| 久久黄色毛片| 18禁影院亚洲专区| AV不卡国产在线观看| 免费一级毛片完整版在线看| 一级成人a做片免费| 奇米精品一区二区三区在线观看| 色综合天天视频在线观看| 国产清纯在线一区二区WWW| 成人在线观看一区| 狼友视频国产精品首页| 久一在线视频| 九色在线观看视频| 54pao国产成人免费视频| 天堂久久久久久中文字幕| 亚洲欧美日韩中文字幕在线| 天天色综合4| 99这里只有精品免费视频| 国产一级无码不卡视频| 日韩A∨精品日韩精品无码| 国产成人免费观看在线视频| 国产精品久久国产精麻豆99网站| 亚洲天堂自拍| 亚洲成人手机在线| 久久香蕉国产线看精品| 久久天天躁狠狠躁夜夜躁| 亚洲第一区精品日韩在线播放| 亚洲天堂首页| 国产欧美高清| 精品在线免费播放| 99精品免费在线| 四虎精品免费久久| 青青草国产一区二区三区| 亚洲伊人天堂| 欧美在线黄| 亚洲一区二区黄色| 亚洲国产成人超福利久久精品| 国产性爱网站| 国产剧情无码视频在线观看| 亚洲高清在线播放| 日本精品视频| 成人午夜天| 精品三级在线| 久久精品女人天堂aaa| a亚洲视频| 久久综合一个色综合网| 亚洲三级片在线看|