Part1 案例
遇到了2次还是3次了,忘了,这次拿近期的某省H攻防遇到的一个案例来分享
已具备条件,具有某系统的任意文件写入漏洞,但该漏洞需要结合绝对路径来打,但是未知相应的绝对路径。
(且再实战中遇到这类情况很多,很多时候打下了类似系统的站,审了一些洞,但却拆解不到相关绝对路径。)
这种情况很多师傅遇到了都觉得挺难整的。
这里分享一种tips
若系统安装通用固定路由写法为XXX/tomcat*/webapps/XXX等情况(即通用系统情况) 可以利用tomcat的安装路径特性
即路径名称:apache-tomcat-版本结合上面的特性,我们只需要一个tomcat版本即可完整的获取到整个路径情况了
如本站即是利用的不存在的目录爆出的tomcat的版本 如下成功获取到如下目录 /XXX/apache-tomcat-6.0.44/webapps/
进而转任意文件写入获取到shell
Part2 Tips再探
上面的漏洞核心需要两个点就是
①得知大概安装的固定路径格式
②得使tomcat报错,进而获取到tomcat的版本。
这里第一点不在阐述,这个拿个其余系统的shell,进可获取到大概的路由情况。
主要这里阐述第二点,很多系统直接访问不存在的目录不会报相关的错误
大部分都是如下这种情况
代码中配置了相关的404 500页面,即当出现了这种情况时,直接报错相关的404与500页面出来
但是有一种通解思路与一种巧解释,巧用协议头进行报错
第一种通解思路为巧用协议方式或协议版本,让服务器报错,获取到相关版本第二种非通解为利用类型转换让服务器报错
第二种的手法需要找到一个数字点为固定写为int或double类型的,然后我们控制强转为字符串进而实现报错。
该方式这里就不在阐述,建议大家下去自己建立demo测试。
Part3 后言
那如果是nginx,IIS等系统呢,可能不会存在该报错特性,但是会不会具备其他好玩的特性呢?
这里即留给大家自己去探讨。
最后,人们常说知行合一与悟道,可是修的到底是什么知?悟得到底又是什么道呢?
END
原文始发于微信公众号(goddemon的小屋):实战之巧用组件报错特性