🗒️HTB Strutted实战(攻)
2025-7-3
| 2025-7-6
字数 966阅读时长 3 分钟
type
status
date
slug
summary
tags
category
icon
password
😀
靶场难度:medium 主要是框架漏洞的使用, 需要细心看poc

外网突破

nmap扫描端口
notion image
进入80端口,http://strutted.htb/
网站只有俩个功能点,一个上传一个下载
notion image
先试试上传功能,直接使用1.xlsx试试
notion image
改个后缀试试1.png
notion image
给1.png开头加个GIF89a试试,成功上传并得到了地址
notion image
网站另一个功能是download,下载网站源码,直接导入cursor审计呢,审计出了
  1. tomcat后台明文密码,但是网站没有/manage/html的接口可以访问
  1. 上传图片可以通过文件头绕过已实现
  1. 图片路径ID不可预测(没用)
notion image
notion image
至此,cursor的逻辑代码审计已经结束,没有问题。
所以,只能从互联网找框架漏洞去打,找框架漏洞的poc即可,这个可以跳过cursor的逻辑审计
提示词:以上由于/manage/html页面不存在,因此考虑打框架exp,poc,请你通过从源码中拿到技术栈搜索整个互联网,查看是否有匹配的框架漏洞,并结合到页面的功能中利用,请你在回复前反复思考你给出的解决方案(请求包),并内部模拟请求包的参数处理,最终给出一份可利用的完整解题方案。
从下图可以看出cursor从互联网找寻到了以下的漏洞,并生成了测试payload,直接复制粘贴发现失败了。从经验判断可能是找到的文章篇幅过长,其中出现多个测试payload请求包,cursor找到了它认为正确的一个,但是不同网络环境不互通。所以我们需要自己再细看一下利用思路
notion image
ai payload失败截图:
notion image
ai payload:
搜索这俩个漏洞文章
发现了盲点,首先upload首字母没大写,其次它的JPEG文件头不知道能否成功,但是确定GIF89a可以成功
notion image
notion image
此时确定payload可以,那么用蚁剑生成一个jsp文件,然后上传并连接
notion image
HTB的一般俩个flag,在用户的主目录下,但是此处james家目录不能访问
notion image
开放端口有个22还没使用,所以需要寻找james的密码,试了试之前代码审计的tomcat密码,发现连接不上。习惯性看这个db文件和conf配置文件,发现conf/tomcat
找deepseek生成个递归查找文件内容命令呢
find ./ -type f -exec grep -nHi 'password' {} \; 或者
find /path/to/directory -type f -exec grep -niH -e 'passwd' -e 'password' -e '密码' -e 'pass' {} \;
notion image
连接拿到用户flag,接下来就是提权拿管理员flag
notion image

内网提权

顺手输入sodo -l 看看能否sudo提权
notion image
notion image
需要手动设置一个命令,然后再执行,那就设置一个支持SUID的bash,然后通过特权模式使用root
notion image
最后通过cat /root/root.txt拿到flag就行啦

思考

如果没有网站源码,也可以从/upload.action中发现是structs2框架,但是没有办法判断版本,一键化的structs2漏洞利用工具也打不进去,因为文件上传需要绕,而集成的poc默认不会有过滤,其实并无法打破
 
  • 靶机学习
  • HTB TwoMillion实战(攻)HTB Titanic和Cap实战(攻)
    Loading...