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

        ?

        基于Web滲透測試的SQL注入研究

        2018-12-10 02:59:14曾佩璇湯艷君錢麗納
        關(guān)鍵詞:攻擊者漏洞語句

        ◆曾佩璇 湯艷君 錢麗納

        ?

        基于Web滲透測試的SQL注入研究

        ◆曾佩璇 湯艷君 錢麗納

        (中國刑事警察學(xué)院 遼寧 110854)

        在大數(shù)據(jù)時(shí)代的背景下,互聯(lián)網(wǎng)安全問題受到重視,網(wǎng)絡(luò)數(shù)據(jù)安全也面臨威脅和挑戰(zhàn)。本文對滲透測試技術(shù)的過程、分類進(jìn)行了介紹,系統(tǒng)分析了SQL注入常用的攻擊方式以及具體實(shí)現(xiàn)的方法。

        Web;滲透測試;SQL注入

        0 引言

        隨著計(jì)算信息技術(shù)的迅猛發(fā)展,計(jì)算機(jī)和互聯(lián)網(wǎng)的應(yīng)用越來越廣泛。與此同時(shí),不法分子以互聯(lián)網(wǎng)為平臺,利用網(wǎng)絡(luò)技術(shù)手段攻擊Web網(wǎng)站,以達(dá)到竊取網(wǎng)站數(shù)據(jù)、篡改網(wǎng)頁內(nèi)容或劫持網(wǎng)頁等目的。在多種Web安全威脅中,sql注入攻擊影響較大。在Web網(wǎng)站的開發(fā)過程中,由于開發(fā)者的疏忽、不嚴(yán)謹(jǐn),沒有過濾掉用戶所輸入的不良信息,導(dǎo)致SQL注入漏洞在Web系統(tǒng)中很常見且對Web安全威脅很高。[1]

        1 滲透測試技術(shù)簡介

        滲透測試指的是對受測試系統(tǒng)進(jìn)行模擬入侵攻擊,對其安全性進(jìn)行評估。[2]該測試主要用來幫助用戶發(fā)現(xiàn)其管理的系統(tǒng)中潛在安全漏洞并且能直觀、動態(tài)地將攻擊過程展示給用戶,使用戶充分了解他們當(dāng)前管理的系統(tǒng)的安全狀況。滲透攻擊要求攻擊者不僅需要有強(qiáng)大的攻擊手段,還需要有豐富的經(jīng)驗(yàn)進(jìn)行合理判斷,其中常用的攻擊方法包括腳本注入式攻擊、ARP 欺騙攻擊、后門攻擊等。[3]

        滲透測試的過程如圖1所示。

        圖1 滲透測試過程示意圖

        1.1 明確目標(biāo)

        主要明確測試目標(biāo)的范圍,比如ip地址、域名、內(nèi)外網(wǎng)等。然后確定規(guī)則,測試其能滲透到哪種程度,能否直接修改進(jìn)行上傳,確定能不能提取相關(guān)權(quán)限。最后根據(jù)漏洞的類型,比如web應(yīng)用的漏洞(新上線程序)、人員權(quán)限管理漏洞等,來確定具體的需求。

        1.2 信息收集

        信息收集主要利用主動掃描和開放搜索的方式獲取所需要的重要信息。包括基礎(chǔ)信息(ip,網(wǎng)段,域名等)、系統(tǒng)信息、應(yīng)用信息(web應(yīng)用,郵件應(yīng)用等)、版本信息、人員信息(域名注冊人員信息,web應(yīng)用中網(wǎng)站發(fā)帖人的id等)、防護(hù)信息。

        1.3 獲取所需要的信息

        基礎(chǔ)信息包括網(wǎng)絡(luò)連接、基礎(chǔ)設(shè)施的相關(guān)內(nèi)容。隨后進(jìn)一步進(jìn)行滲透,入侵內(nèi)網(wǎng),找到敏感信息。也可以一直進(jìn)行滲透,但一般不建議。主要是通過添加管理賬號(容易被發(fā)現(xiàn)),駐扎手法等。最后將相關(guān)日志痕跡,上傳的文件進(jìn)行清理還原。

        1.4 信息整理

        信息管理主要是整理滲透工具,滲透過程中收集的信息與發(fā)現(xiàn)的漏洞信息。主要包括滲透過程中用到的代碼,poc,exp等,收集到的一切重要以及遇到的各種漏洞,各種位置信息。

        2 滲透測試的分類

        2.1 方法分類

        (1)黑箱測試

        黑箱測試指的是攻擊者對于受測試目標(biāo)的情況沒有任何了解,對受測試目標(biāo)進(jìn)行遠(yuǎn)程攻擊,測評網(wǎng)絡(luò)的安全性,并討論相關(guān)解決方案。黑箱測試的初始信息主要源自郵件、DNS信息以及多種對外開放的服務(wù)器等。

        (2)白盒測試

        白盒測試是一種完全內(nèi)部測試,這種測試對受測試目標(biāo)的情況有著較為全面的了解,如受測試目標(biāo)的相關(guān)服務(wù)版本、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、程序代碼等重要信息。[4]然后通過掃描、驗(yàn)證測試等手段,對受測試目標(biāo)進(jìn)行檢驗(yàn)測評,發(fā)現(xiàn)問題。因此白盒測試相對黑盒測試實(shí)用性更高,目的性更強(qiáng),花費(fèi)代價(jià)也相對來說較小。

        2.2 目標(biāo)分類

        滲透測試的目標(biāo)主要有四類,分別為操作系統(tǒng)、網(wǎng)絡(luò)設(shè)備、應(yīng)用程序、數(shù)據(jù)庫。[5]操作系統(tǒng)滲透測試主要針對的是Windows、Mac OS、Linux等主機(jī)系統(tǒng)。當(dāng)滲透測試的目標(biāo)是網(wǎng)絡(luò)設(shè)備時(shí),主要內(nèi)容包括防火墻、入侵檢測系統(tǒng),路由器以及交換機(jī)等。應(yīng)用程序滲透測試的目標(biāo)是安裝在受測試目標(biāo)上的各種軟件、應(yīng)用。數(shù)據(jù)庫滲透測試的目標(biāo)是各種主流數(shù)據(jù)庫,如MySql、SQLite、Oracle、MS SQL Server、Access等。

        3 SQL注入攻擊概述

        3.1 SQL注入攻擊原理

        Web前端與后臺數(shù)據(jù)庫的交互是通過傳遞請求與應(yīng)答消息來實(shí)現(xiàn)的。這一前后端分離機(jī)制為Web網(wǎng)站帶來了很強(qiáng)的靈活性的同時(shí),也留下了安全隱患——前端與后端之間的傳遞的消息命令有可能被惡意修改。SQL注入就是惡意攻擊者利用這一漏洞,將特定的SQL語句插入到數(shù)據(jù)庫查詢代碼中,根據(jù)程序返回的結(jié)果,獲得某些他想得知的數(shù)據(jù)(如用戶名、密碼等)。[6]SQL注入的前提是Web網(wǎng)站對輸入的參數(shù)不進(jìn)行檢查和過濾。

        圖2 SQL注入攻擊原理示意圖

        3.2 SQL注入類型

        (1)SQL常規(guī)注入

        攻擊者執(zhí)行惡意SQL語句,分析系統(tǒng)回應(yīng)的報(bào)錯消息,從中分析提取有用的信息,這些信息包含數(shù)據(jù)庫表名、數(shù)據(jù)庫類型等。

        (2)SQL盲注

        SQL盲注是指攻擊者實(shí)施攻擊之后,無法看到系統(tǒng)返回的錯誤內(nèi)容,其必須利用其他的方法進(jìn)行判斷。因?yàn)榇颂攸c(diǎn),所以這種注入才叫做“盲注入”,具體方法是利用服務(wù)端返回的“TRUE/FALSE”進(jìn)行推測。當(dāng)系統(tǒng)返回錯誤信息時(shí),SQL常規(guī)方法的效率更高,但如果系統(tǒng)屏蔽了錯誤信息,盲注便能發(fā)揮出作用。[7]

        3.3 SQL注入的步驟

        (1)SQL注入判斷

        使用動態(tài)頁面(靜態(tài)的HTML網(wǎng)頁則沒有這個(gè))或使用數(shù)據(jù)庫調(diào)用(參數(shù)傳遞)的Web網(wǎng)站往往存在SQL注入漏洞。動態(tài)架構(gòu)Web網(wǎng)站的數(shù)據(jù)存儲于后臺數(shù)據(jù)庫,當(dāng)打開某一個(gè)網(wǎng)頁時(shí),Web服務(wù)器會根據(jù)Web前端傳遞過來的參數(shù)在后臺數(shù)據(jù)庫中進(jìn)行查詢?nèi)缓蠓祷財(cái)?shù)據(jù)。因此,形如:http://xxx.xxx.xxx/xxx.asp?id=xxx等帶有參數(shù)的動態(tài)網(wǎng)頁中很可能存在SQL注入漏洞。

        (2)尋找SQL注入點(diǎn)

        在對Web網(wǎng)站發(fā)起SQL注入攻擊之前,需要尋找SQL注入漏洞的所在位置,也就是尋找所謂的SQL注入點(diǎn)。網(wǎng)站的數(shù)據(jù)填寫頁面、信息查找頁面或登錄頁面等,這些頁面中的可以查找或修改數(shù)據(jù)的位置一般有SQL注入點(diǎn)。判斷某個(gè)Web鏈接有沒有SQL注入點(diǎn),可以通過對其傳入的可控參數(shù)進(jìn)行簡單的構(gòu)造,通過服務(wù)端的返回信息進(jìn)行判斷是否有SQL注入點(diǎn)。

        (3)判斷數(shù)據(jù)庫類型

        Web網(wǎng)站的架設(shè)方式有很多種,ASP最常搭配Access或SQL Server數(shù)據(jù)庫,PHP一般搭配MySql數(shù)據(jù)庫,JSP則經(jīng)常搭配Oracle數(shù)據(jù)庫。對于不同的數(shù)據(jù)庫,其注入的方法、函數(shù)都存在著不同點(diǎn)。需要先了解目標(biāo)Web網(wǎng)站使用的數(shù)據(jù)庫的類型再進(jìn)行注入操作。

        (4)實(shí)施注入并提升權(quán)限

        攻擊者獲取到足夠的信息(注入點(diǎn)、數(shù)據(jù)庫類型等)之后,構(gòu)造SQL注入語句進(jìn)行注入嘗試。在注入攻擊成功后,獲取到數(shù)據(jù)庫的賬戶密碼等信息,然后利用賬戶密碼登錄Web后臺,使用上傳木馬、webshell等手段,提升自身權(quán)限,設(shè)置后門。

        3.4 SQL注入攻擊方式

        目前,SQL注入攻擊包括有四種廣泛使用的攻擊方法,分別是:使用服務(wù)器變量注入、利用Cookie注入、用戶輸入注入和二階注入。[8]下面對這四種形式的攻擊進(jìn)行簡要介紹:

        (1)利用服務(wù)器變量注入

        服務(wù)器變量主要指環(huán)境網(wǎng)絡(luò)、消息報(bào)頭、及HTTP中包含的變量。如果不對Web前端向后端服務(wù)器提交的數(shù)據(jù)請求執(zhí)行過濾,那么使用服務(wù)器變量生成的SQL語句將被發(fā)送到數(shù)據(jù)庫端,攻擊者可以修改HTTP及網(wǎng)絡(luò)消息的報(bào)頭值,然后構(gòu)造修改SQL語句,實(shí)施SQL注入。

        (2)利用Cookie注入

        Cookie用途是當(dāng)用戶瀏覽網(wǎng)站需要登錄賬戶時(shí),可以將登錄名、密碼以加密的形式進(jìn)行記錄下來。當(dāng)再次瀏覽同一網(wǎng)頁時(shí),將自動登錄并反饋給用戶。Cookies 給用戶提供極大便利的同時(shí),如果攻擊者獲取到Web網(wǎng)站的Cookie信息,使用Cookie中的信息構(gòu)造SQL查詢語句,然后將SQL注入攻擊插入Cookie一起上傳發(fā)動SQL注入攻擊,還會導(dǎo)致用戶個(gè)人隱私遭到泄露。

        (3)利用用戶輸入注入

        用戶輸入注入方式主要是利用GET方法與POST請求兩種方式提交SQL注入語句。GET方法主要是利用搜索或者直接輸入網(wǎng)站域名,在該鏈接中可以直接看到其包含的參數(shù)。此時(shí)攻擊方可對用戶訪問或輸入的域名中的參數(shù)進(jìn)行修改,執(zhí)行攻擊。但POST方式不會顯示參數(shù),需要進(jìn)行報(bào)文的截獲加上專門的修改工具才能夠完成SQL注入。

        (4)二階注入

        二階注入與一階注入相關(guān),它們造成的傷害是一致的,都允許攻擊者訪問數(shù)據(jù)庫。二階注入是一種觸發(fā)型攻擊,攻擊者提交兩個(gè)或兩個(gè)以上的請求,將惡意數(shù)據(jù)上傳到數(shù)據(jù)庫中,一旦這些數(shù)據(jù)被使用,則攻擊被觸發(fā)。且二階注入很微妙,主要依靠測試人員對該系統(tǒng)功能設(shè)置有充分了解以及對經(jīng)常出錯的位置能夠進(jìn)行經(jīng)驗(yàn)判斷,但經(jīng)驗(yàn)判斷不能代表測試結(jié)果。

        4 基于Web滲透測試的SQL注入的實(shí)現(xiàn)

        SQL注入攻擊者經(jīng)常采用盲注的方法進(jìn)行手動攻擊。SQL盲注不能直接獲得后臺的數(shù)據(jù)庫信息,需要根據(jù)多種檢測手段(例如基于報(bào)錯的檢測、布爾檢測等)返回的信息來進(jìn)行分析判斷。然后構(gòu)造SQL注入語句獲取數(shù)據(jù)庫信息,獲得權(quán)限,進(jìn)行上傳木馬、設(shè)置后門等操作。SQL手動注入的信息收集、分析、利用過程,也是Web滲透測試的一種應(yīng)用。SQL手動注入攻擊示意圖如圖2。

        圖2 手動注入攻擊流程示意圖

        4.1 SQL注入過程之尋找注入點(diǎn)

        使用metasploitable2為靶機(jī),尋找SQL注入攻擊點(diǎn)。metasploitable是一個(gè)基于metasploit框架的的靶機(jī),它自身帶有多種安全漏洞,可以提供可靠的滲透測試環(huán)境。使用kali作為發(fā)起攻擊端。kali系統(tǒng)中自帶的BurpSuit是一個(gè)功能強(qiáng)大的滲透測試工具,可以用來實(shí)施SQL注入攻擊。開啟metasploitable2的DVWA服務(wù),設(shè)置其安全級別為“Low”。第一步采用基于報(bào)錯的檢測方法,在DVWA的輸入框中輸入英文字符單引號“’”,點(diǎn)擊“Submit”提交,返回報(bào)錯信息“You have an error in your SQL syntax...”;第二步,依次輸入基于布爾檢測的兩條語句1’ and ‘1’=’1和1’ and ‘1’=’2,若提交后這兩條語句返回的結(jié)果不同,則可以判斷此處存在SQL注入漏洞;第三步可使用order by語句判斷字段數(shù),例如,輸入1′ or 1=1 order by 3 時(shí)報(bào)錯,改為1′ or 1=1 order by 2時(shí)未報(bào)錯,即可判定該注入點(diǎn)執(zhí)行的SQL查詢語句中存在兩個(gè)字段。

        4.2 獲取數(shù)據(jù)庫賬戶密碼

        在本次實(shí)驗(yàn)中,使用布爾檢測,輸入order by 8后,頁面返回正常結(jié)果,說明數(shù)據(jù)庫表的列數(shù)為8列,有8個(gè)字段。接下來進(jìn)一步分析判斷,使用聯(lián)合查詢,輸入“and 1=2 union select 1,2,3,4,5,6,7,8--”,顯示除該數(shù)據(jù)庫列的具體位置。之后,再使用一次union聯(lián)合查詢,輸入“union select user,password from users—”,數(shù)據(jù)庫中的表名都被查詢出來了。復(fù)制表名信息到text文本文檔。最后,再使用kali的John the Ripper快速密碼破解程序進(jìn)行密碼爆破。密碼破解結(jié)果如下圖3所示。

        圖3 賬號密碼破解成功案例圖

        4.3 手動賬號密碼猜解

        使用kali密碼破解時(shí),可能會出現(xiàn)破解不成功的情況??梢該Q一種思路,采用手動猜解的方式獲取賬號和密碼。使用update語句。輸入update users set user=“1234”where user=”admin”,接下來使用kali系統(tǒng)中的數(shù)據(jù)庫連接工具h(yuǎn)exorbase,進(jìn)入靶機(jī)后臺數(shù)據(jù)庫后在輸入框中輸入上述的SQL注入語句后,顯示示successfully executed query。之后在DVWA輸入框中輸入剛更改的賬號信息,登錄并進(jìn)行驗(yàn)證。

        5 結(jié)束語

        SQL注入是一種常見的滲透技術(shù),對網(wǎng)絡(luò)安全的威脅很高。通過對Web滲透測試與手動SQL注入的研究,可以對SQL注入攻擊的原理、步驟有更加深入的理解。SQL注入攻擊雖然手段成熟隱蔽,但通過分析Web網(wǎng)站的服務(wù)器日志、數(shù)據(jù)庫日志等信息,可以追溯到攻擊源。[9]打擊SQL注入這一惡意攻擊行為,維護(hù)網(wǎng)絡(luò)安全,這將是接下來研究的重點(diǎn)。

        [1]羅麗紅,柯靈,楊華瓊.web安全之SQL注入漏洞及其防御[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2017(11):81-82.

        [2]魏星. 基于手工SQL注入的Web滲透測試技術(shù)研究[D].中北大學(xué),2015.

        [3]徐光.基于Kali Linux的Web滲透測試研究[J].信息安全與技術(shù),2015,6(03):56-58.

        [4]常艷,王冠.網(wǎng)絡(luò)安全滲透測試研究[J].信息網(wǎng)絡(luò)安全,2012(11):3-4.

        [5]蔡凱. WLAN安全協(xié)議測試技術(shù)與系統(tǒng)實(shí)現(xiàn)[D].西安電子科技大學(xué),2011.

        [6]高洪濤.SQL注入攻擊途徑及策略分析[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2011(03):14-16.

        [7]劉合葉. 多功能SQL注入檢測系統(tǒng)的實(shí)現(xiàn)及攻擊防范方法研究[D].北京交通大學(xué),2009.

        [8]郭軼. 基于滲透測試的SQL注入漏洞檢測及防范技術(shù)研究[D].哈爾濱工程大學(xué),2016.

        [9]金濤,張啟翔.基于SQL注入的Web滲透技術(shù)取證方法的研究[J].網(wǎng)絡(luò)空間安全,2017,8(Z3):55-58.

        猜你喜歡
        攻擊者漏洞語句
        漏洞
        基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
        重點(diǎn):語句銜接
        正面迎接批判
        愛你(2018年16期)2018-06-21 03:28:44
        精彩語句
        三明:“兩票制”堵住加價(jià)漏洞
        漏洞在哪兒
        高鐵急救應(yīng)補(bǔ)齊三漏洞
        有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
        如何搞定語句銜接題
        語文知識(2014年4期)2014-02-28 21:59:52
        看av免费毛片手机播放| 国产一区二区三区免费av| 免费人成视频网站网址| 中文字幕日韩一区二区不卡| 岛国AV一区二区三区在线观看| 日韩人妻无码精品系列专区无遮| 国产护士一区二区三区| 狠狠躁18三区二区一区| 久久久久亚洲av无码专区体验| 无码人妻丝袜在线视频| 色婷婷亚洲一区二区三区在线| 国产老熟妇精品观看| 国产性一交一乱一伦一色一情| 91精品日本久久久久久牛牛| 丝袜美腿在线观看视频| 男女性爽大片视频| 天堂а√在线最新版中文| 最新永久免费AV网站| 青青草视频网站在线观看| 国产av一区二区三区传媒| 国产高清视频91| 男女视频网站免费精品播放| 亚洲国产av无码精品无广告| 9lporm自拍视频区| 久久亚洲午夜牛牛影视| 激情视频在线观看好大| 国产精品免费av片在线观看| 精品日韩国产欧美在线观看| 久久伊人中文字幕有码久久国产| 精品日韩一级免费视频| 国产在线一区二区三区av | 久久综合九色综合97欧美| 亚洲天堂资源网| 国产精品成年人毛片毛片| 国产精品久久久久一区二区三区 | 好看的国内自拍三级网站| 综合亚洲伊人午夜网| 欧美疯狂性xxxxxbbbbb| 2022AV一区在线| 在线观看视频日本一区二区| 少妇性l交大片|