成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Web安全之利用XSLT繼續(xù)擊垮X(qián)ML

安全 應(yīng)用安全
XSL包括三個(gè)部分:XSLT,XPath,XSL-FO。在安全領(lǐng)域,Xpath已經(jīng)有前人的研究 (xpath injection),而其他兩個(gè)幾乎無(wú)人問(wèn)津。去年black hat黑客大會(huì),終于有安全組織(IOActive)共享出自己的研究成果Abusing XSLT。 XSLT顧名思義,就是用來(lái)將XML轉(zhuǎn)換成XHTML或者是其他XML文檔。

0x00 介紹

XSL

首先我們要說(shuō)的是,這個(gè)XSLT應(yīng)該這么斷句:XSL-T。XSL指的是EXtensible Stylesheet Language,中文被很直白地翻譯成擴(kuò)展樣式表語(yǔ)言。這種語(yǔ)言和xml有莫大關(guān)系:XSL之于XML相當(dāng)于CSS之于HTML。HTML的每個(gè)元素都是預(yù)定義好的,比如用來(lái)定義表格,瀏覽器也知道怎么識(shí)別這個(gè)標(biāo)簽,此時(shí)CSS就能輕松地告訴瀏覽器該怎么顯示這個(gè)表格,然而由于XML里面的任何標(biāo)簽都可以由程序員自己定義,所以需要一種XSL語(yǔ)言來(lái)描述如何顯示xml文檔。 這是一篇web安全文章,所以我們還是討論web相關(guān)的xsl安全,而支持在web上調(diào)用的是xslt v1,所以我們只討論version1發(fā)生的故事。

XSLT

XSL包括三個(gè)部分:XSLT,XPath,XSL-FO。在安全領(lǐng)域,Xpath已經(jīng)有前人的研究 (xpath injection),而其他兩個(gè)幾乎無(wú)人問(wèn)津。去年black hat黑客大會(huì),終于有安全組織(IOActive)共享出自己的研究成果Abusing XSLT。 XSLT顧名思義,就是用來(lái)將XML轉(zhuǎn)換成XHTML或者是其他XML文檔。

當(dāng)用XML來(lái)生成其他文檔時(shí)(e.g. xhtml),XSL可以作為XML的引用。同時(shí),XSL能夠內(nèi)嵌到XML中發(fā)揮作用。

既然談XSLT安全,就得考慮他們的應(yīng)用場(chǎng)景,這篇文章我們將從客戶端和服務(wù)端兩個(gè)方面分析XSLT實(shí)現(xiàn)的脆弱性。為了簡(jiǎn)化討論,我們討論這幾個(gè)vendor的安全問(wèn)題:

libxslt:libxslt為后端的Python,PHP,PERL,RUBY及前端的safari,opera,chrome提供XSL解析。

Transformiix:討論它是因?yàn)樗籪irefox調(diào)用,用來(lái)處理xsl

Microsoft:不用解釋也能明白,微軟自家的IE,肯定用的是自己的解析庫(kù)了。

0x01 攻擊模型

客戶/服務(wù)端:數(shù)字表示及運(yùn)算風(fēng)險(xiǎn)

XSL對(duì)數(shù)學(xué)有自己的一套"獨(dú)特"的理解.我們先討論下它對(duì)大整數(shù)的處理:

Large Integers

比如

利用XSLT繼續(xù)擊垮X(qián)ML

 

以及它的樣式

利用XSLT繼續(xù)擊垮X(qián)ML

 

在諸如Xsltproc, Php, Perl, Ruby, Python, Safari, Chrome和Opera的libxslt系的處理軟件上,都會(huì)將上面這段xml解釋成這樣(chrome):

利用XSLT繼續(xù)擊垮X(qián)ML

 

問(wèn)題很明顯了。

IOActive給出了他們研究調(diào)查的結(jié)果

利用XSLT繼續(xù)擊垮X(qián)ML

 

隨機(jī)數(shù)

同樣的,xsl的某些vendor對(duì)于隨機(jī)數(shù)的生成也是相當(dāng)寫(xiě)意的。而這個(gè)粗糙的vendor竟然還是應(yīng)用最廣泛的libxslt,由于這個(gè)庫(kù)在生成隨機(jī)數(shù)的時(shí)候根本就沒(méi)有IV,所以每一次生成的隨機(jī)數(shù),都是根本不變的。

利用XSLT繼續(xù)擊垮X(qián)ML

 

讓我們將這個(gè)和PRG一起hi起來(lái)。。。

客戶端:Safari SOP繞過(guò)

Safari的同源策略同樣可能被這個(gè)xml的樣式語(yǔ)言被破壞。

前面提到過(guò),safari早就支持xml和xhtml的轉(zhuǎn)換。然而利用XSLT中的document(), 我們能夠帶著相應(yīng)的cookies跨域讀取safari其他域內(nèi)的資源。 這樣一來(lái),我們就能可以通過(guò) document()->value-of()/copy-of()這個(gè)流程被竊取到其他網(wǎng)站的用戶信息,最終,通過(guò)JavaScript發(fā)送給攻擊者。

