亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        典型內(nèi)部網(wǎng)絡SQL注入攻擊與防范

        2020-12-31 08:20:54
        網(wǎng)絡安全技術與應用 2020年2期
        關鍵詞:服務器端攻擊者語句

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

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

        1 SQL注入攻擊機理

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

        1.1 攻擊機理

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

        select*from users;返回查詢記錄

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

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

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

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

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

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

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

        1.2 攻擊技術

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

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

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

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

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

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

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

        1.3 攻擊特性

        作為一種常用的網(wǎng)絡數(shù)據(jù)庫攻擊技術,SQL注入具有以下攻擊特性:

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

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

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

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

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

        2 SQL注入檢測

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

        2.1 客戶端SQL注入檢測

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

        2.2服務器端SQL注入檢測

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

        3 SQL注入攻擊防范

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

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

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

        4 結束語

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

        猜你喜歡
        服務器端攻擊者語句
        基于微分博弈的追逃問題最優(yōu)策略設計
        自動化學報(2021年8期)2021-09-28 07:20:18
        重點:語句銜接
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        淺析異步通信層的架構在ASP.NET 程序中的應用
        成功(2018年10期)2018-03-26 02:56:14
        精彩語句
        在Windows中安裝OpenVPN
        有限次重復博弈下的網(wǎng)絡攻擊行為研究
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        網(wǎng)頁防篡改中分布式文件同步復制系統(tǒng)
        作文語句實錄
        国产精品偷伦免费观看的| 一本一道人人妻人人妻αv| 国产黄色一区二区在线看| 久久婷婷五月综合97色直播| 天天躁日日躁狠狠躁av| 色爱区综合五月激情| 91亚洲精品福利在线播放 | 日本av第一区第二区| 国产成人av一区二区三区不卡| 久久综合国产乱子伦精品免费 | 91香蕉视频网| 日本在线免费一区二区三区| 国产精品一区二区三区专区| 亚洲熟女综合色一区二区三区| 伊人色综合视频一区二区三区| 视频国产精品| 免费视频一区二区三区美女| 亚洲色精品三区二区一区| 精品久久久久久777米琪桃花| 午夜福利视频男同女同| 激情一区二区三区视频| 日本一区三区三区在线观看| 免费国产黄网站在线观看可以下载 | 人妻少妇69久久中文字幕| 精品国产拍国产天天人| 国产精品入口牛牛影视| 精品女同一区二区三区免费播放| 午夜视频一区二区三区四区| 色一情一乱一伦一视频免费看| 亚洲日本va午夜在线影院| 久久久久久人妻一区二区无码Av| 中国男男女在线免费av| 99久久久国产精品免费蜜臀| 国产在线精品一区二区在线看| 色婷婷精久久品蜜臀av蜜桃| 日本丰满老妇bbw| 曰本极品少妇videossexhd| 国产精品玖玖资源站大全| 中文字幕人妻激情在线视频| 麻豆国产精品va在线观看不卡 | 成人无码区免费a片www|