国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Web應(yīng)用安全攻防實(shí)訓(xùn)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

2014-01-20 02:23張紅瑞郝建呂延崗
學(xué)周刊·下旬刊 2014年2期
關(guān)鍵詞:實(shí)訓(xùn)平臺(tái)

張紅瑞 郝建 呂延崗

摘要:緊密結(jié)合OWASP和Trust Wave的安全報(bào)告,進(jìn)行Web應(yīng)用相關(guān)安全威脅(漏洞)特征的分析和提取,并在此基礎(chǔ)上設(shè)計(jì)和實(shí)現(xiàn)Web應(yīng)用安全攻防實(shí)訓(xùn)平臺(tái),集成了多種類型的Web系統(tǒng)和應(yīng)用漏洞。在Web應(yīng)用安全攻防實(shí)訓(xùn)平臺(tái)上,對(duì)SQL注入攻防過程進(jìn)行真實(shí)訓(xùn)練,使用戶能清晰地看到攻擊行為、過程、結(jié)果,并能夠有針對(duì)性地提出SQL注入安全改進(jìn)建議和完成相關(guān)安全措施部署。

關(guān)鍵詞:OWASP;Web應(yīng)用漏洞;安全攻防;實(shí)訓(xùn)平臺(tái);SQL注入

一、引言

隨著計(jì)算機(jī)與互聯(lián)網(wǎng)的快速發(fā)展,Web應(yīng)用已經(jīng)深入各個(gè)領(lǐng)域當(dāng)中。但是由于 Web 開發(fā)人員能力的良莠不齊,致使大量的站點(diǎn)存在著 Web應(yīng)用安全漏洞,這就給攻擊者打開方便之門。世界上權(quán)威的Web安全與數(shù)據(jù)庫安全研究組織OWASP(Open Web Application Security Project)提供的OWASP TOP10 WEB安全報(bào)告,總結(jié)了Web應(yīng)用程序最可能、最常見、最危險(xiǎn)的十大安全威脅,包括SQL注入漏洞;跨站腳本(XSS);直接引用安全漏洞;跨站請(qǐng)求偽造(CSRF);配置安全缺陷;加密存儲(chǔ)威脅;未檢驗(yàn)重定向等。Trust Wave公司在其2012 Global Security Report的十大Web應(yīng)用安全威脅包括SQL注入漏洞;邏輯缺陷;跨站腳本;授權(quán)旁路;會(huì)話處理缺陷;旁路認(rèn)證;跨站請(qǐng)求偽造;源代碼泄露;詳細(xì)的錯(cuò)誤信息;脆弱的第三方軟件等。

Web應(yīng)用安全受到越來越多的攻擊者的關(guān)注,一方面是由于傳統(tǒng)的C/S架構(gòu)方式逐漸在往“瘦客戶端”的B/S架構(gòu)上遷移,而且其應(yīng)用與數(shù)據(jù)庫系統(tǒng)的結(jié)合也更加緊密,使得存在安全漏洞的環(huán)節(jié)增多;另一方面是由于防火墻和IDS/IPS可以關(guān)閉不必要暴露的端口,但是對(duì)于Web應(yīng)用常用的80端口都是對(duì)外開放的,這樣使得攻擊者可以方便地借助于這個(gè)通道進(jìn)行攻擊或者執(zhí)行惡意的操作。

二、系統(tǒng)框架設(shè)計(jì)

基于B/S架構(gòu)的Web應(yīng)用安全攻防實(shí)訓(xùn)平臺(tái)允許用戶使用瀏覽器與站點(diǎn)進(jìn)行交互操作,并且可以通過應(yīng)用來訪問后臺(tái)數(shù)據(jù)庫系統(tǒng),其架構(gòu)主要包括以下方向。

1.Web應(yīng)用系統(tǒng)。采用標(biāo)準(zhǔn)HTML代碼進(jìn)行編寫用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù),在Net Framework框架基礎(chǔ)上采用C#進(jìn)行編寫代碼接受用戶端傳遞過來的參數(shù),負(fù)責(zé)處理業(yè)務(wù)邏輯和數(shù)據(jù)庫訪問等功能。

