安全基础~攻防特性3

文章目录

  • SSTI(模板注入)
    • [1. 简介](#1. 简介)
    • [2. 成因](#2. 成因)
    • [3. 常见框架存在注入](#3. 常见框架存在注入)
    • [4. 判断存在SSTI](#4. 判断存在SSTI)

SSTI(模板注入)

1. 简介

(Server-Side Template Injection) 服务端模板注入

1、使用框架(MVC的模式),如python的flask,php的tp,java的spring等

2、用户的输入先进入控制器,导致服务器模板中拼接了恶意用户输入导致各种漏洞

3、根据请求类型和请求的指令发送给对应Model业务模型进行业务逻辑判断,数据库存取

4、通过模板,Web应用可以把输入转换成特定的HTML文件或者email格式,并最后把结果返回给View视图层,展示给用户

2. 成因

1、使用模板来提高开发效率,同时带来了安全问题

2、配置代码不规范、未过滤用户输入的数据导致模板可控

3、服务端接收了用户的恶意输入以后,未经任何处理就将其作为 Web 应用模板内容的一部分

4、模板引擎在进行目标编译渲染的过程中,执行了用户插入的可以破坏模板的语句,因而可能导致了敏感信息泄露、代码执行、GetShell 等问题

3. 常见框架存在注入

4. 判断存在SSTI

随便访问一个不存在的路径,都会有一个报错页面,而且基本上都是一样的。这就是说明存在模板。

如果报错页面的url或者post数据中,有一个参数你是可以控制,且会显示在报错页面中,那么就有可能存在SSTI模板注入。

python中{``{xxx}},xxx可能会被执行。

  • 查看源代码,是否使用框架包;
  • 是否使用类似flask.render.template.string()函数;
  • 在可控参数中输入类似/{{2-2}},看界面是否解析2-2。

SSTI(入门篇)参考链接
SSTI+Flask+Python

相关推荐
福建佰胜张工2 小时前
SMC 薄型气爪 MHF2-16D1 深度解析:平行开闭、低剖面结构在自动化装配中的选型与落地
java·服务器·安全·自动化
catoop2 小时前
API Key 设计与安全生成方案:结构拆解、数据库设计与 Java 实现
java·数据库·安全
贾伟康5 小时前
【化学实验室|18】HarmonyOS ArkTS 权限与隐私实战:让 module.json5、功能说明和拒绝路径一致
安全·移动开发·harmonyos·arkts·arkui
wangruofeng5 小时前
黑色十月:AI 找到的漏洞,两小时数十万次利用
人工智能·安全·php
万联WANFLOW6 小时前
LiteLLM 1.107.0 投毒排查实战:依赖、Docker、CI 环境分别怎么查?
安全·docker·llm
hz567897 小时前
企业视频会议系统方案:总部与分支机构高效协同如何落地?
运维·服务器·网络·安全·实时音视频·信息与通信
三垣网安7 小时前
漏洞实战|高校虚拟实验平台报错型 SQL 注入漏洞复现
网络·经验分享·sql·安全·web安全·网络安全·水平越权
sun153690275727 小时前
露天矿边坡滑坡怎么预警?QY-19GNSS 自动化地表位移监测系统介绍
运维·安全·自动化
长不大的杨瑞杰7 小时前
给 OpenCode v2 接入大模型:Provider、模型选择与 API Key 安全配置实战
人工智能·安全·ai·语言模型
ONLYOFFICE9 小时前
ONLYOFFICE 10.0:深入了解最新的 40 项安全修复
网络·安全