渗透系列之隐藏在发送邮件处的任意文件下载
本文作者:梭哈王(贝塔安全实验室-核心成员)
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 端扫描一下咯,基本是这样(只针对账号这个测试面哈),当然如果账号密码是普通权限,也可进行提权等其他操作进一步渗透下去。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- c++STL之內建函数对象
- c++STL之函数对象(仿函数)
- c++STL容器之map容器
- c++STL容器之使用list容器对自己定义的数据类型进行排序
- c++STL容器之queue容器
- c++STL容器之stack容器
- c++STL容器之vector容器
- c++STL容器之string容器
- AWS(Amazon Linux 2 AMI)在线迁移到腾讯云
- 2020-08-26:裸写算法:树的非递归先序遍历。
- TypeScript手记(一)
- Codeforces Round #665 (Div. 2)
- MONGODB 加索引 大内存 与连锁思维
- 3分钟短文|Laravel 使用like匹配字符串的用法示例
- 3分钟短文|Laravel命令行调用控制器方法,你会几个?