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

基于Web滲透測(cè)試的SQL注入研究

2018-12-10 02:59:14曾佩璇湯艷君錢麗納
關(guān)鍵詞:數(shù)據(jù)庫信息系統(tǒng)

◆曾佩璇 湯艷君 錢麗納

?

基于Web滲透測(cè)試的SQL注入研究

◆曾佩璇 湯艷君 錢麗納

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

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

Web;滲透測(cè)試;SQL注入

0 引言

隨著計(jì)算信息技術(shù)的迅猛發(fā)展,計(jì)算機(jī)和互聯(lián)網(wǎng)的應(yīng)用越來越廣泛。與此同時(shí),不法分子以互聯(lián)網(wǎng)為平臺(tái),利用網(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)中很常見且對(duì)Web安全威脅很高。[1]

1 滲透測(cè)試技術(shù)簡(jiǎn)介

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

滲透測(cè)試的過程如圖1所示。

圖1 滲透測(cè)試過程示意圖

1.1 明確目標(biāo)

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

1.2 信息收集

信息收集主要利用主動(dòng)掃描和開放搜索的方式獲取所需要的重要信息。包括基礎(chǔ)信息(ip,網(wǎng)段,域名等)、系統(tǒng)信息、應(yīng)用信息(web應(yīng)用,郵件應(yīng)用等)、版本信息、人員信息(域名注冊(cè)人員信息,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)行滲透,但一般不建議。主要是通過添加管理賬號(hào)(容易被發(fā)現(xiàn)),駐扎手法等。最后將相關(guān)日志痕跡,上傳的文件進(jìn)行清理還原。

1.4 信息整理

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

2 滲透測(cè)試的分類

2.1 方法分類

(1)黑箱測(cè)試

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

(2)白盒測(cè)試

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

2.2 目標(biāo)分類

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

3 SQL注入攻擊概述

3.1 SQL注入攻擊原理

Web前端與后臺(tái)數(shù)據(jù)庫的交互是通過傳遞請(qǐng)求與應(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)站對(duì)輸入的參數(shù)不進(jìn)行檢查和過濾。

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

3.2 SQL注入類型

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

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

(2)SQL盲注

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

3.3 SQL注入的步驟

(1)SQL注入判斷

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

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

在對(duì)Web網(wǎng)站發(fā)起SQL注入攻擊之前,需要尋找SQL注入漏洞的所在位置,也就是尋找所謂的SQL注入點(diǎn)。網(wǎng)站的數(shù)據(jù)填寫頁面、信息查找頁面或登錄頁面等,這些頁面中的可以查找或修改數(shù)據(jù)的位置一般有SQL注入點(diǎn)。判斷某個(gè)Web鏈接有沒有SQL注入點(diǎn),可以通過對(duì)其傳入的可控參數(shù)進(jìn)行簡(jiǎ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ù)庫。對(duì)于不同的數(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后臺(tái),使用上傳木馬、webshell等手段,提升自身權(quán)限,設(shè)置后門。

3.4 SQL注入攻擊方式

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

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

服務(wù)器變量主要指環(huán)境網(wǎng)絡(luò)、消息報(bào)頭、及HTTP中包含的變量。如果不對(duì)Web前端向后端服務(wù)器提交的數(shù)據(jù)請(qǐng)求執(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í),將自動(dòng)登錄并反饋給用戶。Cookies 給用戶提供極大便利的同時(shí),如果攻擊者獲取到Web網(wǎng)站的Cookie信息,使用Cookie中的信息構(gòu)造SQL查詢語句,然后將SQL注入攻擊插入Cookie一起上傳發(fā)動(dòng)SQL注入攻擊,還會(huì)導(dǎo)致用戶個(gè)人隱私遭到泄露。

(3)利用用戶輸入注入

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

(4)二階注入

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

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

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

圖2 手動(dòng)注入攻擊流程示意圖

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

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

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

在本次實(shí)驗(yàn)中,使用布爾檢測(cè),輸入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 賬號(hào)密碼破解成功案例圖

4.3 手動(dòng)賬號(hào)密碼猜解

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

5 結(jié)束語

SQL注入是一種常見的滲透技術(shù),對(duì)網(wǎng)絡(luò)安全的威脅很高。通過對(duì)Web滲透測(cè)試與手動(dòng)SQL注入的研究,可以對(duì)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滲透測(cè)試技術(shù)研究[D].中北大學(xué),2015.

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

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

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

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

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

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

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

猜你喜歡
數(shù)據(jù)庫信息系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
展會(huì)信息
主站蜘蛛池模板: 国产一区二区色淫影院| 国产在线精品美女观看| 亚洲婷婷丁香| 亚洲精品国产综合99| 91精品国产自产91精品资源| 9啪在线视频| 国产精品综合色区在线观看| 精品一区二区三区波多野结衣| 免费福利视频网站| 国产男人的天堂| 国产精品成人一区二区不卡| 99在线观看精品视频| 久久男人视频| 不卡无码h在线观看| 免费精品一区二区h| 九色在线观看视频| 国产偷国产偷在线高清| 99er这里只有精品| 色网站在线免费观看| 91精品国产一区自在线拍| 色偷偷一区| 欧美成人第一页| 热99精品视频| 激情五月婷婷综合网| 欧美在线中文字幕| 免费aa毛片| 丝袜无码一区二区三区| 色有码无码视频| 日本高清免费不卡视频| 精品91视频| 国产区在线观看视频| 欧美国产日韩在线| 国产精品永久在线| 国产欧美高清| 国产成人喷潮在线观看| 欧美日韩午夜| 亚洲福利视频一区二区| 第一页亚洲| 免费国产在线精品一区| 在线看免费无码av天堂的| 色AV色 综合网站| 免费不卡视频| 欧美a级完整在线观看| 亚洲成年人网| 久久久久国色AV免费观看性色| 国产一区二区三区日韩精品| 亚洲欧洲日产国码无码av喷潮| 国产乱人乱偷精品视频a人人澡| 亚洲国产清纯| 国产综合无码一区二区色蜜蜜| 综合人妻久久一区二区精品 | 中国国产高清免费AV片| 54pao国产成人免费视频| 国产高潮视频在线观看| 亚洲一本大道在线| 亚洲精品国产日韩无码AV永久免费网 | 波多野结衣在线se| 精品无码人妻一区二区| 久久狠狠色噜噜狠狠狠狠97视色| 欧美精品亚洲精品日韩专区| 中国精品自拍| 91麻豆国产视频| 性欧美久久| 青青极品在线| 国产va免费精品观看| 亚洲va视频| 97视频精品全国在线观看| 午夜视频在线观看免费网站 | 日韩一级二级三级| 久久国产高潮流白浆免费观看| 国产精品免费电影| 国产精品吹潮在线观看中文| 亚洲第一区在线| 成人午夜福利视频| 亚洲欧美不卡视频| 亚洲天堂久久| 国产无码精品在线播放 | 中美日韩在线网免费毛片视频| 成人福利一区二区视频在线| 国产aaaaa一级毛片| 欧美另类图片视频无弹跳第一页| 国产激情影院|