当前位置: 首页 > news >正文

记录一次CTF web题目解决过程

今天在某CTF网站做练习的时候发现这个web题还蛮经典的,涉及的点也不错,因此想借此写一篇文章讲解一下。

目录

审题思路

测试过程

验证SSTI漏洞

利用漏洞

总结


本题涉及漏洞 SSTI(服务端模板注入)

通用CWE编号:CWE-1336

审题思路

我们先看这个题目

于是打开主页面后发现也没啥特别的,在搜索结果的页面尝试跑一下sqlmap也是没有找到注入点。有个员工登录页面同样没有弱口令。

回看题目有提示,告诉我们用dirsearch有惊喜,跑了一下后果然有东西

这个网站存在git目录泄露

对于测试人员来说,有了git目录便有了:

  • 完整的源代码历史

  • 配置文件

  • 开发者的提交记录

  • 可能包含的敏感数据

瞄准这个方向我们可以接着进行下去了

测试过程

第一步我先用git_dumper命令将这个git目录下载下来

看到了这几个重要的文件

app.py config.py requirements.txt static templates

进入app.py中,看到这个重要的信息

是的,我们得到了管理员的账号密码 admin Nexusadmin2025!@#,同时通过分析此文件中内容我们知道了dashboard是控制室入口

但事实是我们直接登录会显示这个

错误:该账户已启用多因素认证 (MFA),请使用硬件密钥登录。

然而在config.py中我们发现了一个旧的Key

因此我们可以尝试使用 flask-unsign工具构建一个session进行登录,打开burp抓包工具,访问dashboard页面,添加Cookie: session值

可以看到返回了正确登录的结果,同时我们发现一个问题,这个页面会把访客的名字直接显示出来,我们可以大胆猜想以下这个页面会不会存在SSTI漏洞

验证SSTI漏洞

我们可以进行如下测试,当我们访问/dashboard?u={{3*3}},可以看到返回了数值9,是的,我们输入的被服务器执行了,这是服务器端模板注入漏洞

利用漏洞

因此利用这个漏洞,我们接下来可以使用tplmap进行自动化测试(是不是很熟悉,sql注入有sqlmap,SSTI有tplmap)

简单验证一下,执行whoami,返回了root

执行 ls -la /命令,可以看到存在flag文件,直接使用cat /flag,成功得到flag

总结

我们的测试主要包含了如下过程:

  • 使用dirsearch发现了git目录泄露
  • 将目录下载下来通过分析源文件发现了dashboard的功能,以及发现了key用来构造session
  • 使用burp抓包工具验证session的可行性以及SSTI的存在
  • 借助tplmap工具进行--os-shell交互性执行命令找到了flag文件
http://www.cnnetsun.cn/news/1916220.html

相关文章:

  • translategemma-4b-it多场景:单图翻译、批量图处理、API服务、桌面应用
  • 半导体WAT、CP、FT测试全流程解析:从晶圆到封装的品质把控
  • Java工程师视角:j-langchain 快速上手 Agent
  • Java-Study
  • 「游戏史话第1期」莉莉丝的远征:从“差评”打工人,到狂揽百亿的出海领军者
  • TVA如何重塑3C产品质量检测新范式(6)
  • 为什么说ExtendSim 非常适合用于仿真概念与原理教学
  • 如何用AI修复受损音频:VoiceFixer完整指南
  • 六分钟穿越天地:超元力LED飞行影院的沉浸式魅力
  • 深度解析:内部网关协议(IGP)的作用范围与核心机制
  • 【入门C++语法】第3章 输入cin
  • 【限时解禁】SITS2026评测套件V1.0完整数据集+评估Pipeline(含中文细粒度标注子集)
  • Flutter-BluetoothDevice库源码
  • 开源数据大屏AJ-Report:从零搭建到酷炫展示的全流程指南
  • K8s StatefulSet 的数据持久化方案
  • RAG系统优化入门到精通:拆解字节二面必考题,收藏这一篇就够了!
  • RPGMZ 清爽战斗界面
  • GitHub仓库搬家实战:从Fork到本地Ubuntu,再到同步上游更新的完整工作流
  • 3个核心疑问:为什么你的ComfyUI-Impact-Pack安装总是失败?
  • 如何用三月七小助手实现崩坏星穹铁道全自动游戏管理:终极指南
  • 乙二醇脱醛技术研究
  • AsrTools:5分钟上手,让音频文件批量转字幕变得如此简单
  • RT-Thread PWM驱动电机调速实战——基于STM32F407
  • 论文小白逆袭指南:书匠策AI——你的课程论文“外挂神器”
  • Docker Swarm服务发现到底怎么玩?一个Overlay网络+Stack的完整微服务通信Demo
  • 51单片机复位电路电容选型实战:从10uF到8uF的取舍与计算
  • 从底线防守到体验破局,数美广告素材审核解决方案升级!
  • StarRocks数据类型深度解析:从基础到复杂,构建高效数据模型
  • Python实战:用pynput库5分钟搞定鼠标键盘监听(附完整代码)
  • 从零调参到稳定飞行:手把手教你调试Mahony姿态解算的Kp和Ki参数(附MPU6050实测数据)