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

        ?

        基于Web應用的網(wǎng)絡安全漏洞發(fā)現(xiàn)與研究

        2016-09-23 06:22:16張曉雙徐依凌劉淵
        網(wǎng)絡與信息安全學報 2016年6期
        關鍵詞:源碼令牌會話

        張曉雙,徐依凌,劉淵

        (江南大學數(shù)字媒體學院,江蘇 無錫,214122)

        基于Web應用的網(wǎng)絡安全漏洞發(fā)現(xiàn)與研究

        張曉雙,徐依凌,劉淵

        (江南大學數(shù)字媒體學院,江蘇 無錫,214122)

        Web安全漏洞可分為2類,即基于Web平臺和基于Web自身應用的安全漏洞。通過分析Web應用網(wǎng)絡安全漏洞的攻擊原理和攻擊過程,研究了包括反射型、存儲型和文檔對象模型(DOM,document object model)的跨站腳本(XSS,cross site scripting)漏洞和結構化查詢語言(SQL,structured query language)注入漏洞,以及會話認證管理漏洞,提出了基于3種不同漏洞的相應的防范措施。

        Web應用;跨站腳本;SQL注入;會話認證管理

        1 引言

        隨著互聯(lián)網(wǎng)全球化,網(wǎng)絡安全形勢日益嚴峻,各種安全漏洞層出疊見。CNNVD自2009年10 月18日正式上線收集漏洞以來,每年新增漏洞數(shù)量呈明顯的上升趨勢。從2010年收錄漏洞4 636個到2015年收錄漏洞7 754個,平均每年收錄6 781個。截至2015年底,CNNVD總共收錄漏洞高達80 300個??缯灸_本(XSS)攻擊、SQL注入攻擊、失效的會話認證管理這3類漏洞占比高、破壞力強,占網(wǎng)絡安全漏洞的半壁江山。

        目前,網(wǎng)絡安全領域受到廣大學者的重視。Parvez等[1]研究了黑盒子Web應用掃描器對存儲型XSS漏洞的檢測作用。Shar等[2]針對XSS漏洞,提出一種規(guī)范的審計模型,該模型提取了所有目前已有的防御編碼方法,確保檢測到每個潛在的脆弱的HTML輸出。Sadeghian等[3]全面分析了不同類型SQL注入的檢測方法和防范技術,并做了結構分類。Sathyanarayan等[4]根據(jù)SQL語法,對惡意的SQL查詢語句進行枚舉,并總結了惡意的查詢模式。Yoon等[5]基于橢圓曲線離散對數(shù)問題,研究出一種新的針對會話初始協(xié)議(SIP)的認證機制。

        本文基于 Linux測試平臺配合多種測試工具,結合具體網(wǎng)絡漏洞,研究了3種主流網(wǎng)絡安全漏洞的基本原理、攻擊方式和防御措施。

        2 滲透測試平臺及工具

        2.1實驗平臺

        本文工作主要在Ubuntu和Kali這2個操作系統(tǒng)上進行。Ubuntu是一個基于Linux的開源系統(tǒng)。Kali是一個基于Debian的Linux發(fā)行版,它自帶很多用于滲透測試的工具,支持ARM架構,主要用于黑客攻擊和滲透測試。

        2.2測試工具

        在評估一個網(wǎng)絡應用安全性能時,準確使用各種測試工具非常重要。本文主要使用漏洞檢測框架Metasploit、Web應用掃描工具W3AF、網(wǎng)絡數(shù)據(jù)監(jiān)控工具FireBug。

        Metasploit根據(jù)明確的攻擊目標,創(chuàng)建或從庫文件中選擇相應的漏洞代碼并執(zhí)行攻擊,其體系結構如圖1所示。

        W3AF主要用于Web應用攻擊和檢查,目前已擁有130多個插件。按其功能,插件可分為9個模塊,分別是審計模塊(audit)、認證模塊(auth)、破解模塊(bruteforce)、爬蟲模塊(crawl)、逃逸模塊(evasion)、搜索模塊(grep)、基礎模塊(infrastructure)、修改模塊(mangle)、輸出模塊(output)。各個模塊的運作關系如圖2所示。

        3 XSS漏洞分析與檢測防御

        XSS攻擊是對動態(tài)網(wǎng)站常見的一種攻擊方式,由于對用戶提交的輸入數(shù)據(jù)過濾不嚴格,導致攻擊者可以將惡意腳本注入到網(wǎng)頁上。由于XSS攻擊腳本注入方式的不同,產(chǎn)生了反射型、存儲型、DOM型3類漏洞[6],本文以存儲型XSS漏洞為例進行分析。

        3.1存儲型XSS漏洞測試

        攻擊者提交的惡意代碼沒有被過濾或凈化而直接保存在Web服務器,一旦有用戶訪問被攻擊的頁面,惡意代碼就會執(zhí)行并實現(xiàn)攻擊,這就是存儲型XSS攻擊。WordPress是以PHP作為開發(fā)語言的開源博客平臺,其WordPress Googmonify Plugin 0.8.1版本存在一個存儲型漏洞。

        圖1 Metasploit體系結構

        1)漏洞攻擊。配置本地服務器,按需求配置WordPress使其可正常使用,并安裝有漏洞的插件版本 Googmonify 0.8.1。最后,編寫攻擊代碼并在瀏覽器上執(zhí)行,當執(zhí)行代碼后跳轉(zhuǎn)到WordPress的登錄界面,一旦用戶輸入賬號、密碼登錄,就實現(xiàn)了XSS攻擊。測試結果如圖3所示。

        圖2 W3AF運作關系

        圖3 存儲型XSS漏洞攻擊效果

        2)漏洞特征源碼。部分漏洞源碼如下。

        這個漏洞產(chǎn)生的原因是googmonify.php 頁面對輸入?yún)?shù)pid、limit和aid沒有進行嚴格過濾,直接向服務器提交并返回給響應,導致攻擊者可以給它們傳遞惡意腳本。除了仿冒用戶與服務器通信并獲取敏感信息,攻擊者還可以直接在惡意腳本中嵌入一個URL,將用戶界面跳轉(zhuǎn)到攻擊者設計的惡意網(wǎng)址,進行進一步的攻擊。

        3)漏洞修復。類似反射型 XSS漏洞,可以用 htmlspecialchars( )函數(shù)把輸入?yún)?shù) pid、limit等中含有的一些特殊字符轉(zhuǎn)化為HTML實體,把輸入的參數(shù)當作HTML內(nèi)容來處理,而不是當作結構來處理。

        4)漏洞攻擊分析。通過對Googmonify 0.8.1漏洞的剖析可知,入侵者可以在遠程的Web頁面中提交惡意腳本,一旦這些攻擊后的Web網(wǎng)頁被訪問,入侵者在其中嵌入的惡意腳本將會被執(zhí)行,達到入侵目的。其攻擊實施步驟如圖4所示。

        圖4 存儲型XSS漏洞攻擊實施步驟

        就危害程度而言,存儲型XSS漏洞比反射型XSS漏洞的威脅更大。利用反射型XSS漏洞,攻擊者需要借助某種媒介,如釣魚郵件,將設計好的 URL發(fā)送給用戶,誘騙用戶點擊惡意URL,在這個過程中,就會降低攻擊的成功率。而對于存儲型XSS漏洞,惡意腳本已經(jīng)被保存在服務器上,一旦被攻擊后的Web網(wǎng)頁被訪問,入侵者在其中嵌入的惡意腳本將會被執(zhí)行。

        3.2XSS漏洞防御措施

        反射型 XSS漏洞和存儲型漏洞存在的根本原因均是用戶提交的數(shù)據(jù)未經(jīng)過濾直接被復制到輸出響應中。DOM型XSS漏洞的根本原因是用戶提交的數(shù)據(jù)未經(jīng)過濾直接由客戶端瀏覽器處理。為了避免這3種類型的XSS漏洞,開發(fā)人員在開發(fā)過程中可以從以下3個方面入手。

        1)控制輸入。應用程序在收到用戶在頁面上輸入的內(nèi)容后,需要對這些數(shù)據(jù)進行嚴格的驗證和轉(zhuǎn)義。首先,確保數(shù)據(jù)的長度在一定范圍內(nèi),因為嵌入了惡意腳本的代碼長度往往會超出正常長度;其次,對特殊字符進行嚴格過濾,如<、>、/等常用的腳本字符;最后,對不同的輸入制定不同的類型要求。

        2)控制輸出。開發(fā)人員應該盡量避免將用戶的輸入不經(jīng)任何處理直接復制到響應中,應對這些輸入進行 HTML編碼,把輸入的參數(shù)當作HTML內(nèi)容來處理,而不是當作結構來處理。

        3)避免敏感插入點。對于反射型和存儲型XSS漏洞,應用程序中存在一些位置,如果這些位置存在外部接口允許用戶輸入內(nèi)容,就容易產(chǎn)生XSS漏洞。如在JavaScript腳本中,標簽的href屬性中。應盡量尋找其他方法替代相應的輸入功能。對于DOM型XSS漏洞,盡可能避免直接將DOM 數(shù)據(jù)插入到頁面中,并使用客戶端的腳本來處理。

        4 SQL注入漏洞分析與檢測防御

        SQL注入的基本原理是攻擊者利用數(shù)據(jù)庫的一些外部函數(shù)接口,將SQL查詢命令傳輸?shù)綌?shù)據(jù)庫服務器,然后在數(shù)據(jù)庫內(nèi)執(zhí)行這個查詢,導致數(shù)據(jù)丟失或劫持用戶服務器。

        4.1SQL注入漏洞測試

        Joomla是一套基于PHP平臺、在全球認可度很高的內(nèi)容管理系統(tǒng),其Joomla 3.2~3.4.4版本存在SQL注入漏洞。

        1)漏洞攻擊。配置服務器并安裝 Joomla實例范本。在瀏覽器提交含有 SQL查詢語句的URL,分別獲取用戶的賬號和密碼的散列值。攻擊成功后可以獲取管理員的用戶名和管理員密碼的散列值,如圖5和圖6所示。

        圖5 管理員用戶名獲取結果

        圖6 管理員密碼散列值獲取結果

        對比網(wǎng)站后臺數(shù)據(jù)庫,如圖7所示。可以證明SQL注入獲取結果的正確性。

        圖7 網(wǎng)站后臺數(shù)據(jù)庫

        2)漏洞特征源碼。部分漏洞源碼如下。contentthistory.php頁面如圖8所示。

        圖8 contentthistory.php頁面

        List.php頁面如圖9所示。

        圖9 List.php頁面

        從圖8和圖9的特征源碼以及圖10的數(shù)據(jù)流可以看出,產(chǎn)生該漏洞的根本原因有2點。①對于contentthistory.php頁面,未對組件訪問權限進行嚴格控制。歷史編輯版本組件com_contentthistory應該只有管理員才有訪問權,但實際加載該組件時,沒有進行相關權限檢測,而是直接被load。②在list.php頁面中,開發(fā)者對參數(shù)做了解析并設置了過濾,但卻忽略了list[select]參數(shù)最后會被解析到SQL語句構建中的 list.select。攻擊者就可以為此參數(shù)構造SQL查詢語句,注入到執(zhí)行流。

        3)漏洞修復。調(diào)用$inputFilter->clean對參數(shù)list[select]進行過濾,其中,$inputFilter = JFilterInput:: getInstance(),Joomla中已經(jīng)定義了JFilterInput類,用于對數(shù)據(jù)源中的輸入進行過濾。

        4)漏洞攻擊分析。從上述漏洞剖析可知,通過將Web客戶端提交的惡意SQL查詢命令傳輸?shù)綌?shù)據(jù)庫服務器進行數(shù)據(jù)庫檢索,攻擊者可以獲取敏感信息,甚至是控制整個數(shù)據(jù)庫服務器。其攻擊實施過程如圖11所示。

        4.2SQL注入漏洞防御措施

        圖10 SQL注入的數(shù)據(jù)流

        圖11 SQL注入漏洞攻擊實施方式

        為了避免SQL注入漏洞,開發(fā)人員在開發(fā)過程中可以從以下3個方面入手。

        1)輸入控制。很多 SQL注入漏洞都是由單引號造成的。攻擊者往往在插入的數(shù)據(jù)中先用一個單引號匹配原查詢語句中已存在的一個單引號,然后再在后面輸入其他的查詢語句,因此,在將用戶的輸入插入數(shù)據(jù)庫服務器前,應先匹配單引號;其次,需要對輸入進行預處理,過濾輸入中包含的注釋字符、轉(zhuǎn)義序列等一些特殊的字符;最后,控制輸入數(shù)據(jù)的長度在一定范圍內(nèi),將不同的輸入強制轉(zhuǎn)換為相應的類型。

        2)使用參數(shù)化查詢。參數(shù)化查詢指的是應用程序已經(jīng)確定查詢結構,在需要用戶輸入的地方預先設置占位符。隨后將用戶的輸入數(shù)據(jù)填充到預留的占位符。這樣做的好處是,即使攻擊者精心設計數(shù)據(jù),也無法破壞查詢結構,因為查詢結構已經(jīng)被確定。

        3)控制訪問權限。應用程序應該根據(jù)用戶的身份和需求設置相應的訪問權限。比如,一般用戶只需要讀取和查詢自己的數(shù)據(jù)庫。但對于管理員而言,則需要擁有更高的權限來管理好整個系統(tǒng)的數(shù)據(jù)庫。

        5 會話認證管理漏洞分析與檢測防御

        會話管理攻擊是攻擊者通過某種方式劫持用戶的會話,在獲取會話令牌后,偽裝成這位用戶獲取該用戶的敏感信息和相應權限。如果會話令牌是可預測的,攻擊者甚至可以猜測其他用戶的會話令牌,擴大攻擊范圍。

        5.1會話認證管理漏洞測試

        Yxcms是基于 PHP平臺的開源企業(yè)建站系統(tǒng),Yxcms 1.1.3版本存在會話認證管理漏洞。

        1)漏洞攻擊。配置服務器并安裝漏洞版本Yxcms 1.1.3。構造一個惡意URL,將管理員會話的SESSIONID設置為本文構造的值1234qwer。利用社會工程學方法,誘騙管理員點擊這個惡意URL。管理員點擊后,由于重置了會話,會重新跳到登錄界面。當管理員再次登錄后,相當于對這個 SESSION做了授權處理,被攻擊者的SESSIONID將變成本文構造的 1234qwer。利用這個SESSIONID,可以獲取管理員的身份。攻擊結果如圖12~圖14所示。

        圖12 正常捕獲的管理員SESSIONID

        圖13 會話重置后捕獲的管理員SESSIONID

        圖14 利用SESSIONID后獲得的管理員界面

        2)漏洞特征源碼。部分漏洞源碼如圖15所示。

        圖15 部分漏洞源碼

        由特征源碼可知,這個漏洞存在的原因是Yxcms允許用戶通過 GET方法自定義會話,這樣,攻擊者就可以直接為管理員設計一個會話,而不需費勁心思劫持用戶會話,猜測它的會話令牌。然后,攻擊者將包含會話令牌的URL發(fā)送給管理員,誘騙其點擊。一旦管理員點擊這個URL并重新登錄,他的會話令牌就變成攻擊者設計的值。這樣攻擊者可以利用自己設計的會話令牌獲取管理員身份,控制后臺。

        3)漏洞修復。從代碼分析中可以看出,GET方法除了從外部接收一個會話令牌,沒有其他作用,且該功能實際上是不需要的,所以,可以直接刪除從外部獲取會話令牌的接口。

        4)漏洞攻擊分析。會話認證漏洞產(chǎn)生的根本原因是攻擊者獲得了用戶的會話令牌,且該令牌在一段時間內(nèi)是有效的。會話令牌常見的獲取方式是劫持正在會話的用戶。會話劫持是攻擊者竊取Web瀏覽器和服務器連接的會話,具體流程如圖16所示。

        圖16 會話劫持過程

        上述漏洞就是一個變相的會話固定,只不過攻擊者發(fā)送給管理員的會話是直接構造的,而不是攻擊者自己先建立的。會話固定是會話劫持的一種方式,會話固定是攻擊者自己先建立一個會話,然后誘使其他用戶登錄此會話,幫助自己獲得認證,最后冒充該用戶。上述漏洞具體實施過程如圖17所示。

        5.2會話認證管理漏洞防御措施

        根據(jù)產(chǎn)生會話管理漏洞的3個原因,開發(fā)人員在開發(fā)過程中可以采取相應的防御措施,具體如下。

        圖17 會話固定劫持過程

        1)確保會話令牌頑健性。Web應用程序生成的會話令牌應使攻擊者無法猜測或推算。在生成令牌時,可以使用一個強大的隨機源,確保令牌無法預測。

        2)防止會話令牌泄露。在一個令牌產(chǎn)生后,必須保證它在整個生命周期的安全性。①盡可能使用 HTTPS傳送會話令牌,如果使用 HTTP Cookie傳送令牌,則必須標記Cookie安全,杜絕瀏覽器通過HTTP傳送它們。②不要在URL中傳送會話令牌,因為這樣就相當于直接把令牌暴露給攻擊者。③如果應用程序有管理會話令牌的功能,則應該對該功能設置嚴格的訪問權限,對于包含令牌的日志,也需要有嚴格的訪問權限。④確保客戶端安全,對于依賴HTTP Cookie的會話管理機制,客戶端的XSS漏洞、CSRF漏洞等都會造成Cookie泄露,所以,必須防止在客戶端產(chǎn)生漏洞。

        3)設置會話令牌的有效期。首先,應杜絕使用靜態(tài)的會話令牌;其次,會話處于非活動狀態(tài)一段時間內(nèi),應用程序應該要自動結束會話;最后,應用程序要確保能正確執(zhí)行退出功能,一旦用戶退出,應用程序要立刻刪除服務器上所有關于本次會話的資源,并結束會話。

        6 結束語

        本文主要研究了XSS攻擊、SQL注入和失效的會話認證管理這 3類網(wǎng)絡安全漏洞。通過分析 5個實際的安全漏洞,研究了它們的攻擊原理、攻擊方式,并提出了針對不同類型漏洞的防范措施。

        [1]PARVEZ M, ZAVARSKY P, KHOURY N. Analysis of effectiveness of black-box web application scanners in detection of stored SQL injection and stored XSS vulnerabilities[C]//The 10th International Conference for Internet Technology and Secured Transactions (ICITST), IEEE. c2015: 186-191.

        [2]SHAR L K, TAN H B K. Auditing the XSS defence features implemented in Web application programs[J]. Software, IET, 2012,6(4): 377-390.

        [3]SADEGHIAN A, ZAMANI M, MANAF AA . A taxonomy of SQL injection detection and prevention techniques[C]//2013 International Conference on Informatics and Creative Multimedia (ICICM), IEEE. c2013: 53-56.

        [4]SATHYANARAYAN S, QI D, LIANG Z, et al. SQLR: grammar-guided validation of SQL injection sanitizers[C]// 2014 19th International Conference on Engineering of Complex Computer Systems (ICECCS), IEEE. c2014: 154-157.

        [5]YOON E J, YOO K Y. A new authentication scheme for session initiation protocol[C]//International Conference on Complex, Intelligent and Software Intensive Systems, IEEE. c2009: 549-554.

        [6]吳曉恒. 跨站腳本攻擊的防御技術研究[D]. 上海:上海交通大學,2011. WU X H. Defense technology research of cross site scripting attack[D]. Shanghai: Shanghai Jiaotong Universtiy, 2011.

        Discovery and research of network security vulnerabilities based on Web application

        ZHANG Xiao-shuang, XU Yi-ling, LIU Yuan

        (School of Digital Media, JiangNan University, Wuxi 214122, China)

        Web security vulnerabilities can be divided into two categories, including security vulnerabilities Web platform and Web their own application. By analyzing the attack principle and process of Web application network security vulnerabilities, XSS vulnerability including type of the reflective, stored, and DOM, SQL injection vulnerability and session authentication management vulnerability were studied. The corresponding preventive measures of the three kinds of vulnerabilities were put forward.

        Web application, cross site scripting, SQL injection, session authentication management

        TP309

        A

        10.11959/j.issn.2096-109x.2016.00065

        2016-04-17;

        2016-05-30。通信作者:張曉雙,786002308@qq.com

        江蘇省自然科學基金資助項目(No.BK20151131);中央高?;究蒲袠I(yè)務費專項基金資助項目(No.JUSRP51614A)

        Foundation Items: The Natural Science Foundation of Jiangsu Province (No.BK20151131), The Fundamental Research Funds for the Central Universities (No.JUSRP51614A)

        張曉雙(1991-),女,湖北咸寧人,江南大學碩士生,主要研究方向為社交網(wǎng)絡。

        徐依凌(1993-),女,浙江紹興人,江南大學本科生,主要研究方向為 IOT安全。

        劉淵(1967-),男,江蘇無錫人,江南大學教授,主要研究方向為網(wǎng)絡安全、計算機網(wǎng)絡。

        猜你喜歡
        源碼令牌會話
        基于網(wǎng)頁源碼結構理解的自適應爬蟲代碼生成方法
        計算機應用(2023年6期)2023-07-03 14:11:56
        基于圖神經(jīng)網(wǎng)絡的軟件源碼漏洞檢測方法
        計算機時代(2023年6期)2023-06-15 17:49:09
        稱金塊
        企業(yè)如何保護源碼
        基于路由和QoS令牌桶的集中式限速網(wǎng)關
        動態(tài)令牌分配的TCSN多級令牌桶流量監(jiān)管算法
        計算機工程(2018年8期)2018-08-17 00:26:54
        有意冒犯性言語的會話含義分析
        漢語教材中的會話結構特征及其語用功能呈現(xiàn)——基于85個會話片段的個案研究
        基于數(shù)據(jù)結構教輔系統(tǒng)的實驗課程改革
        計算機教育(2016年4期)2016-05-20 02:36:05
        沖突語的會話分析研究
        亚洲av色av成人噜噜噜| 怡春院欧美一区二区三区免费| 欧美一区二区午夜福利在线yw| 亚洲一区二区三区偷拍自拍| 在线观看中文字幕二区| 影音先锋色小姐| 熟女俱乐部五十路二区av| 噜噜噜色97| 中文字幕一区二区黄色| 奇米影视7777久久精品| 亚洲暴爽av天天爽日日碰| 五月天婷婷一区二区三区久久| 精品亚洲一区二区三区在线播放| 免费国产在线精品一区| 午夜福利视频合集1000| 欧美zozo另类人禽交| 青青草视频在线观看绿色| 欧美日韩一区二区三区在线观看视频| 国产亚洲精久久久久久无码| 亚洲色无码中文字幕| 国产黄色一区二区在线看| 亚洲av永久中文无码精品综合| 亚洲精品夜夜夜| 伊人久久婷婷综合五月97色| 变态另类手机版av天堂看网| 天美传媒一区二区| 国产欧美日韩在线观看一区二区三区| 精品国模人妻视频网站| 欧美老肥婆牲交videos| 少妇被爽到高潮动态图| 无遮挡粉嫩小泬| 丰满的少妇av一区二区三区| 人妻少妇精品无码专区动漫| 麻豆国产巨作AV剧情老师| 少妇人妻一区二区三飞| 无码av中文一区二区三区| 国产精品香蕉在线观看| 亚洲乱码中文字幕综合| 人妻诱惑中文字幕在线视频| 国产免费丝袜调教视频| 国产AV高清精品久久|