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变量劫持