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

XML上的安全不容忽視

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

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

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

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

一個簡單的XML文件示例,一個XML文件由XML聲明、文檔類型定義和文檔元素組成。

XML上的安全不容忽視

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

DTD文檔的聲明及引用

內(nèi)部DTD文檔

<!DOCTYPE 根元素  [定義內(nèi)容]>

外部DTD文檔

<!DOCTYPE 根元素  SYSTEM "DTD文件路徑">

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

<!DOCTYPE 根元素  SYSTEM "DTD文件路徑" [

定義內(nèi)容

-]>

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

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

XML上的安全不容忽視

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

◆拒絕服務(wù)漏洞

◆XML注入

◆XML外部實體注入

XML拒絕服務(wù)漏洞

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

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

XML上的安全不容忽視

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

XML注入漏洞

再來看XML注入的例子:

XML上的安全不容忽視

例圖這是一個標(biāo)準(zhǔn)的xml文件,即將被提交到web服務(wù)器中,我們假設(shè)這是一個存有訂單信息的xml文件,其中price的值不可控,quantity和address項的值可控,可以由用戶自由輸入,那么這時,攻擊者可以實施xml注入攻擊,在quantity的值中構(gòu)造"<!--",注釋符,然后在address的值中先閉合前面的注釋符,然后再重新根據(jù)原xml文件結(jié)構(gòu)重新構(gòu)造xml文件,這時候price元素的值也是可以由攻擊者隨意構(gòu)造的,如下圖:

XML上的安全不容忽視

可以看到,我們重新構(gòu)造出了一個xml文件,這時候price的值由原來的25變成了0.01,也就是說,訂單的價格被成功的修改了。

XML外部實體注入

在眾多xml漏洞中,最容易出現(xiàn)的就是XXE(XML_External_Entity),也就是XML外部實體注入攻擊。在文檔類定定義部分,可以引用外部的dtd文件,dtd文件的路徑可以是URL地址,也可以使用多種協(xié)議,所以在這里會出現(xiàn)安全問題。

XML上的安全不容忽視

上圖為一個標(biāo)準(zhǔn)的XXE Payload,可以看到,這里引用的外部實體為file:///etc/passwd,如果XML解析庫在解析到這里時允許引用外部實體,那么程序?qū)埱筮@個地址,并將內(nèi)容返回。

對于XXE漏洞,我們還有更多的利用技巧,比如某些場景下,我們需要在一次請求中讀取多個文件,那么可以用下面的payload來實現(xiàn):

XML上的安全不容忽視

XXE不光可以讀取文件,還可以通過SSRF來完成更深入的攻擊。SSRF(Server Side Request Forgery)被稱為服務(wù)端請求偽造攻擊,與CSRF不同的是它的請求是由服務(wù)器發(fā)起的,并不是由客戶端發(fā)起。

XML上的安全不容忽視

通過這張圖我們可以看到,攻擊者先發(fā)送包含payload的請求到前端,前端接到數(shù)據(jù)后將xml數(shù)據(jù)發(fā)送到后端的xml解析器進行解析,這時payload被執(zhí)行,payload執(zhí)行后,結(jié)果可能會直接被后端返回給攻擊者,也可能由payload中所指向的服務(wù)器返回給攻擊者。

更常見的攻擊場景如下:

攻擊者想要訪問主機B上的服務(wù),但是由于存在防火墻的原因無法直接訪問,這是可以借助主機A來發(fā)起SSRF攻擊,通過主機A向主機B發(fā)起請求,從而完成攻擊。

SSRF攻擊常用的payload如下:

XML上的安全不容忽視

Portscan實體是通過http協(xié)議來訪問主機的某些端口,通過返回信息來判斷端口是否開放。Smb實體是訪問內(nèi)網(wǎng)中的共享資源,Sqli實體是對內(nèi)網(wǎng)中web服務(wù)器發(fā)起sql注入攻擊,Syslog實體可以像內(nèi)網(wǎng)syslog服務(wù)器添加垃圾日志。

