• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于PHP的在線跨站腳本檢測工具

      2015-10-26 22:32:36王佩牛晨丁立彤
      現(xiàn)代電子技術(shù) 2015年20期
      關(guān)鍵詞:安全檢測

      王佩+牛晨+丁立彤

      摘 要: 跨站腳本是一類基于網(wǎng)站應(yīng)用程序的安全漏洞攻擊,將研究和解決快速化的自動化檢測。為了有效地防止跨站腳本被濫用,決定創(chuàng)建一種基于Web 的跨站腳本檢測方式,以發(fā)現(xiàn)Web站點中潛在的跨站風(fēng)險。完成主要的6大模塊有:登陸模塊、檢測模塊、掃描模塊、輸出模塊、報表模塊、日志模塊。核心代碼模塊是檢測和掃描部分,他們相互配合構(gòu)造跨站參數(shù)并抓取反饋信息,其他模塊配合核心代碼起到輔助作用。選擇PHP進(jìn)行構(gòu)造是一大亮點,PHP是一種Web程序語言,能夠快速地解析前端DOM內(nèi)容,在腳本語言中速度僅次于Python。用Web方式構(gòu)造和檢測本就屬于Web 攻擊的跨站腳本,將更加快捷、高效。

      關(guān)鍵詞: 跨站腳本; Web; PHP; 安全檢測; 掃描

      中圖分類號: TP911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)20?0041?03

      Online XSS testing tool based on PHP

      WANG Pei, NIU Chen, DING Litong

      (Xian University of Posts & Telecommunications, Xian 710121, China)

      Abstract: The XSS (cross site scripting) is a kind of attack against the security hole based on network application program. Its fast auto?test is studied in this paper. In order to prevent the abuse of XSS effectively, a Web?based XSS testing method is designed to detect the potential cross?site risks in Web sites. Six main modules (login module, detection module, scanning module, output module, report module and log module) were fulfilled, in which the kernel code modules are detection and scanning ones, which cooperate each other to construct cross?site parameters and grab the feedback data. PHP is a Web program language, which can resolve the front?end DOM contents quickly, and its rate is second only to Python in scripting language. To use Web method to structure and detect XSS belonging to the Web attack is more convenient and efficient.

      Keywords: cross site scripting; Web; PHP; security detection; scan

      在跨站腳本越來越隱蔽的今天,應(yīng)對該漏洞威脅就成了一項艱巨的任務(wù)[1?3]。在早期對跨站腳本的研究只停留在簡單的暴力式攻擊[4],而對繞過等新興的攻擊方式缺乏了解。但近幾年國外對于跨站腳本的研究越來越深入,有了這些研究基礎(chǔ),Web安全大大的提高了[5]。目前國內(nèi)的研究現(xiàn)狀,也基本已經(jīng)涉及到跨站腳本的各個層次,唯獨自動化的檢測工具較少,即便是有也主要針對SQL注入等漏洞[6?8]。不專注與構(gòu)造型的跨站腳本檢測,本文將補(bǔ)充這類的不足。依據(jù)基本的Javascript 腳本和跨站構(gòu)造方法,可以構(gòu)造出多種多樣的跨站語句,這樣的語句被稱為Payload。通過HTTP請求,不斷地檢測Payload提交到Web Server,就可以檢測站點是否存在跨站腳本,達(dá)到檢測的目的。

      1 跨站腳本攻擊及防范方法

      1.1 跨站腳本攻擊

      跨站腳本漏洞的攻擊方式主要來源于Web站點運(yùn)行過程中,有攻擊者將自己帶有惡意的腳本代碼,提交給該Web服務(wù)器,并在瀏覽器加載時將惡意代碼一起執(zhí)行。在互聯(lián)網(wǎng)大規(guī)模流行的初期,大量的網(wǎng)站曾遭受到跨站腳本漏洞的攻擊[9]。本文從實踐角度實踐產(chǎn)生原理角度,對研究如何發(fā)掘與利用,如何防范等都做出了大量細(xì)致描述。本文將演示從系統(tǒng)的分析過程、搭建過程、運(yùn)行過程、結(jié)果分析的過程逐一剖析。

      1.2 構(gòu)造攻擊及Bypass

      跨站腳本的漏洞攻擊方法很多,其中不乏一些特殊的漏洞利用方式,當(dāng)下所有繞過方式主要都是由人工完成。通過人工的漏洞查找雖然細(xì)致,但是效率低下,還要取決于攻擊者自身的編程水平。這樣一來注入工具就開始流行,而通過程序檢測跨站腳本,無法做到及時發(fā)現(xiàn)和靈活的構(gòu)造。如果要求準(zhǔn)確,而不要求時間,就可以手動注入。如果要求效率而忽略精確程度,就可以采用自動化檢測。本文就是采用自動化的檢測方法進(jìn)行的一系列評估。耗時短,掃描量大,但是構(gòu)造方法相對于手動注入缺乏靈活性。

      1.3 跨站腳本攻擊防范方法

      1.3.1 敏感過濾

      對付跨站腳本最基本方法就是要將用戶交互的所有地方進(jìn)行過濾,在Web后臺語言中幾乎所有的都包括前端標(biāo)簽過濾函數(shù)。

      1.3.2 HTTP頭指定類型

      請求的報文必需包括請求行、請求頭部、空白行和請求內(nèi)容4個部分組成。在header of request包含了名/值對的組成的單個組合數(shù)據(jù),每1對都是由名稱和值構(gòu)成,然后由英文冒號近行分割。在HTTP協(xié)議中可以使用報文的頭部指定內(nèi)容的類型,使得輸出的內(nèi)容避免被作為HTML解析[10]。

      2 系統(tǒng)架構(gòu)

      2.1 邏輯架構(gòu)

      Web Scan漏洞掃描系統(tǒng)是根據(jù)XSSer為掃描引擎的掃描工具。結(jié)合國內(nèi)最成熟的PHP開發(fā)框架ThinkPHP[11],將掃描的Web頁面信息爬取出來,并根據(jù)參數(shù)尋找到關(guān)鍵字,重新構(gòu)造POST 和 GET 參數(shù)提交給XSSer引擎進(jìn)行掃描,完成后輸出結(jié)果到文件中,前臺讀取文件,進(jìn)行信息匯總。 系統(tǒng)目錄圖如圖1所示。

      圖1 系統(tǒng)目錄

      2.2 物理架構(gòu)

      圖2物理架構(gòu)描述了一個標(biāo)準(zhǔn)的Web Scan系統(tǒng)掃描時經(jīng)過的物理結(jié)構(gòu),圖中所有的元件都是物理設(shè)備,包括2臺Web服務(wù)器、路由器、客戶端、主機(jī)。掃描器部署結(jié)構(gòu)。

      2.3 系統(tǒng)運(yùn)行環(huán)境

      (1) 平臺環(huán)境:項目環(huán)境采用Ubuntu開發(fā),兼容各Linux發(fā)行版本。

      (2) 語言環(huán)境:Python,PHP,Javascript。

      (3) 引擎環(huán)境:XSSer是用Python開發(fā)的滲透測試跨站漏洞的工具,只針對跨站腳本進(jìn)行檢測。

      (4) 服務(wù)器環(huán)境: XAMPP(MySQL+ Apache+PHP+PERL)。

      圖2 物理架構(gòu)

      3 在線跨站腳本檢測工具

      (1) 登陸模塊。此登陸模塊基于ThinKPHP、后臺架構(gòu)和charisma的前臺架構(gòu),用戶信息存于MySQL數(shù)據(jù)庫中。系統(tǒng)默許管理員:admin 系統(tǒng)密碼:admin。

      圖3 登陸界面

      (2) 檢測模塊。系統(tǒng)的檢測模塊,引入simple_html_dom.php,http.php2個PHP的類文件,幫助分析頁面的結(jié)構(gòu)和連接數(shù)。DOM樹[12?13]的結(jié)構(gòu)如圖4所示。

      圖4 DOM樹

      (3) 掃描模塊。掃描結(jié)果將輸出到一個特定的TXT文件中,輸出結(jié)果存在關(guān)鍵字“Final Reasult”將這樣的部分截取出來,截取部分就是掃描的最終結(jié)果,將結(jié)果的風(fēng)險等級讀取并傳給PHP 輸出結(jié)果,繪制風(fēng)險等級圖。后臺掃描過程如圖5所示。

      圖5 后臺掃描

      (4) 輸出模塊。輸出過程主要是根據(jù)XSSer的掃描結(jié)果下的結(jié)論,根據(jù)Web系統(tǒng)風(fēng)險等級分類標(biāo)準(zhǔn)輸出。輸出的主要流程為:

      第1步:抓取TXT結(jié)果文件中的風(fēng)險 Reasult 的相關(guān)參數(shù);

      第2步:將第1步中的內(nèi)容提交給風(fēng)險繪制模塊;

      第3步:將第2步中的內(nèi)容提交給站點輸出模塊;

      第4步:按順序執(zhí)行以上模塊,運(yùn)行完成,模塊結(jié)束。

      (5) 報表模塊。TCPDF的導(dǎo)入過程,下載TCPDF,然后參考文件說明里的內(nèi)容一步步進(jìn)行部署,安裝和遷移。

      (6) 日志模塊。Web Scan系統(tǒng)選取PHP的報表輸出組件WordPress。在項目根目錄下生成的log.txt文件中插入相關(guān)的日志內(nèi)容。

      4 系統(tǒng)自身安全

      Web Scan作為一款漏洞監(jiān)測、注入類的軟件。自身的安全性非常重要,為了防止系統(tǒng)被攻擊,內(nèi)置了一些安全過濾規(guī)則。在ThinkPHP的配置中加載進(jìn)去一個新建的安全配置文件,該規(guī)則將在運(yùn)行時寫入runtime.php文件中。

      5 結(jié) 語

      現(xiàn)在,越來越多的站點重視并修復(fù)了跨站漏洞。但是依然有大量的中小型網(wǎng)站存在這樣的安全問題,對于這一項漏洞的研究工作仍將繼續(xù)。目前國內(nèi)的研究現(xiàn)狀,也基本已經(jīng)涉及到跨站腳本的各個層次,唯獨自動化的檢測工具較少。即便是有也主要針對SQL注入等漏洞,不專注于構(gòu)造型的跨站腳本檢測,本文補(bǔ)充了這類的不足。本文完成主要的6大模塊:登陸模塊、檢測模塊、掃描模塊、輸出模塊、報表模塊、日志模塊。核心代碼模塊是檢測和掃描部分,他們相互配合構(gòu)造跨站參數(shù)并抓取反饋信息,其他模塊配合核心代碼起到輔助作用。

      參考文獻(xiàn)

      [1] 廖丹子.“多元性”非傳統(tǒng)安全威脅:網(wǎng)絡(luò)安全挑戰(zhàn)與治理[J].國際安全研究,2014(3):25?39.

      [2] 鄧袁,何國輝,吳慶.跨站腳本攻擊及防范技術(shù)研究[J].電腦知識與技術(shù),2012(6):1234?1236.

      [3] 吳迪,連一峰,陳愷,等.一種基于攻擊圖的安全威脅識別和分析方法[J].計算機(jī)報,2012(9):1938?1950.

      [4] 李釗,彭勇,謝豐,等.信息物理系統(tǒng)安全威脅與措施[J].清華大學(xué)學(xué)報:自然科版,2012(10):1482?1487.

      [5] 陳建青,張玉清.Web跨站腳本漏洞檢測工具的設(shè)計與實現(xiàn)[J].計算機(jī)工程,2010(6):152?154.

      [6] 王云,郭外萍,陳承歡.Web項目中的SQL注入問題研究與防范方法[J].計算機(jī)工程與設(shè)計,2010(5):976?978.

      [7] 練坤梅,許靜,田偉,等.SQL注入漏洞多等級檢測方法研究[J].計算機(jī)科學(xué)與探索,2011(5):474?480.

      [8] 馬凱,蔡皖東,姚燁.Web 2.0環(huán)境下SQL注入漏洞注入點提取方法[J].計算機(jī)技術(shù)發(fā)展,2013(3):121?124.

      [9] 邱永華.XSS跨站腳本攻擊剖析與防御[M].北京:人民郵電出版社,2013.

      [10] 吳翰清.白帽子講Web安全[M].北京:電子工業(yè)出版社,2012.

      [11] 許宏云,李煜.基于ThinkPHP的權(quán)限控制模塊的設(shè)計與實現(xiàn)[J].微計算機(jī)信息,2012(9):234?235.

      [12] 郭建兵,崔志明,陳明,等.基于DOM樹與領(lǐng)域本體的Web抽取方法[J].計算機(jī)工程,2012(5):56?58.

      [13] 羅明宇,凌捷.基于DOM樹序列值比對的SQL注入漏洞檢測[J].計算機(jī)工程與設(shè)計,2015(2):350?354.

      猜你喜歡
      安全檢測
      危險場所開展電氣防爆安全檢測
      農(nóng)產(chǎn)品質(zhì)量安全檢測監(jiān)管對策探討
      大壩安全檢測技術(shù)標(biāo)準(zhǔn)化中的關(guān)鍵問題
      大壩安全檢測技術(shù)標(biāo)準(zhǔn)化中的關(guān)鍵問題
      網(wǎng)絡(luò)惡意流量檢測技術(shù)研究
      建筑機(jī)械安全管理中的不利因素及其安全檢測時的內(nèi)容與方法研究
      科技視界(2015年29期)2015-10-19 12:04:28
      隆德县| 冀州市| 巴里| 枣庄市| 汝阳县| 房山区| 金门县| 绥芬河市| 伊春市| 双牌县| 什邡市| 彭阳县| 昭苏县| 鄱阳县| 巩义市| 永平县| 锦屏县| 横峰县| 富锦市| 鹤岗市| 宁远县| 乡城县| 张家界市| 玛纳斯县| 乐都县| 大名县| 普安县| 扎赉特旗| 大新县| 金沙县| 白水县| 仪征市| 新干县| 饶平县| 左贡县| 沾化县| 南郑县| 枣庄市| 廉江市| 大渡口区| 金门县|