2.Web應(yīng)用服務(wù)器。用來支持Web應(yīng)用和用戶瀏覽器之間的正常通信,負(fù)責(zé)處理HTTP請(qǐng)求/響應(yīng)消息等操作,采用Windows自帶的IIS程序,根據(jù)實(shí)際需要可以擴(kuò)展到Apache、Lighttpd等Web應(yīng)用服務(wù)器。

3.操作系統(tǒng)和數(shù)據(jù)庫系統(tǒng)。操作系統(tǒng)默認(rèn)采用Windows Sever系列,后臺(tái)數(shù)據(jù)庫默認(rèn)采用SQL Server作為后臺(tái)數(shù)據(jù)庫系統(tǒng),根據(jù)實(shí)際需要可以進(jìn)行相應(yīng)擴(kuò)展My SQL、Access、Oracle等等。

攻防實(shí)訓(xùn)平臺(tái)的硬件部分包括Web應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、防火墻、教師端和學(xué)生端等,其系統(tǒng)拓?fù)鋱D如圖1所示。學(xué)生端分為校內(nèi)學(xué)生端和校外學(xué)生端兩組,其中校外學(xué)生端通過防火墻進(jìn)行訪問、分析和處理。

圖1 系統(tǒng)拓?fù)鋱D

三、安全漏洞設(shè)計(jì)和利用

在OWASP和TrustWave的報(bào)告中,SQL注入漏洞都被列為最危險(xiǎn)的攻擊形式之一,因此,提取SQL注入漏洞作為分析和測(cè)試用例。

1.SQL注入漏洞分析。其原理是通過把SQL命令插入到Web表單遞交、或輸入域名或頁面請(qǐng)求的查詢字符串中,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,通過構(gòu)造巧妙的遞交參數(shù)構(gòu)造巧妙的SQL語句,從而成功獲取想要的數(shù)據(jù)。其嚴(yán)重后果會(huì)使得攻擊者得到在數(shù)據(jù)庫服務(wù)器上執(zhí)行命令的權(quán)限,并且甚至可以獲得管理員的權(quán)限進(jìn)行更為危險(xiǎn)的操作。

2.SQL注入漏洞構(gòu)造。為了利用SQL注入漏洞,攻擊者必須找到一個(gè)參數(shù)傳遞數(shù)據(jù),然后這個(gè)參數(shù)傳送到操作數(shù)據(jù)庫的SQL語句中,Web應(yīng)用程序使用該語句操作數(shù)據(jù)庫,可能導(dǎo)致信息泄漏、數(shù)據(jù)丟失、記錄篡改等危害。

在Web應(yīng)用安全攻防平臺(tái)的顯示頁面(view.aspx)的部分代碼編寫如下。

SqlCommand Cmd=new SqlCommand("select*from NewView where id =" +Request.QueryString["id"], Conn);

SqlDataReader Dr = Cmd.ExecuteReader();

其傳遞過來的參數(shù)id,沒有做任何的限制和處理就傳遞給操作數(shù)據(jù)庫的SQL語句,那么該語句就產(chǎn)生了SQL注入漏洞。

3.模擬攻擊過程。在構(gòu)造完SQL注入漏洞以后,使用經(jīng)典的參數(shù)后面附帶單引號(hào)()、and 1=1、and 1=2和分號(hào)(;)測(cè)試數(shù)據(jù),分析其返回結(jié)果。對(duì)于SQL Server的數(shù)據(jù)庫可以采用錯(cuò)誤的安全配置和猜解管理員數(shù)據(jù)表及其內(nèi)容的方式進(jìn)行模擬攻擊。

(1)SA用戶權(quán)限利用。如果Web應(yīng)用采用了SA用戶進(jìn)行數(shù)據(jù)連接,那么可以構(gòu)造特殊的SQL Server命令來提交到查詢字符串中,利用SQL Server自帶的xp_cmdshell操作系統(tǒng)外殼命令來執(zhí)行相應(yīng)的系統(tǒng)命令,提交的頁面字符串(Web應(yīng)用地址:192.168.2.5)為:

http://192.168.2.5/view.aspx?id=28;exec master.dbo.xp_cmdshell "net user test test /add"

對(duì)于SQL Server阻止了對(duì)xp_cmdshell的訪問情況,可以使用sp_configure來恢復(fù)和啟用xp_cmdshell,提交的頁面字符串為:

