




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Web應(yīng)用安全第八章Web服務(wù)器端安全--8.5XXE漏洞原理與防御2XXE漏洞原理XXE(XMLExternalEntity)是指XML外部實(shí)體引用的漏洞XML文檔一般原理XML是一種擴(kuò)展標(biāo)記語言,它被設(shè)計(jì)用來傳輸和存儲(chǔ)數(shù)據(jù)。<?xmlversion="1.0"encoding="utf8"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don'tforgetthemeeting!</body></note>文檔聲明,版本,編碼根元素XML文檔必須有根元素;XML文檔必須有關(guān)閉標(biāo)簽;XML標(biāo)簽對(duì)大小寫敏感;XML元素必須被正確的嵌套;XML屬性必須加引號(hào)。XML文檔示例3XXE漏洞原理XML文檔一般原理XML文檔解析<?php$str=<<<end<?xmlversion="1.0"encoding="utf8"?><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don'tforgetthemeeting!</body></note>end;$a=simplexml_load_string($str);print("XML文檔解析結(jié)果--simplexml_load_string<br>");print($a->to."<br>");print($a->from."<br>");print($a->heading."<br>");print($a->body."<br>");?>如果成功,則返回SimpleXMLElement對(duì)象4XXE漏洞原理XML文檔一般原理DTDDTD(DocumentTypeDefinition,文檔類型定義)的作用是定義XML文檔的結(jié)構(gòu)<?xmlversion="1.0"?><!DOCTYPEnote[<!ELEMENTnote(to,from,heading,body)><!ELEMENTto(#PCDATA)><!ELEMENTfrom(#PCDATA)><!ELEMENTheading(#PCDATA)><!ELEMENTbody(#PCDATA)>]><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don'tforgetthemeeting!</body></note>PCDATA的意思是被解析的字符數(shù)據(jù)(parsedcharacterdata)<!DOCTYPEnoteSYSTEM"t4.dtd">simplexml_load_string($str,null,LIBXML_DTDVALID);5XXE漏洞原理XML文檔一般原理DTD—不符合要求的情況<?xmlversion="1.0"?><!DOCTYPEnote[<!ELEMENTnote(to,from,other)><!ELEMENTto(#PCDATA)><!ELEMENTfrom(#PCDATA)><!ELEMENTheading(#PCDATA)><!ELEMENTbody(#PCDATA)>]><note><to>George</to><from>John</from><heading>Reminder</heading><body>Don'tforgetthemeeting!</body></note>$error=libxml_get_last_error();6XXE漏洞原理XML文檔一般原理DTD-實(shí)體—內(nèi)部實(shí)體、外部實(shí)體、參數(shù)實(shí)體用于定義引用普通文本或特殊字符的快捷方式的變量,即提供元素的內(nèi)容,使用關(guān)鍵字ENTITY定義內(nèi)部實(shí)體及引用定義方式:<!ENTITY實(shí)體名稱"實(shí)體的值">引用方式:&實(shí)體名稱;<?xmlversion="1.0"?><!DOCTYPEuser[<!ELEMENTuserANY><!ENTITYname"admin"><!ENTITYpwd"123456">]><user>&name;,&pwd;</user>示例7<?php$str=<<<XML<?xmlversion="1.0"?><!DOCTYPEuser[<!ELEMENTuserANY><!ENTITYname"admin"><!ENTITYpwd"123456">]><user>&name;,&pwd;</user>XML;print("XML文檔<br>");print(htmlentities($str)."<hr>");$a=simplexml_load_string($str,null,LIBXML_DTDVALID|LIBXML_NOENT);print("XML文檔解析結(jié)果--simplexml_load_string<br>");print("user:{$a[0]}<br>");?>實(shí)體替換XXE漏洞原理XML文檔一般原理DTD-實(shí)體內(nèi)部實(shí)體及引用8XXE漏洞原理XML文檔一般原理DTD-實(shí)體參數(shù)實(shí)體及引用定義方式:<!ENTITY%實(shí)體名稱"實(shí)體的值">特別提醒:參數(shù)實(shí)體只能在DTD中使用<?php$str=<<<XML<?xmlversion="1.0"?><!DOCTYPEdata[<!ELEMENTdataANY><!ENTITY%paramEntity"<!ENTITYgenEntity'bar'>">%paramEntity;]><data>&genEntity;</data>XML;print("XML文檔<br>");print(htmlentities($str)."<hr>");$data=simplexml_load_string($str,null,LIBXML_DTDVALID|LIBXML_NOENT);print("XML文檔解析結(jié)果--simplexml_load_string<br>");print("data:{$data[0]}<br>");?>引用方式:%實(shí)體名稱;引用方式:嵌套引用?--自學(xué)9XXE漏洞原理XML文檔一般原理DTD-實(shí)體外部實(shí)體及引用引用方式:&實(shí)體名稱;<!ENTITY實(shí)體名稱SYSTEM"URI/URL"><?xmlversion="1.0"encoding="utf-8"?><!DOCTYPEroot[<!ELEMENTroot(name,job,age)><!ELEMENTname(#PCDATA)><!ELEMENTjob(#PCDATA)><!ELEMENTage(#PCDATA)><!ENTITYname1SYSTEM"/xxe/t7.php">
<!ENTITYjob1"student">]><root>
<name>&name1;</name>
<job>&job1;</job>
<age>18</age></root>需要配置PHP選項(xiàng)allow_url_fopen10XXE漏洞原理XXE漏洞示例當(dāng)XML文檔中的外部實(shí)體引用被攻擊者控制時(shí),可以實(shí)現(xiàn)多種攻擊目標(biāo),這樣的漏洞被稱為XXE漏洞。28/xxe/t8.html11XXE漏洞原理XXE漏洞示例<h3>歡迎登陸XX系統(tǒng)</h3><form>
<label>用戶ID:</label><inputtype="text"id="id"name="id"><br><label>密__碼:</label><inputtype="password"id="pass"name="pass"><br><inputtype="button"value="登陸系統(tǒng)"onclick="login()"></form><pid="messid"></p>functionlogin(){
varnode=document.getElementById('id');varxml="<?xmlversion='1.0'encoding='utf-8'?>";xml=xml+"<creds>"xml=xml+"<id>"+node.value+"</id>";node=document.getElementById("pass");xml=xml+"<pass>"+node.value+"</pass></creds>"varxhr=newXMLHttpRequest();xhr.open("POST",“xxe.php",false);//同步模式
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");xhr.send("creds="+xml);text=xhr.responseText;node=document.getElementById("messid");node.innerHTML=text;}HTML代碼
(xxe.html)構(gòu)造XML數(shù)據(jù)發(fā)送AJAX請(qǐng)求12XXE漏洞原理XXE漏洞示例PHP代碼
(xxe.php)if(!empty($_POST['creds'])){$creds=$_POST['creds'];
$xml=simplexml_load_string($creds,null,LIBXML_NOENT|LIBXML_DTDVALID);
$id=$xml->id;//登陸ID號(hào)
$pass=$xml->pass;//登陸密碼
print("歡迎{$id}訪問XX系統(tǒng)<br>");$db=mysqli_connect("","root","123456","xxetest");if($db==false)exit("連接數(shù)據(jù)庫失敗!<br>");$query="select*fromuserswhereid={$id}andpassword='{$pass}'";$result=mysqli_query($db,$query);if($result==false)exit("執(zhí)行查詢操作失敗!");$data=mysqli_fetch_assoc($result);if($data==false){print("ID/密碼錯(cuò)誤!");}
else{print("登陸成功,你的用戶名為:{$data['name']}");}}dropdatabaseifexistsxxetest;createdatabasexxetest;usexxetest;createtableusers(idintprimarykey,namevarchar(50),passwordvarchar(50));insertintousersvalues(1001,"alice","a123456");insertintousersvalues(1002,"bob","b123456");xxetest.sql可以使用實(shí)體引用13XXE漏洞原理XXE漏洞測(cè)試修改HTTP請(qǐng)求<?xmlversion='1.0'encoding='utf-8'?><!DOCTYPEcreds[<!ELEMENTcreds(id,pass)><!ELEMENTid(#PCDATA)><!ELEMENTpass(#PCDATA)><!ENTITYid1SYSTEM"http
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)習(xí)心理與學(xué)生學(xué)習(xí)動(dòng)力的激發(fā)
- 教育技術(shù)與傳統(tǒng)教學(xué)方法的互補(bǔ)性研究
- 抖音商戶業(yè)務(wù)資料上傳審核管理制度
- 公眾參與視角下2025年環(huán)境影響評(píng)價(jià)機(jī)制的跨區(qū)域比較研究
- 銅仁幼兒師范高等??茖W(xué)校《水文統(tǒng)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 玉溪師范學(xué)院《就業(yè)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東外語外貿(mào)大學(xué)《中外民族音樂(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州澍青醫(yī)學(xué)高等??茖W(xué)?!锻鈬?guó)文學(xué)(下)》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川省成都市高新南區(qū)-七級(jí)上期期2025屆九年級(jí)化學(xué)第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 2025屆浙江省吳興區(qū)七校聯(lián)考化學(xué)九年級(jí)第一學(xué)期期末教學(xué)質(zhì)量檢測(cè)試題含解析
- 小號(hào)獨(dú)奏名曲100首
- 火電工程達(dá)標(biāo)投產(chǎn)考核標(biāo)準(zhǔn)(2024版)
- 人文關(guān)懷及護(hù)理宣教
- 《輪胎制造工藝簡(jiǎn)介》課件
- 危險(xiǎn)廢物管理培訓(xùn)材料
- 子女放棄房產(chǎn)繼承協(xié)議書
- ISO27000及等保三級(jí)管理要求控制點(diǎn)對(duì)照表
- 教育系統(tǒng)公眾號(hào)發(fā)布流程和審批制度
- 護(hù)理安全管理課件
- DB11-1983-2022 建筑類涂料與膠粘劑揮發(fā)性有機(jī)化合物含量限值標(biāo)準(zhǔn)
- 用藥安全課件教學(xué)課件
評(píng)論
0/150
提交評(píng)論