除了這些,還可以擴展思路,比如對內(nèi)網(wǎng)中的zabbix_agent進行攻擊(在外部實體引用 gopher://ip:10050/1system.run[ls]),即可在該主機執(zhí)行系統(tǒng)命令。

在PHP環(huán)境下,還可以利用封裝協(xié)議來直接執(zhí)行系統(tǒng)命令,如expect://。也可以用php://來讀取文件內(nèi)容。

除了這些,還支持其他很多協(xié)議,可以自由發(fā)揮編寫payload。

隨著應(yīng)用越來越龐大、邏輯越來越復(fù)雜,有些需求要用到XML來實現(xiàn),但很多開發(fā)人員還沒有充分意識到在使用和解析XML文件時可能會導(dǎo)致安全問題出現(xiàn),XML漏洞也是一個比較好的研究方向。

天融信阿爾法實驗室作為北京天融信前沿安全研究部門,在安全漏洞研究發(fā)掘、最新Web安全及瀏覽器安全問題研究、軟件逆向研究等諸多領(lǐng)域積累了大量的成果,獲得了國際CVE漏洞編號、中國國家漏洞庫漏洞編號的各類型原創(chuàng)漏洞證書。在所發(fā)現(xiàn)的不同類型的安全漏洞中,不乏大量的國產(chǎn)軟件,阿爾法實驗室都在第一時間通知了軟件廠商,并提供修補建議,為保障國產(chǎn)軟件的安全性做出了貢獻。同時作為國家不同部委類型單位的技術(shù)服務(wù)支撐成員,天融信阿爾法實驗室為國家相關(guān)部門提供了不同類型技術(shù)支持,在安全漏洞研究、安全趨勢研究判斷、惡意非法軟件分析以及移動設(shè)備安全等技術(shù)領(lǐng)域做出了突出的貢獻。

責(zé)任編輯:藍雨淚 來源: 51CTO.com
相關(guān)推薦

2010-06-21 17:46:53

2011-12-30 14:35:20

2018-04-08 16:00:34

私有云虛擬化網(wǎng)絡(luò)架構(gòu)

2014-08-27 16:24:05

2013-07-09 16:39:24

2011-08-15 13:13:26

2016-07-21 10:25:54

2011-05-13 14:12:00

2013-03-22 10:31:59

2013-01-04 14:35:27

Windows Ser

2009-09-10 08:43:34

虛擬化部署安全問題

2011-07-29 12:25:36

2015-10-08 09:41:51

2013-01-04 14:55:10

Windows Ser微軟云平臺

2011-07-26 15:01:09

2009-02-01 08:49:24

2016-12-02 13:16:59

2015-10-14 11:29:17

數(shù)據(jù)中心細(xì)節(jié)

2022-04-17 14:59:43

云成本FinOps云成本優(yōu)化

2010-05-18 09:58:12

點贊
收藏

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

主站蜘蛛池模板: 久久久91精品国产一区二区精品 | 欧美国产日韩精品 | 久久精品99 | 九色在线观看 | 99热精品在线观看 | 五月激情婷婷在线 | 国产九九九九 | 精品一区在线免费观看 | 成人黄色在线视频 | 国产精品99久久久久久久久久久久 | 欧美不卡一区二区三区 | www.色午夜.com | 日韩伦理一区二区 | 国产精品久久久久久亚洲调教 | 99久久免费精品国产男女高不卡 | 亚洲精品久久久一区二区三区 | 国产免费av在线 | 男女羞羞网站 | 欧美一区二区免费 | 中文字幕第5页 | 亚洲精品日韩综合观看成人91 | 91电影院| 精品久久久久久亚洲精品 | 人人玩人人添人人澡欧美 | 天天操夜夜操免费视频 | 精品一区免费 | 国产成人一区 | 日日摸夜夜添夜夜添特色大片 | 天天干天天操天天射 | 精品动漫一区 | 九九在线视频 | 欧美中文字幕一区 | 免费特黄视频 | 九九热在线视频观看这里只有精品 | 国产精品视频观看 | 成人日韩精品 | 国产精品亚洲一区 | 久久久久久久91 | 欧美在线色 | 欧美一卡二卡在线观看 | 高清久久久|