首页 > 其他分享 >[BJDCTF2020]Cookie is so stable

[BJDCTF2020]Cookie is so stable

时间:2024-07-17 16:10:58浏览次数:8  
标签:执行 回显 49 self Cookie so BJDCTF2020 模板 注入

打开题目是三个页面

Hint中有提示

image

flag页面有个输入框抓包观察cookie发现多了一user就是回显内容

image

然后猜测有模板注入漏洞就开始尝试


'时代少年团队长乌萨奇的颜值一直被质疑'的文章内容
如何判断对方的模板?
常见模板有Smarty、Mako、Twig、Jinja2、Eval、Flask、Tornado、Go、Django、Ruby等。以下是一张广为流传的图:
image

这幅图的含义是通过这些指令去判断对方用的是什么模板,下面解释一下这幅图的意思:
绿色箭头是执行成功,红色箭头是执行失败。
首先是注入${77}没有回显出49的情况,这种时候就是执行失败走红线,再次注入{{77}}如果还是没有回显49就代表这里没有模板注入;如果注入{{7*7}}回显了49代表执行成功,继续往下走注入{{7'7'}},如果执行成功回显7777777说明是jinja2模板,如果回显是49就说明是Twig模板。
然后回到最初注入${7*7}成功回显出49的情况,这种时候是执行成功走绿线,再次注入a{
comment*}b,如果执行成功回显ab,就说明是Smarty模板;如果没有回显出ab,就是执行失败走红线,注入${"z".join("ab")},如果执行成功回显出zab就说明是Mako模板。实际做题时也可以把指令都拿去测测看谁能对上。平时做题也可以多搜集不同模板对应的注入语句语法。
https://blog.csdn.net/2301_76690905/article/details/134257483


image

经过尝试是一个Twig模板注入
然后就是直接注入就行

先找到flag位置
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("find / -name 'f*'")}}
再
{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}}

标签:执行,回显,49,self,Cookie,so,BJDCTF2020,模板,注入
From: https://www.cnblogs.com/dghh/p/18307622

相关文章

  • @DependsOn @ConditionOnBean @ConditionOnMissingBean @Conditional 注解的含义
    都是Spring初始化时,加载Bean的条件判断@DependsOn表示需要依赖于某个Bean加载完成之后,再加载,时依赖关系@ConditionOnBean表示加载当前Bean需要某个Bean也加载了,不是强依赖关系,并不会去加载这个依赖的Bean需要容器自己已经加载了这个Bean,它才再加载,否则不加载。也就是都有,或......
  • SpringBoot Security OAuth2实现单点登录SSO(附源码)
    文章目录基础概念1.用户认证2.单点登录(SSO)3.授权管理4.安全性和配置逻辑实现配置认证服务器配置SpringSecurity两个客户端页面展示本篇小结更多相关内容可查看附源码地址:https://gitee.com/its-a-little-bad/SSO.git基础概念SpringBootSecurity和OAut......
  • LM2733YMF/NOPB 封装 SOT23-5 丝印S52B DC-DC电源芯片
    LM2733YMF/NOPB规格信息:制造商:TexasInstruments产品种类:开关稳压器RoHS:是安装风格:SMD/SMT封装/箱体:SOT-23-5输出电压:3Vto40V输出电流:1.5A输出端数量:1Output最大输入电压:14V拓扑结构:Boost开关频率:600kHz最小工作温度:-40C最大工作温度:+......
  • SOMEIPSRV_SD_MESSAGE_19: 订阅事件组否定确认条目类型
    测试目的:验证当SubscribeEventgroup请求中的事件组ID未知时,DUT能否正确发送SubscribeEventgroupNegativeAcknowledgment消息。描述本测试用例旨在检查DUT在接收到一个包含未知事件组ID的SubscribeEventgroup请求时,是否能够返回一个带有正确字段值的SubscribeEventg......
  • 启动盘工具Ventoy和UltraISO对比
    Ventoy和UltraISO都是常用于制作启动盘的工具,但它们在功能和使用方式上有一些显著的区别。VentoyVentoy是一个开源的启动盘制作工具,其主要特点包括:多镜像支持:用户可以将多个ISO/WIM/IMG/VHD(x)/EFI等类型的文件直接拷贝到U盘,Ventoy会在启动时显示一个菜单供用户选择。无需格......
  • BLOS-BEV:导航地图助力BEV分割实现200米超远感知新SOTA
    BLOS-BEV:导航地图助力BEV分割实现200米超远感知新SOTA早期,由于感知算法模型的感知能力还比较有限,在城市中的自动驾驶车辆通常都需要依赖高精地图(High-Definition,HDMap)来提供丰富和精确的道路信息,比如道路的拓扑结构,停止线,车道线曲率等相关路况信息。但由于高精地图的采集和......
  • CANXL协议解读系列 | (2)一文读懂ISO 11898-2:2024 CANXL物理层
        2024年3月22日,ISO推出11898-2:2024版本,标志着CAN总线收发器的最高速率由CANFD行业认可的8Mbit/s提速到最高20Mbit/s(2024年5月24日ISO11898-12024已发表)。20Mbit/s的传输带宽不仅填补了CAN与Ethernet之间速率差距,2048Byte的payload和实时性的保留也给CAN网络本身带来......
  • iOS开发基础115-Socket
    在现代网络编程中,Socket(套接字)是实现网络通信的主要机制。Socket提供了端到端的双向通信接口,使得不同主机上的进程能够通过网络直接通信。在iOS开发中,经常需要使用Socket进行网络请求、实时通信(如聊天、游戏等)。以下将详细介绍Socket的概念,并列举iOS开发中常用的三方Socket框架,深......
  • [BJDCTF2020]Mark loves cat(源码泄露+命令执行)
    扫描之后发现是/.git源码泄露pythonGitHack.pyhttp://56ad87c1-d8fb-463d-9480-f0fbee5176a0.node5.buuoj.cn:81/.git/之后出现源码查看index.php<?php//包含外部文件'flag.php',可能包含变量$flaginclude'flag.php';//初始化三个变量$yds="dog";//$yd......
  • supervisor 使用记录
    常用命令supervisorctlstatus//查看所有管理进程状态supervisorctlstopxxx//停止某个进程supervisorctlstartxxx//启动某个进程supervisorctlrestartxxx//重启某个进程supervisorctlupdate//配置文件修改后使用该命令加载新的配......