任意文件读取漏洞的曲折历程

栏目: IT技术 · 发布时间: 4年前

内容简介:这周授权测试了某系统,凭借着一个任意文件读取的漏洞,不断深挖,一波三折,历时将近24小时,也和Tide安全的小伙伴不断讨论,最终拿下目标的webshell。过程简直不要太美、太狗血,在此做个整理。目标:wy.xxx.com.cn(子域名)IP:114.xxx.xxx.xxx(阿里云)

前言

这周授权测试了某系统,凭借着一个任意文件读取的漏洞,不断深挖,一波三折,历时将近24小时,也和Tide安全的小伙伴不断讨论,最终拿下目标的webshell。过程简直不要太美、太狗血,在此做个整理。

基本信息

目标:wy.xxx.com.cn(子域名)

IP:114.xxx.xxx.xxx(阿里云)

web 四大件:

java、Apache Tomcat 7.0.61、 mysql 、linux

端口开放了太多,确定的是30126端口为ssh

子域名更多了,大多数均反查为该阿里云服务器。

弱口令

测试首先发现验证码无效,直接爆破。

任意文件读取漏洞的曲折历程

这里分享了小技巧:

阿里云服务器在扫描目录或者爆破口令的时候,如果线程多高,IP会容易被封。可以再找一台阿里云服务器做代理进行测试。

放弃图片上传

选择权限比较高的用户登陆系统后,发现一处图片上传。

任意文件读取漏洞的曲折历程

该处上传无任何校验,可以上传任何格式的文件。但都统一受到images.xxx.com.cn域名下,受nginx解析。

任意文件读取漏洞的曲折历程

多次尝试无果后,遂放弃。

任意文件读取

在系统里闲逛一圈后,发现一处任意文件读取漏洞。

任意文件读取漏洞的曲折历程

点击”下载模板文件”抓取数据包,可在数据包path参数看到系统路径。使用字典fuzz该参数。

任意文件读取漏洞的曲折历程

查看返回包可收集到系统的许多信息。

1./etc/passwd

任意文件读取漏洞的曲折历程

看到系统只有root、ftpimage这两个账户是可以登录的。

2./etc/shadow

任意文件读取漏洞的曲折历程

看到shadow文件,说明当前权限是比较高的。

3./root/.bash_history

任意文件读取漏洞的曲折历程

看到root用户执行的历史命令。确定当前为root权限。

且发现网站绝对路径的一部分/www/xxx-tomcat1/,马上想到翻看tomcat-users.xml文件,但并没有配置用tomcat manager。

还发现了logs目录的catanlina.out日志文件。

下载catanlina.out文件进行分析。

4.catanlina.out日志

该日志文件比较大,下载了多次都失败了,最终也是用自己阿里云服务器wget命令下载下来的,高达1.9g

war包

下载后,直接检索/www/xxx-tomcat1/,存在多个war包。

任意文件读取漏洞的曲折历程

任意文件读取漏洞的曲折历程

任意文件读取漏洞的曲折历程

靠着任意文件读取下载了几个war包,部署到自己搭建的tomcat下进行查看。

任意文件读取漏洞的曲折历程

基本上几个war包都大致差不多。猜测:系统使用war包部署到tomcat,一个war包对应一个域名。

ftpimage账号密码

在config.properties配置文件中发现了ftpimage账户密码,以及该war包所对应的域名。

比如run.war包。

任意文件读取漏洞的曲折历程

一般配置文件都存放在/WEB-INF/classes/这个文件夹下。

任意文件读取漏洞的曲折历程

记录着ftpimage账户的用户名密码

任意文件读取漏洞的曲折历程

ip.imgservice这个属性也看得出,上传的图片都会在image.xx.com.cn这个域名下。

放弃axis2框架

有些war包里存在axis2框架

任意文件读取漏洞的曲折历程

找到对应的域名访问axis2-web

任意文件读取漏洞的曲折历程

如果可以上传arr木马就美滋滋了,但多次上传均404。

查找资料,发现axis2框架的正确结构是这个样子的。

任意文件读取漏洞的曲折历程

猜测axis2框架应该无法使用,遂放弃。

放弃提权

之前获取到的ftpimage账号密码登录阿里云,发现权限特别低。只有www、var文件夹可读可写可执行的权限。但也能看到nginx、 redis 文件夹。

任意文件读取漏洞的曲折历程

