Simple_SSTI_1-WEB-bugku-解题步骤

------CTF解题专栏------


声明:文章由作者weoptions学习或练习过程中的步骤及思路,非正式答案,仅供学习和参考。

题目信息:

题目:Simple_SSTI_1

作者:valecalida

提示:无

场景:


解题思路:

You need pass in a parameter named flag。(你需要传一个名字为flag的参数),想让我们传参数,那我们就传呗。


解题步骤:

一、传送参数flag

复制代码
http://114.67.175.224:13504/?flag=?

直接有显示,试试sql注入?

复制代码
http://114.67.175.224:13504/?flag=1' and '1'='1--+

就挺尴尬的,题目SSTI是服务器端模板注入,我搁这儿试sql注入。

复制代码
http://114.67.175.224:13504/?flag={{2*3}}

哦?有ssti注入漏洞?tplmap登场


二、tplmap尝试

最后显示没注入点???不该啊,使出必杀技《奥义-秘术-答案之术》flag{0866f097bc8a992bc298142d5e19a0d7}


三、原理解析

复制代码
http://114.67.175.224:13504/?flag={{config.SECRET_KEY}}

(⊙﹏⊙)很难绷,怎么想到去config的secret_key的,直到我想看看源码的时候(后面加上的)

在最后有一个隐藏文字。

复制代码
You know, in the flask, We often set a secret_key variable.

你知道,在Flask中,我们经常设置一个叫做"secret_key"的变量。

这是一个线索,百度一下,在 Flask 中,双大括号 {{ }} 用于表示动态内容的占位符,该内容将由模板引擎渲染。这被称为模板语法。 当你在 Flask 模板中使用双大括号把变量或表达式括起来时,它告诉模板引擎去计算该表达式并将其值插入到渲染后的 HTML 文档中。 例如,你提供的代码 flag={{config.SECRET_KEY}} 将会在 HTML 文档中的该位置渲染 Flask 应用程序的秘密密钥。

可是为什么SECRET_KEY为什么要关联config呢?继续查资料。

Flask项目的配置中都是通过app.config对象来进行配置的。比如要配置一个项目的SECRET_KEY,可以使用app.config['SECRET_KEY'] = "xxx"来进行设置。

(⊙o⊙)?懂了,但没完全懂。评论区有大佬帮忙解释下吗?


总结:

难度:★★☆☆☆☆☆☆☆☆

难度真的不高,甚至很简单,签到题,/(ㄒoㄒ)/~~大佬,菜菜,帮帮。

文章是自己的解题步骤,侵删。有需要工具的小伙伴可以私信哈,无偿,直接qq发你。


相关推荐
kali-Myon7 小时前
NewStarCTF2025-Week1-Misc
安全·ctf·misc
360智汇云9 小时前
Golang Context 的巧妙应用:提高并发管理的艺术
web
kali-Myon1 天前
NewStarCTF2025-Week2-Pwn
算法·安全·gdb·pwn·ctf·栈溢出
kali-Myon2 天前
NewStarCTF2025-Week2-Web
web安全·sqlite·php·web·ctf·文件上传·文件包含
亿.62 天前
羊城杯 2025
web·ctf·writeup·wp·羊城杯
被巨款砸中3 天前
前端 20 个零依赖浏览器原生 API 实战清单
前端·javascript·vue.js·web
卓码软件测评3 天前
第三方软件质量检测:RTSP协议和HLS协议哪个更好用来做视频站?
网络·网络协议·http·音视频·web
Kiri霧3 天前
在actix-web中创建一个提取器
后端·rust·web
im_AMBER4 天前
Web 开发 30
前端·笔记·后端·学习·web
poemthesky4 天前
newstar2025 web week1&week2题解(少一道)
web