这是靶机渗透系列的第一期,主要对象是vulnhub上的一些靶机,之后每双周会做一次靶机渗透。
DriftingBlues: 7
目标是eyesofnetwork系统的一个靶机

先按流程测下
1.端口

2.查看web服务

3.小试牛刀
- 登录界面手测了下结合sqlmap,没发现sql注入
- 后台敏感目录扫描无果
- 登录界面常见弱口令爆破无果
- ssh MariaDB常见弱口令爆破无果
4.开源情报收集
- 历史漏洞查询,eyssoftnetwork web框架是开源的,靶机使用5.3版本。
找到了相关利用脚本
https://www.exploit-db.com/exploits/48025 - getflag
5.漏洞分析
- 越权
在github上找到了该项目:https://github.com/EyesOfNetworkCommunity/eonapi, 通过比较eonapi2.0版本和2.0-3版本定位到CVE-2020-8655 SQL注入相关的代码。
api_function.php中的getUserByUsername函数在2.0版本中将传入的username直接拼接到sql语句中,而修复后的2.0-3版本则改用了占位符。游客可以越权通过该接口获取EONAPI_KEY
- 创建管理员账户
通过获取的EONAPI_KEY访问/eonapi/createEonUser?username=admin&apiKey= 接口创建admin账户 - 命令执行
在/lilac/autodiscovery.php中没有对传入的target参数检查,登入admin账户后构造post的target参数进行命令执行