http://192.168.2.5/view.aspx?id=28;EXEC sp_configure 'show advanced options',1 RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1 RECONFIGURE

再次執(zhí)行xp_cmdshell操作系統(tǒng)外殼命令,如果執(zhí)行成功即可添加一個(gè)系統(tǒng)用戶。

(2)數(shù)據(jù)表的猜解。對(duì)于非SQL Server數(shù)據(jù)庫的情況,比如,Access和MySQL數(shù)據(jù)庫類型或者Web應(yīng)用沒有使用SA用戶進(jìn)行數(shù)據(jù)庫連接,那么可以通過SQL注入來完成數(shù)據(jù)表的猜解,其過程可以分為:猜解表名和記錄數(shù);猜解字段名稱;猜解字段長度;猜解字段字符等步驟。

猜解表名提交的頁面字符串為:

http://192.168.2.5/View.aspx?id=28 and exists(select * from admin)

猜解記錄數(shù)提交的頁面字符串為:

http://192.168.2.5/View.aspx?id=28 and 5<(select count(*) from admin)

其余提交的頁面字符串都可以通過手工構(gòu)造SQL命令或者使用SQL注入工具來自動(dòng)完成。

4.獲得服務(wù)器管理權(quán)限。在獲得Web應(yīng)用管理權(quán)限之后,可以進(jìn)入其管理后臺(tái)利用其Web編輯器的上傳功能將準(zhǔn)備好的Web Shell上傳到Web服務(wù)器上。根據(jù)其Web應(yīng)用服務(wù)器類型的不同,可以上傳ASP(.NET)、PHP和JSP等類型的Web Shell,以獲得服務(wù)器的管理控制權(quán)。

綜上所述,其攻擊過程如圖2所示。

圖2漏洞攻擊過程

四、SQL注入攻擊防范設(shè)計(jì)

SQL注入攻擊防范首先需要對(duì)Web應(yīng)用和數(shù)據(jù)庫系統(tǒng)進(jìn)行安全合理的配置,包括以下幾點(diǎn)。

1.不使用管理員(SA)權(quán)限的數(shù)據(jù)庫連接,為每個(gè)應(yīng)用分配權(quán)限有限的數(shù)據(jù)庫連接。

2.使用參數(shù)化的SQL或者直接使用存儲(chǔ)過程進(jìn)行數(shù)據(jù)查詢存取。

3.應(yīng)用的異常信息應(yīng)該給出盡可能少的提示,最好使用自定義的錯(cuò)誤頁面提示。

對(duì)于用戶提交的客戶端信息,使用SQL注入檢測(cè)模塊進(jìn)行必要的檢測(cè),其步驟主要包括。

1.對(duì)客戶端提交的信息進(jìn)行URL解碼,防止用戶以URL編碼的方式構(gòu)造SQL命令用來欺騙SQL注入檢測(cè)模塊。

2.使用正則表達(dá)式來驗(yàn)證提交信息中是否包含單引號(hào)()、分號(hào)(;)、結(jié)束符(--)等特殊字符,如果存在則轉(zhuǎn)至異常處理模塊。

3.檢測(cè)提交信息中是否包含select、insert、update、from、user、exec等特殊命令,如果存在則轉(zhuǎn)至異常處理模塊。

4.檢測(cè)提交參數(shù)信息的長度是否超過預(yù)設(shè)的閾值,如果超過則轉(zhuǎn)至異常處理模塊。

SQL注入檢測(cè)步驟流程如圖3所示。

圖3 SQL注入檢測(cè)防御模塊設(shè)計(jì)

五、結(jié)束語

緊密結(jié)合OWASP和Trust Wave提供的相關(guān)安全報(bào)告,采用積極主動(dòng)的辦法來訓(xùn)練用戶對(duì)于SQL注入漏洞的處理,分析漏洞原因、構(gòu)造和設(shè)計(jì)漏洞、模擬攻擊平臺(tái),并對(duì)結(jié)果進(jìn)行分析,確定問題所在,給出改進(jìn)建議和防護(hù)措施。在平臺(tái)上,一方面可以實(shí)現(xiàn)Web應(yīng)用攻防技術(shù)、過程、方法的演示再現(xiàn)甚至對(duì)抗性的攻防演練;另一方面,將教學(xué)和實(shí)驗(yàn)操作中產(chǎn)生的Web應(yīng)用攻擊行為限制在一定的范圍內(nèi),防止對(duì)互聯(lián)網(wǎng)的實(shí)際網(wǎng)絡(luò)和服務(wù)造成干擾和破壞。

