美文网首页
初识XXE漏洞

初识XXE漏洞

作者: CSeroad | 来源:发表于2018-06-06 21:28 被阅读63次

XML是一种可扩展性语言,经常被用来传输和存储数据。

XML包括XML声明、DTD文档类型定义、文档元素。DTD文档类型定义即可以在XML内部声明,也可以是外部引用。

内部声明:<!DOCTYOE  test   any >

外部声明:<!DOCTYOE  test  SYSTEM  '' >

XXE漏洞即为XML外部实体注入

看看漏洞是如何产生的?

代码为

<?php

$xml=<<<ABC

<?xml  version="1.0" ?>

<!DOCTYPE  AND  [

<!ENTITY   xxe    SYSTEM   "file:///C:/windows/win.ini">

]>

<note>

<name>&xxe;</name>

<sex>boy</sex>

</note>

ABC;

$data=simplexml_load_string($xml);

//把XML字符串载入对象中

print_r($data);

?>

simplexml_load_string函数将XML字符串进行执行,隐藏在XML文件里DTD外部引用成功得到执行,漏洞由此产生。

漏洞利用

读取任意文件内容

源代码

进行访问,可获取到win.ini文件内容

win.ini

我们来验证一下

win.ini

当没有回显的时候,只要能够被正确解析,依然可以利用。

a.php

把数据发送至远端服务器。

evil.dtd

依然可以读取文件

ok

探测内网端口

我这里开一台kali虚拟机进行测试,修改源码为

xxe.php

再次访问

探测出端口开放

实验操作

访问http://testhtml5.vulnweb.com/ 网站,点击login----forgot  pwd ,进行实验

抓包,进行漏洞利用

注入

漏洞的利用至少满足两个条件:XML文件能成功解析、参数可控成功注入。

更多的实验和细节,参考

http://www.freebuf.com/articles/web/126788.html

https://www.cnblogs.com/r00tuser/p/7255939.html

相关文章

  • 初识XXE漏洞

    XML是一种可扩展性语言,经常被用来传输和存储数据。 XML包括XML声明、DTD文档类型定义、文档元素。DTD文...

  • XXE后记(3)--抛砖引玉

    XXE最后的尾巴 知道了XXE的漏洞原理,以及简单的利用方法,漏洞危害后;就应该通过案例来感受XXE造成的危害,引...

  • 00.web

    1. XXE[1] XXE (XML External Entity Injection) 漏洞实践 如何挖掘Ub...

  • XXE漏洞

    原文链接:http://wyb0.com/posts/xxe/ 0x00 XXE XXE漏洞是针对使用XML交互的...

  • XXE漏洞

    0x01 XXE基础-XML基础语法 XML被设计用来传输和存储数据。 HTML被设计用来显示数据。 0x02 什...

  • XXE漏洞

    XML简介 本节内容结合了《Web hacking 101》,链接在本文末尾,此书不错,基于hackerone上的...

  • java xxe漏洞

    一、XXE漏洞简介 1、XXE(XML外部实体注入,XML External Entity) ,在应用程序解析XM...

  • JAVA的XXE漏洞

    1. XXE简介 XXE(XML外部实体注入,XML External Entity) ,漏洞在对不安全的外部实体...

  • XXE CTF题目

    api调用 1、链接:jarvisoj 2、解题方法:xxe漏洞读取文件。payload: Pikachu漏洞联系...

  • 拒绝XML XXE,宅男不能言听计从

    漏洞信息来源 XXE in WeChat Pay Sdk ( WeChat leave a backdoor on...

网友评论

      本文标题:初识XXE漏洞

      本文链接:https://www.haomeiwen.com/subject/equisftx.html