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发你。


相关推荐
曲幽13 小时前
FastAPI压力测试实战:Locust模拟真实用户并发及优化建议
python·fastapi·web·locust·asyncio·test·uvicorn·workers
曲幽1 天前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
曲幽3 天前
我用FastAPI接ollama大模型,差点被asyncio整崩溃(附对话窗口实战)
python·fastapi·web·async·httpx·asyncio·ollama
曲幽4 天前
FastAPI + Ollama 实战:搭一个能查天气的AI助手
python·ai·lora·torch·fastapi·web·model·ollama·weatherapi
holeer5 天前
【V1.0】Typora 中的 HTML 支持|软件文档自翻译
前端·编辑器·html·typora·web·markdown·文档
努力的lpp5 天前
【ctf常用备用文件名字典】
web安全·网络安全·ctf
敲敲了个代码6 天前
浏览器时间管理大师:深度拆解 5 大核心调度 API
前端·javascript·学习·web
m0_738120727 天前
sqli-labs过关解析(17- 20附带源码解析)
数据库·sql·web安全·php·ctf·安全性测试
差不多的张三7 天前
【RSS】博客收集
web
Pure_White_Sword7 天前
bugku-reverse题目-NoString
网络安全·ctf·reverse·逆向工程