本文作者:梭哈王(贝塔安全实验室-核心成员)
By:梭哈王
学习思路点:
任意文件下载技巧
一:测试记录
再一次测试小程序的过程中,存在一处填写表单的功能,情况如下:
1、开始正常填写表单信息
2、填写完毕后表单材料会以 pdf 的形式发送到我们自己填写的邮箱当中。
3、这里开始我们使用 burpsuite 进行抓包查看包文,发现控制发送 pdf 文件的参数可控,可进行任意文件下载。
4、修改 filepath 参数为:../../../../../etc/passwd,尝试将其发送到我的邮箱当中,接收成功。
5、修改 filepath 参数为:../../../../root/.bash_history,读取 bash_history 文件成功。
二:进一步渗透
通过某个参数的任意下载读取到服务器的历史命令记录,通过判断其历史命令从而获取到数据库配置文件的路径:(这里需要自己进行目录组合,分析一下这些历史命令即可,目的就是配置文件的路径,而不是 etc/shadow,,因为大概率破解不出,没啥使用价值。。。)
Bash_history 案例图:
通过分析 bash_history 文件,我们最终发现如下配置文件:
/home/apache-tomcat-7.0.63/webapps/xxxx/WEB-INF/classes/config/properties/jdbc.properties
直接达到终极目标获取数据库账号
/home/apache-tomcat-7.0.63/webapps/xss/WEB-INF/classes/mapper/yssRxPersonBaseDataMapper.xml
直接达到终极目标获取 web 侧的账号。
三:延伸思路
假如成功获取到了数据库账号和 web 侧的账号之后,我们将其密码进行整理,然后尝试去碰(猜测)ssh 的密码,动静不要太大,大概率是相同或者一些业务名称的变形的(xxx@2018,xxx@2019,xxx 是业务名称,业务名称可通过 web 目录看出来滴啦)。通过这些账号,然后对其 c 端扫描一下咯,基本是这样(只针对账号这个测试面哈),当然如果账号密码是普通权限,也可进行提权等其他操作进一步渗透下去。