HackTheBox - Previse
本文最后更新于:2022年6月6日 晚上
0x01 信息收集
端口信息:

目录扫描:

0x02 打靶
在之前的收集信息中,可以发现有很多存在的页面,但是由于重定向跳回了login.php进行登录验证。
我们使用burp可以渲染页面,可以看到很多页面是有有用的信息的。
账户注册界面:

服务器状态浏览界面:

在文件浏览界面可以发现网站的源码:

也可以发现下载的链接,但是访问会跳回login.php进行登录验证,无奈只能先注册账户。

访问一开始的accounts.php,同时让burp拦截响应,将响应包状态码修改成200 OK:

之后便可以添加账号:

之后以该账号登录,访问files.php,就可以将源码下下来了:

0x03 代码审计
在config.php中可以看到数据库连接的凭据:

在conifg.php中可以发现exec函数直接拼接了参数,可以造成命令执行:

0x04 继续打靶
使用简单的命令拼接即可,这里弹个shell:
1 | |

这里有个坑点,hash中有特殊字符,必须使用在linux环境下才能正确拿到。windows下拿到的是不完整的,拿去解hash会报错

在linux环境下能够正常显示(为Emoji

拿去给hashcat爆破,爆破出密码:

登录成功:

0x05 提权
使用命令
1 | |
可以看到有备份脚本:

查看该脚本,可以使用了gzip命令,我们可以使用自己的gzip命令来替换,从而达到提权的效果:

于是新建文件:
1 | |
这里有位老哥和我一样的想法2333,于是借用了一下他的代码,我的是下面那一行:

之后添加环境变量,使得执行脚本时会先找到我们的gzip:
1 | |
之后执行命令即可:
1 | |

0x06 Summary
这是一个Easy难度的Linux靶机,主要考察内容如下:
- 不合理的302跳转利用
- 代码审计
- hashcat爆破密码
- PATH变量劫持