我復(fù)現(xiàn)了ioactive的poc,然而結(jié)果卻和IOActive不一樣:

在IOActive的報(bào)告中

利用XSLT繼續(xù)擊垮X(qián)ML

 

無(wú)疑成功取到了結(jié)果,成功BYPASS。

而我本地測(cè)試的時(shí)候卻在Safari控制塔得到這樣的提示

利用XSLT繼續(xù)擊垮X(qián)ML

 

無(wú)疑是被sop ban掉了。

是apple修復(fù)了,還是利用姿勢(shì)不對(duì),我將POC放到了文章最后,大家可以下載下來(lái)研究。

服務(wù)端:任意文件讀取

XSLT文檔在執(zhí)行錯(cuò)誤的時(shí)候回立即終止,它和他的兄弟XML類似,一小丁點(diǎn)錯(cuò)誤就會(huì)拋出一個(gè)錯(cuò)誤。然而錯(cuò)誤信息也是能夠給攻擊者帶來(lái)一些有用的信息的。

XSLT提供了三個(gè)用來(lái)讀文件的方法

document(): 用來(lái)訪問(wèn)另一個(gè)xml文檔內(nèi)的信息(剛剛的跨域中同樣用到)

include(): 用來(lái)將兩個(gè)樣式表合并

import(): 用來(lái)將一個(gè)樣式表覆蓋另一個(gè)

比如如下這個(gè)樣式表A

 

  1. <?xml-stylesheet type="text/xsl" href="2-9-Reading_Non-XML-Files.xsl"?> 
  2. <file>/etc/passwd</file> 

 

和B

 

  1. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> 
  2. <xsl:value-of select="document(file)"/> </xsl:template> 
  3. </xsl:stylesheet> 

 

當(dāng)B被解析時(shí),會(huì)嘗試調(diào)用A表,而A表會(huì)試著用document()讀取/etc/passwd的內(nèi)容,很明顯這不是一個(gè)xml文檔,所以不可能讀取,幸運(yùn)的是在輸出的錯(cuò)誤信息里面,我們可以看到目標(biāo)文本的第一行被輸出了。

利用XSLT繼續(xù)擊垮X(qián)ML

 

雖然只有第一行,但是第一行能夠獲取的銘感信息可不少了

/etc/passwd: Linux root password
/etc/shadow: Linux root password
.htpasswd: Apache password
.pgpass: PostgreSQL password

這次,xsltproc php perl ruby這四種語(yǔ)言的所有方法(document() ,import() ,include())都受到影響 。

責(zé)任編輯:藍(lán)雨淚 來(lái)源: 烏云知識(shí)庫(kù)
相關(guān)推薦

2009-06-10 21:51:42

JavaScript XMLFirefox

2009-07-03 14:40:33

2011-08-11 14:09:27

iPhoneModalViewCoView

2010-09-15 12:15:23

NessusWEB應(yīng)用安全掃描

2011-09-01 10:31:16

ubuntuwindows

2009-03-13 17:33:06

2011-12-07 12:01:50

ibmdw

2009-05-21 09:54:12

XMLXSLTCSS

2012-10-24 17:46:53

2010-09-26 16:19:18

2009-09-15 23:40:52

2011-07-03 18:59:27

流量

2011-08-25 15:02:17

Lua環(huán)境搭建EditPlus

2012-02-08 16:22:26

ibmdw

2012-07-09 10:11:58

ibmdw

2012-07-04 15:10:34

ibmdw

2011-11-25 09:34:52

2017-02-21 08:47:22

2009-06-22 13:15:00

NetBeans XS

2014-12-16 13:59:55

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品久久久久久久久久软件 | 欧美视频 | 色888www视频在线观看 | 久久人体视频 | 91精品国产一区二区三区 | 在线中文一区 | 91在线精品视频 | 精品欧美乱码久久久久久1区2区 | 福利视频一二区 | 精品免费观看 | 日韩欧美在| 日日草夜夜草 | 激情小说综合网 | 欧美日韩福利视频 | 日本精品一区二区三区在线观看 | 一区二区在线免费播放 | eeuss国产一区二区三区四区 | 九九亚洲 | 日韩精品 电影一区 亚洲 | 国产高清视频一区二区 | 91 中文字幕| 国产99精品| 久久国产精品视频免费看 | 日韩一区二区精品 | 免费看91 | 91一区二区三区在线观看 | 国产激情毛片 | 国产精品视频一区二区三 | 国产小视频在线 | 日本视频在线播放 | 亚洲一区二区三区乱码aⅴ 四虎在线视频 | 欧美一区在线视频 | 欧美日韩久久 | 午夜精品一区二区三区免费视频 | 国外成人免费视频 | 国产成人精品久久二区二区91 | 综合国产| 亚洲国产精品一区二区三区 | 黄色欧美 | 成人在线观看网址 | 久久久久国产 |