XXE外部实体注入

sql结构化查询语言

html超文本标记语言

xml可扩展的标记语言

报错原因:

1.xml有且只能有一个根节点

2.标签需要成对出现,否则下面就要加正斜杠

3.标签不规则嵌套

4.属性的值一定要加上单引号或者双引号

<?xml version=1.0' encoding='utf-8' ?>
<hello> hhelo GGBond </hello>
<a src="x"></a>
<a src="x"/>
<a href="javascript:alert'1'">22</a>

实体引用 XML元素,例如 <tag>foo</tag> 。如果xml元素内部出现如< 的特殊字符,解析就会失败,为了避免这种情况,XML用实体引用(entity reference)替换特殊字符。XML预定义五个实体引用,即用< > & ' " 替换 < > & ' "

<?php

// xml 相关

//disbale 禁用

// entity 实体

// loader 加载

// 设置false不禁用外部实体的加载

/* class O{

public function __toString(){

return 'jjbOnd';}

}

$obj = new O();

echo $obj;

exit(-1); // daoxiamiandaibuzhixing */

libxml_disable_entity_loader(false);

// 获取post请求体中的内容

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

// 创建一个DOMDocument类型对象

$dom = new DOMDocument();

// 加载xml

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

// simple 简单

// import 倒入

// dom dom节点

// 其实就是我们从xml中获得一个节点

creds=simplexmlimportdom(creds = simplexml_import_dom(creds=simplexml​i​​mport​d​​om(dom);

echo $creds;

?>

bp对以上php文件抓包,添加xml内容,回显,xxe成功

xxe无回显利用

请求抓包,Change request method 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值