执行了几条提权命令也都不行,考虑到阿里云服务器,遂放弃。

33个域名

看到nginx文件夹,想到读取nginx.conf配置文件。

任意文件读取漏洞的曲折历程

统计大概有33个域名,而且看到nginx统一设置了白名单,均image.xxx.com.cn这个域名解析。验证了之前的猜测。

任意文件读取漏洞的曲折历程

结合catanlina.out日志和nginx.conf配置文件的域名,最终找到绝对路径和网站域名对应的关系。

/www/xxx-tomcat1/wy/ROOT/---------wy.xxx.com.cn
/www/xxx-tomcat1/care/ROOT/-------care.xxx.com.cn
/www/xxx-tomcat1/nd/ROOT/---------nd.xxx.com.cn
/www/xxx-tomcat1/elder/ROOT/------elder.xxx.com.cn
/www/xxx-tomcat1/wx2/xxxx.war/----wx2.xxx.com.cn

查看目标绝对路径/www/xxx-tomcat1/wy/ROOT/

任意文件读取漏洞的曲折历程

/www/wishequ-tomcat1/提示没有权限

但是/www/wishequ-tomcat1/wy/ROOT/竟然有权限。

看到upload这个文件夹,比较好奇,ls发现全是xls文件。

任意文件读取漏洞的曲折历程

xls上传

猜想一下: 上传的xls表格文件存放在/www/xxxx-tomcat1/wy/ROOT/upload/这个文件夹下,和图片上传的那个位置不一样,存放在/www/upload/文件夹下。那么可以在目标系统里找对应的表格上传。

其实一些表格的上传、导入导出这种我很少测,认为会有格式校验

但转念一想,都测那么多了,不差这点了。

任意文件读取漏洞的曲折历程

选择模板文件,抓取数据包上传。

任意文件读取漏洞的曲折历程

返回包里还真有upload,但对应的temp目录下并没有a1a6d54010a34a58a9497fdc41ef42b2.xls这个文件。

任意文件读取漏洞的曲折历程

空空如也,见鬼了!!!

做到这里想放弃了,实在是没有思路了。

没思路的我就只能一个文件一个文件的翻找,试图再发现点别的有价值的信息。然后我意外的在/www/xxxx-tomcat1/wy/ROOT/upload/images/文件夹下发现了大量的xls、jsp文件。

任意文件读取漏洞的曲折历程

难道我上传的xls、jsp文件到这个目录下了?那也不对啊。

上传重命名后a1a6d54010a34a58a9497fdc41ef42b2.xls这个文件也不在啊。

于是我尝试又上传一个文件。

任意文件读取漏洞的曲折历程

诡异的事情发生了!!!该目录下还真多了一个文件。

任意文件读取漏洞的曲折历程

比较一下哪个是新增的文件,并尝试访问。

任意文件读取漏洞的曲折历程

竟然真的可以。

直接上传冰蝎马。

任意文件读取漏洞的曲折历程

任意文件读取漏洞的曲折历程

然后系统就这样被拿下了,感觉最后这步太狗血了。多亏了Tide安全的小伙伴相互启发、相互激励。

我是Tide安全的CSeroad,对渗透测试、红蓝对抗方向感兴趣的小伙伴可以相互交流、相互学习。

总结

1、文件上传漏洞是最快一种获取webshell的方式。在图片上传、附件上传、头像上传都不行的情况下,试着看看模板上传、文件的导入、mp4的上传等等。最好任意一处上传也别放过。

2、不要忽视任意文件读取漏洞的危害,他可以为你收集系统、服务器的许多信息,比如系统的绝对路径、一些配置文件、备份文件的名称、有没有使用一些解析库(fastjson)等等。几个漏洞结合起来的效果也不错。

*本文原创作者:CSeroad,本文属于FreeBuf原创奖励计划,未经许可禁止转载


以上所述就是小编给大家介绍的《任意文件读取漏洞的曲折历程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

PHP for the World Wide Web, Second Edition (Visual QuickStart Gu

Larry Ullman / Peachpit Press / 2004-02-02 / USD 29.99

So you know HTML, even JavaScript, but the idea of learning an actual programming language like PHP terrifies you? Well, stop quaking and get going with this easy task-based guide! Aimed at beginning ......一起来看看 《PHP for the World Wide Web, Second Edition (Visual QuickStart Gu》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器