Web應(yīng)用程序的安全攻防是信息(網(wǎng)絡(luò))系統(tǒng)安全中具有挑戰(zhàn)性的部分,對(duì)于滿足信息安全人才的培養(yǎng),實(shí)現(xiàn)網(wǎng)絡(luò)安全專業(yè)方向?qū)嶒?yàn)教學(xué),滿足教育、政府信息化和企業(yè)Web應(yīng)用安全培訓(xùn)需求是一項(xiàng)十分有意義的工作。

參考文獻(xiàn):

1.OWASP.The Ten Most Critical Web ApplicationSecurityRisks[R],http://www.owasp.org/images/0/0f/OWASPT10 2010 rc1.pdf.2012-10

2.TrustWave.2012 Global Security Report[R],http://www.owasp.org.cn/OWASP Training/Trustwave WP Global Security Report 2012.pdf.2012-10

3.范淵,《Web應(yīng)用風(fēng)險(xiǎn)掃描的研究與應(yīng)用》[J],《電信網(wǎng)技術(shù)》,2012.3:13-17

4.章建國,《利用WEB應(yīng)用漏洞構(gòu)筑WEB安全檢測(cè)系統(tǒng)》[J],《廣東公安科技》,2006.2:36-39

5.尹中旭、朱俊虎、魏強(qiáng)等,《網(wǎng)絡(luò)攻防演練平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)》[J],《計(jì)算機(jī)教育》,2011.2:108-112

6.徐川、唐建、唐紅,《網(wǎng)絡(luò)攻防對(duì)抗虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》[J],《計(jì)算機(jī)工程設(shè)計(jì)》,2011.32(4):1268-1271

7.王云、郭外萍、陳承歡,《Web 項(xiàng)目中的 SQL 注入問題研究與防范方法》[J],《計(jì)算機(jī)工程與設(shè)計(jì)》,2010.31(5):976-978

8.李揚(yáng)、朱曉民、李煒,《網(wǎng)站安全漏洞解析》[J],《四川兵工學(xué)報(bào)》,2012.33(1):97-99

9.余靜、高豐、徐良華,《基于 SQL 注入的滲透性測(cè)試技術(shù)研究》[J],《計(jì)算機(jī)工程與設(shè)計(jì)》2007.28(15):3577-3578

10.朱輝、周亞建、鈕心忻,《數(shù)據(jù)庫SQL注入攻擊與防御研究》[A],《2011年通信與信息技術(shù)新進(jìn)展——第八屆中國通信學(xué)會(huì)學(xué)術(shù)年會(huì)論文集》,2011,580-583

11.熊婧、曹忠升、朱虹等,《基于構(gòu)造路徑的存儲(chǔ)過程SQL注入檢測(cè)》[J],《計(jì)算機(jī)研究與發(fā)展》,2008.45:125-129

12.王偉平、李昌、段桂華,《基于正則表示的SQL注入過濾模塊設(shè)計(jì)》[J],《計(jì)算機(jī)工程》,2011.37(5):158-160

基金項(xiàng)目:河北省高等學(xué)??茖W(xué)研究計(jì)劃項(xiàng)目(課題編號(hào):Z2012087),石家莊市哲學(xué)社會(huì)科學(xué)規(guī)劃研究項(xiàng)目(課題編號(hào):WH1217)

作者簡介:張紅瑞(1978—),女,河北定州人,講師,碩士,主要研究領(lǐng)域?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)視覺。

【責(zé)編 田彩霞】

猜你喜歡
實(shí)訓(xùn)平臺(tái)
高職綜合課程虛擬仿真實(shí)訓(xùn)平臺(tái)開發(fā)與應(yīng)用的思考
NM7000B儀表著陸系統(tǒng)實(shí)訓(xùn)平臺(tái)設(shè)備改造方案