日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
XML上的安全不容忽視

KCon Web安全大會(huì)是一個(gè)交流前沿、邊緣、主流的Web安全技術(shù)、技巧、案例的開放安全會(huì)議。大會(huì)上天融信阿爾法實(shí)驗(yàn)室張晨做了《Having Fun with XML Hacking》議題演講,內(nèi)容非常精彩。本文把演講的內(nèi)容稍加整理,與大家分享。

東至網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計(jì)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。

XML的全稱是eXtensible Markup Language,意思是可擴(kuò)展的標(biāo)記語(yǔ)言,它是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(Standard Generalized Markup Language,SGML)的一個(gè)子集。

在80年代早期,IBM提出在各文檔之間共享一些相似的屬性,例如字體大小和版面。IBM設(shè)計(jì)了一種文檔系統(tǒng),通過在文檔中添加標(biāo)記,來標(biāo)識(shí)文檔中的各種元素,IBM把這種標(biāo)識(shí)語(yǔ)言稱作通用標(biāo)記語(yǔ)言(Standard Generalized Markup Language,SGML),即GML。經(jīng)過若干年的發(fā)展,1984年國(guó)際標(biāo)準(zhǔn)化阻止(ISO)開始對(duì)此提案進(jìn)行討論,并于1986年正式發(fā)布了為生成標(biāo)準(zhǔn)化文檔而定義的標(biāo)記語(yǔ)言標(biāo)準(zhǔn)(ISO 8879),稱為新的語(yǔ)言SGML,即標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言。

一個(gè)簡(jiǎn)單的XML文件示例,一個(gè)XML文件由XML聲明、文檔類型定義和文檔元素組成。

那么什么是文檔類型定義呢?文檔類型定義,也叫DTD(Document Type Definition),可定義合法的XML文檔構(gòu)建模塊。它使用一系列合法的元素來定義文檔的結(jié)構(gòu),DTD 可被成行地聲明于 XML 文檔中,也可作為一個(gè)外部引用。

DTD文檔的聲明及引用

內(nèi)部DTD文檔

外部DTD文檔

內(nèi)外部DTD文檔結(jié)合

定義內(nèi)容

-]>

XML被設(shè)計(jì)用來存儲(chǔ)和傳輸數(shù)據(jù),任何平臺(tái)上的程序都可以通過使用XML解析器來處理XML數(shù)據(jù),XML的使用范圍非常廣泛,不僅僅是web應(yīng)用,還包括數(shù)據(jù)庫(kù)軟件、瀏覽器等等。既然XML的覆蓋面這么廣,那么如果出現(xiàn)安全問題也是相當(dāng)可怕的。而且很多軟件都是使用的同一款XML解析庫(kù),如果這套解析庫(kù)存在漏洞,那么無疑又將影響的范圍擴(kuò)大了。

下面這張圖很清晰的描述了程序在處理XML時(shí)容易出現(xiàn)問題的點(diǎn),我們逐步來看:應(yīng)用先將原始數(shù)據(jù)交給XML生成器,生成XML數(shù)據(jù),然后將生成后的XML數(shù)據(jù)提交到web服務(wù)器,web服務(wù)器接收到XML數(shù)據(jù)后,將XML數(shù)據(jù)交給XML解析器,由XML解析器完成對(duì)XML數(shù)據(jù)的解析后把數(shù)據(jù)再返回給應(yīng)用。在整個(gè)數(shù)據(jù)處理流程中,XML生成器和XML解析器這兩個(gè)點(diǎn)是最容易出現(xiàn)問題的。

在XML解析的過程中,最常見的有三種漏洞:

◆拒絕服務(wù)漏洞

◆XML注入

◆XML外部實(shí)體注入

XML拒絕服務(wù)漏洞

我們逐個(gè)分析,先來看拒絕服務(wù)攻擊。

下圖是一個(gè)典型拒絕服務(wù)攻擊的payload:

可以看到,payload中先定義了lol實(shí)體,值為“l(fā)ol”字符串,然后下面又定義了lol2實(shí)體,在lol2實(shí)體中,引用10個(gè)lol實(shí)體,也就是說現(xiàn)在lol2的值是10個(gè)“l(fā)ol”字符串,下面的lol3又引用了10個(gè)lol2實(shí)體的值,現(xiàn)在lol3的值是100個(gè)“l(fā)ol”字符串,依此類推,到了最后在lolz元素中引用的lol9中,就會(huì)存在上億個(gè)“l(fā)ol”字符串,如果程序在解析數(shù)據(jù)時(shí)沒有做特別的處理,那么極有可能對(duì)程序造成拒絕服務(wù)攻擊。

XML注入漏洞

再來看XML注入的例子:

例圖這是一個(gè)標(biāo)準(zhǔn)的xml文件,即將被提交到web服務(wù)器中,我們假設(shè)這是一個(gè)存有訂單信息的xml文件,其中price的值不可控,quantity和address項(xiàng)的值可控,可以由用戶自由輸入,那么這時(shí),攻擊者可以實(shí)施xml注入攻擊,在quantity的值中構(gòu)造"