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

        ?

        SQL注入的“拖庫”攻擊與防范

        2015-01-01 03:04:44蔡滿春李璟瑩
        關(guān)鍵詞:攻擊者漏洞語句

        陳 悅 蔡滿春 李璟瑩

        (中國人民公安大學(xué)網(wǎng)絡(luò)安全保衛(wèi)學(xué)院 北京 102600)

        0 引言

        隨著Web應(yīng)用技術(shù)的不斷成熟,動態(tài)網(wǎng)站以其豐富的內(nèi)容和強大的功能在人們的生活中備受親睞,各大高校院系、公司企業(yè)、政府部門、事業(yè)單位等都構(gòu)建起了自己的動態(tài)網(wǎng)站。但由于網(wǎng)站開發(fā)人員缺乏安全保護意識,這些網(wǎng)站的安全措施并不是很完善,因此給該類網(wǎng)站造成了很多的安全威脅。從之前的CSDN社區(qū)用戶信息泄露,到攜程網(wǎng)信息安全門事件,再到2015年上半年多省市衛(wèi)生社保系統(tǒng)出現(xiàn)大量高危漏洞,導(dǎo)致數(shù)千萬社保用戶敏感信息泄露的安全事件,都表明互聯(lián)網(wǎng)的安全問題愈發(fā)嚴峻,其中SQL注入就是一種日益增長安全威脅。尤其互聯(lián)網(wǎng)+時代到來,物聯(lián)網(wǎng)、云計算和大數(shù)據(jù)應(yīng)用不斷深入,攻擊者利用 SQL注入點對網(wǎng)站發(fā)起攻擊后可以操作網(wǎng)站后臺的數(shù)據(jù)庫,拖庫攻擊導(dǎo)致數(shù)據(jù)庫存儲的用戶敏感信息泄露,修改甚至破壞數(shù)據(jù)庫內(nèi)容和結(jié)構(gòu),對用戶生命財產(chǎn)安全造成嚴重侵害。

        1 SQL注入攻擊技術(shù)

        1.1 SQL注入攻擊原理

        攻擊者通過構(gòu)建特定長度、類型的字符串動態(tài)SQL語句來執(zhí)行數(shù)據(jù)庫操作,將容易觸發(fā)SQL異常的代碼寫入SQL查詢語句中,造成SQL所支持數(shù)據(jù)庫異常,然后使用一系列的技術(shù)手段實現(xiàn)數(shù)據(jù)庫拖庫。

        1.2 尋找SQL注入點

        (1)“加引號”法

        單引號作為SQL數(shù)據(jù)庫中的轉(zhuǎn)義字符,其使用不當(dāng)會造成查詢異常。攻擊者通常在URL的尾部插入一個單獨的引號,造成SQL語句異常而令數(shù)據(jù)庫拋出一個錯誤信息。例如圖1所示。

        圖1 “加引號”法

        (2)邏輯語句判斷法

        “加引號”法直接了當(dāng),操作也很方便,但有經(jīng)驗的網(wǎng)站編寫者通常對其進行過濾。這樣用單引號就無法檢測到注入點,此時可以使用邏輯語句判斷檢測是否存在SQL注入點。常用的邏輯語句有‘a(chǎn)nd 1=1’、‘a(chǎn)nd 1=2’等。

        在網(wǎng)頁原地址后加入‘a(chǎn)nd 1=1’語句后,網(wǎng)頁會正常顯示;在網(wǎng)頁原地址后加入‘a(chǎn)nd 1=2’語句后,網(wǎng)頁會顯示異常。例如圖2所示。

        圖2 邏輯語句判斷法

        2 利用sqlmap進行拖庫攻擊

        相比于其他工具,sq1map不僅能利用已經(jīng)發(fā)現(xiàn)的漏洞進行SQL注入,還能通過基于啟發(fā)式的檢測來尋找漏洞。它還能獲得不同數(shù)據(jù)庫的指紋信息,并且通過帶外連接從數(shù)據(jù)庫中抓取數(shù)據(jù),訪問底層文件系統(tǒng)和在操作系統(tǒng)上執(zhí)行命令。

        當(dāng)我們利用之前提到的方法找到一個網(wǎng)站的 SQL注入點后,接下來我們將使用一些命令進行SQL注入攻擊,來提取網(wǎng)站的數(shù)據(jù)庫內(nèi)容信息。sq1map的拖庫步驟如下:

        第一步:建立連接并列出數(shù)據(jù)庫,如圖3所示:

        圖3 建立連接并列出數(shù)據(jù)庫

        發(fā)現(xiàn)該網(wǎng)站數(shù)據(jù)庫共有2個。如圖4所示:

        圖4 發(fā)現(xiàn)該網(wǎng)站數(shù)據(jù)庫個數(shù)

        這里我們只需要注意第一個數(shù)據(jù)庫就行了,因為information_schema是MySQL默認的數(shù)據(jù)庫,它包含了MySQL系統(tǒng)用的所有字典信息,以及數(shù)據(jù)庫系統(tǒng)中所有對象信息和進程訪問、狀態(tài)信息。而我們需要的網(wǎng)站數(shù)據(jù)信息保存在第一個數(shù)據(jù)庫中。

        第二步:列出目標數(shù)據(jù)庫的表,如圖5所示:

        圖5 列出目標數(shù)據(jù)庫的表

        我們發(fā)現(xiàn)該數(shù)據(jù)庫中共有13個表,其中表名為admininfo的表引起了我們的興趣,因為這張表中可能存放了數(shù)據(jù)庫的用戶名和密碼。如圖6所示。

        圖6 存放了數(shù)據(jù)庫的用戶名和密碼

        第三步:列出指定表的列,如圖7所示:

        圖7 列出指定表的列

        這里我們得到了存放用戶信息的passwd和usernamed列信息,如圖8所示:

        圖8 存放用戶信息的passwd和usernamed列信息

        第四步:導(dǎo)出passwd和username的內(nèi)容信息,導(dǎo)出結(jié)果如圖9、10所示:

        圖9 導(dǎo)出passwd的內(nèi)容信息

        圖10 導(dǎo)出username的內(nèi)容信息

        我們發(fā)現(xiàn)這個數(shù)據(jù)庫的用戶名為 admin,但密碼字段經(jīng)過加密算法加密,得到的是密碼的HASH值。這里我們不對如何解密做介紹。

        通過上述方法,我們成功地利用 sq1map對網(wǎng)站進行 SQL注入攻擊,并得到了網(wǎng)站的數(shù)據(jù)庫信息。

        3 SQL注入防范與事后補救措施

        3.1 如何防范SQL注入攻擊

        絕大多數(shù)的SQL漏洞是由于Web開發(fā)者在開發(fā)代碼時沒有徹底理解Web與其數(shù)據(jù)庫之間的交互關(guān)系而產(chǎn)生的。下面給出一些常見的預(yù)防措施:

        (1)使用參數(shù)化語句

        在構(gòu)造SQL指令時,采用參數(shù)來代替需要寫入的數(shù)值。在語句傳輸過程中,數(shù)據(jù)庫不會對參數(shù)進行處理,而是在完成解析編譯后,才對參數(shù)進行操作。就算參數(shù)中含有惡意的語句,數(shù)據(jù)庫也能正常查詢。所以,相比起動態(tài)SQL,參數(shù)化語句更加安全。

        (2)驗證輸入

        惡意攻擊者往往會通過網(wǎng)站的報錯信息來確定服務(wù)器、數(shù)據(jù)庫的平臺信息等。因此,我們需要檢查用戶定義的參數(shù)并加以過濾,驗證輸入?yún)?shù)的長度、類型等信息;使用白名單測試用戶輸入,只接收數(shù)據(jù)庫期望的已知的良好輸入。

        (3)應(yīng)用安全策略

        例如安裝Web應(yīng)用防火墻來檢測及預(yù)防SQL注入,并且通過加固數(shù)據(jù)庫來確保數(shù)據(jù)庫安全;對重要的數(shù)據(jù)庫對象實施訪問控制,同時對敏感用戶數(shù)據(jù)信息進行加密。

        另外,我們在上述方案基礎(chǔ)上提出了兩點新的預(yù)防措施:(1)使用存儲程序代替SQL語句

        我們可以將SQL語句從Web應(yīng)用程序上脫離出來,并把它編寫到一個由我們自己定義的存儲程序上,該存儲程序位于數(shù)據(jù)庫服務(wù)器端。通過調(diào)用定義的存儲程序來代替用戶輸入字符串構(gòu)建的SQL語句。

        (2)建立異常檢測評分機制

        對SELECT、DELETE等關(guān)鍵的數(shù)據(jù)庫查詢語句進行數(shù)值評分,通過計算每個語句的異常值并與設(shè)定的異常值做比較,一旦這個語句的異常值超過設(shè)定的最大異常值,那么這個查詢語句被視為是異常的,并觸發(fā)警報。

        3.2 如何做好事后補救工作

        網(wǎng)站被SQL注入攻擊后,管理者應(yīng)當(dāng)要盡快關(guān)閉站點,以免受到二次攻擊;調(diào)查可疑的SQL注入攻擊,分析數(shù)字化痕跡,識別攻擊活動;通過取證確定攻擊者在系統(tǒng)上執(zhí)行的操作,檢查并理解攻擊者惡意查詢邏輯,掌握其攻擊企圖;聯(lián)系相關(guān)的技術(shù)人員,對漏洞進行修補,并做好數(shù)據(jù)恢復(fù)工作,將損失減少至最小。

        4 結(jié)論

        SQL注入形式是對互聯(lián)網(wǎng)上的數(shù)據(jù)庫進行拖庫攻擊的主要方式,本文基于sq1map工具對目標網(wǎng)站實現(xiàn)了SQL注入攻擊,獲得了其數(shù)據(jù)庫內(nèi)容。并且,通過對SQL注入攻擊的分析,總結(jié)相關(guān)研究成果,提出了用存儲程序代替SQL語句及建立異常檢測評分機制的新型防范概念。本文對網(wǎng)站進行SQL注入攻擊的方式是基于網(wǎng)頁錯誤信息報告的,未對盲SQL注入做詳細介紹。今后對盲SQL注入攻擊進行分析將是進一步研究的內(nèi)容。

        [1]徐陋,姚國祥.SQL注入攻擊全面預(yù)防辦法及其應(yīng)用[J].現(xiàn)場總線技術(shù)應(yīng)用.200例.2005.

        [2]張耀輝.CSDN“拖庫”事件后對密碼保護的反思[J].長沙通信職業(yè)技術(shù)學(xué)院學(xué)報.2012.

        [3]孫義,胡雨霽,黃皓.基于序列比對的 SQL注入攻擊檢測方法[J].計算機應(yīng)用研究.2010.

        [4]彭賡,范明鈺.基于改進網(wǎng)絡(luò)爬蟲技術(shù)的SQL注入漏洞檢測[J].計算機應(yīng)用研究.2010.

        [5]雷燕瑞.基于SQL注入的Web應(yīng)用程序安全性研究[J].信息安全與技術(shù).2014.

        [6]黃少勇.SQL注入攻擊和防范措施[J].計算機安全.2012.

        猜你喜歡
        攻擊者漏洞語句
        漏洞
        基于微分博弈的追逃問題最優(yōu)策略設(shè)計
        重點:語句銜接
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        精彩語句
        三明:“兩票制”堵住加價漏洞
        漏洞在哪兒
        兒童時代(2016年6期)2016-09-14 04:54:43
        高鐵急救應(yīng)補齊三漏洞
        有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        一区二区亚洲精品在线| 成 人 网 站 在线 看 免费| 亚洲综合网一区二区三区| 国产免费人成视频在线观看| 欧美国产亚洲日韩在线二区| 人人妻人人澡人人爽欧美二区| 91精品国产色综合久久不卡蜜| 区二区三区亚洲精品无| 日本最新一区二区三区视频观看| 又黄又硬又湿又刺激视频免费| 欧美视频久久久| 农村国产毛片一区二区三区女| 91色老久久偷偷精品蜜臀懂色| 亚洲欧美乱综合图片区小说区| 亚洲色图+国产精品| 日韩精品一区二区三区四区视频| 日韩人妻中文字幕专区| 少妇性饥渴无码a区免费| 精品伊人久久香线蕉| 视频福利一区二区三区| 男女av一区二区三区| 精品国产sm捆绑最大网免费站| 亚洲欧美日韩国产精品一区| 日本中文字幕官网亚洲| 久久久久99精品成人片| 三上悠亚av影院在线看| www久久久888| 91精品久久久中文字幕| 成人综合网站| 91网站在线看| 国内国外日产一区二区| 久久不见久久见免费视频6 | 午夜亚洲精品视频在线| 欧美亚洲国产一区二区三区| 久青草国产视频| 最新国产主播一区二区| 无码专区一ⅴa亚洲v天堂| 性久久久久久久| 日本丰满少妇高潮呻吟| 中文字幕精品人妻在线| 幻女bbwxxxx在线视频|