xff注入 [CISCN2019 华东南赛区]Web111

打开题目

 

看见smarty

想到模板注入

又看见ip

想到xff注入

一般情况下输入{$smarty.version}就可以看到返回的smarty的版本号。该题目的Smarty版本是3.1.30

在Smarty3的官方手册里有以下描述:

Smarty已经废弃{php}标签,强烈建议不要使用。在Smarty 3.1,{php}仅在SmartyBC中可用。所以只能另找方法

{if}标签

官方文档中看到这样的描述:

Smarty的{if}条件判断和PHP的if 非常相似,只是增加了一些特性。每个{if}必须有一个配对的{/if}. 也可以使用{else} 和 {elseif}. 全部的PHP条件表达式和函数都可以在if内使用,如*||*,or,&&,and,is_array(), 等等

有回显

说明有这个漏洞,接着去找flag,可以用ls去查看当前目录,猜测flag在根目录,这里直接用cat了

所以也可以使用:{if show_source("/flag")}{/if} 来获得flag

知识点:

 1.Smarty已经废弃{php}标签,强烈建议不要使用。在Smarty 3.1,{php}仅在SmartyBC中可用。

2.{literal}可以让一个模板区域的字符原样输出。这经常用于保护页面上的Javascript或css样式表,避免因为Smarty的定界符而错被解析

3.Smarty的{if}条件判断和PHP的if 非常相似,只是增加了一些特性。每个{if}必须有一个配对的{/if}. 也可以使用{else} 和 {elseif}. 全部的PHP条件表达式和函数都可以在if内使用,如||,or,&&,and,is_array(), 等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2804748.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

07 MyBatis之高级映射 + 懒加载(延迟加载)+缓存

1. 高级映射 例如有两张表, 分别为班级表和学生表 自然, 一个班级对应多个学生 像这种数据 , 应该如果如何映射到Java的实体类上呢? 这就是高级映射解决的问题 以班级和学生为例子 , 因为一个班级对应多个学生 , 因此学生表中必定有一个班级编号字段cid 但我们在学生的实体…

HarmonyOS学习--三方库

文章目录 一、三方库获取二、常用的三方库1. UI库:2. 网络库:3. 动画库: 三、使用开源三方库1. 安装与卸载2. 使用 四、问题解决1. zsh: command not found: ohpm 一、三方库获取 在Gitee网站中获取 搜索OpenHarmony-TPC仓库,在t…

Day20_网络编程(软件结构,网络编程三要素,UDP网络编程,TCP网络编程)

文章目录 Day20 网络编程学习目标1 软件结构2 网络编程三要素2.1 IP地址和域名1、IP地址2、域名3、InetAddress类 2.2 端口号2.3 网络通信协议1、OSI参考模型和TCP/IP参考模型2、UDP协议3、TCP协议 2.4 Socket编程 3 UDP网络编程3.1 DatagramSocket和DatagramPacket1、Datagram…

强大的文本绘图——PlantUML

PlantUML是一款开源工具,它允许用户通过简单的文本描述来创建UML图(统一建模语言图)。这种方法可以快速地绘制类图、用例图、序列图、状态图、活动图、组件图和部署图等UML图表。PlantUML使用一种领域特定语言(DSL)&am…

PostMan使用自带js库base64编码、sha256摘要、环境变量的使用

目录 1、环境变量的使用2、base64编码、sha256摘要、以及脚本的使用3、脚本代码 在请求调试接口的过程中,因为要使用大量相同的参数,使用变量的方式能很大程度上减轻接口调用的工作量 版本说明:Postman for Windows,Version&#…

BUGKU-WEB 备份是个好习惯

题目描述 题目截图如下: 进入场景看看: 解题思路 看源码看提示:备份是个好习惯扫描目录md5弱比较 相关工具 御剑md5解密:https://www.somd5.com/ 解题步骤 看到的这串字符,有点像md5? d41d8cd98…

【PCL】(十二)使用ConditionalRemoval或RadiusOutlierRemoval滤波器对点云进行滤波

(十二)使用ConditionalRemoval 或 RadiusOutlierRemoval滤波器对点云进行滤波 RadiusOutlierRemove滤波器删除PointCloud中在指定半径的邻域范内,邻点没能达到指定数量的点。下图中,如果指定了邻点数为1,则黄色点将从…

亿道丨三防平板电脑厂家推荐丨三防平板PAN智能化赋能

随着科技的不断进步和人们对智能化产品的需求日益增长,三防平板迎来了智能化赋能的时代。通过融合创新科技,三防平板实现了更高的性能、更智能的功能以及更广泛的应用场景,引领着未来的发展潮流。 一、智能化技术提升性能 随着技术的进步&…

Nginx网络服务四-----日志、Nginx压缩和ssl

1.自定义访问日志 如果访问出错---404,可以去看error.log日志信息 访问日志是记录客户端即用户的具体请求内容信息,而在全局配置模块中的error_log是记录nginx服务器运行时的日志保存路径和记录日志的level,因此两者是不同的,而且…

openssl 生成nginx自签名的证书

1、命令介绍 openssl req命令主要的功能有,生成证书请求文件, 查看验证证书请求文件,还有就是生成自签名证书。 主要参数 主要命令选项: -new :说明生成证书请求文件 -x509 :说明生成自签名证书 -key :指定已…

计算机网络面经-从浏览器地址栏输入 url 到显示主页的过程?

大概的过程比较简单,但是有很多点可以细挖:DNS解析、TCP三次握手、HTTP报文格式、TCP四次挥手等等。 DNS 解析:将域名解析成对应的 IP 地址。TCP连接:与服务器通过三次握手,建立 TCP 连接向服务器发送 HTTP 请求服务器…

JS基础(一)

一 JS概述 1. 历史 1995年 JS出现在网景浏览器中 1996年 IE也开始出现了JS 1997年 指定了JS的标准规范ECMAScript 目前是ES6 2009年 JS开始向后端发展&#xff0c;出现了Node.js 二 JS入门 1. JS的运行方式 1. 内部写法 <script>J…

查看navicat保存的数据库连接密码

背景 经常使用navicat的朋友可能会碰到忘记数据库连接密码的情况&#xff0c;自然会想到navicat连接配置中就保存了密码。 个人经验&#xff0c;按以下步骤可查看密码明文 本人在mac上使用的navicat版本 1&#xff0c;导出connection_local.ncx 点击OK导出保存为connection_l…

iOS面试:4.多线程GCD

一、多线程基础知识 1.1 什么是进程&#xff1f; 进程是指在系统中正在运行的一个应用程序。对于电脑而已&#xff0c;你打开一个软件&#xff0c;就相当于开启了一个进程。对于手机而已&#xff0c;你打开了一个APP&#xff0c;就相当于开启了一个进程。 1.2 什么是线程&am…

【电子书】人工智能

资料 wx&#xff1a;1945423050&#xff0c;备注来源和目的 个人整理了一些互联网电子书 人工智能 Julia机器学习核心编程&#xff1a;人人可用的高性能科学计算.epubKeras深度学习实战.epubMATLAB图像与视频处理实用案例详解.epubMATLAB金融算法分析实战&#xff1a;基于机器…

Java学习笔记2024/2/23

今日内容 抽象类 接口 内部类 教学目标 能够写出抽象类的格式能够写出抽象方法的格式能说出抽象类的应用场景写出定义接口的格式写出实现接口的格式说出接口中成员的特点能说出接口的应用场景能说出接口中为什么会出现带有方法体的方法能完成适配器设计模式 第一章 抽象类…

c语言--typedef关键字

目录 一、typedef关键字是用来干嘛的&#xff1f;二、用法 一、typedef关键字是用来干嘛的&#xff1f; typedef 是⽤来类型重命名的&#xff0c;可以将复杂的类型&#xff0c;简单化。 二、用法 比如&#xff0c;你觉得 unsigned int 写起来不方便&#xff0c;如果能写成 u…

[网鼎杯 2020 白虎组]PicDown

网鼎杯的&#xff0c;这应该是送分的那种 界面很普通&#xff0c;就长这样。源代码也没什么&#xff0c;随便输入试试 出现了"/page?url1" 这可能是ssrf题目。 但是尝试了一些payload发现下载了一张图片&#xff0c;并且url里自动补齐了127.0.0.1。使用记事本打开…

MySQL数据库基础(十三):关系型数据库三范式介绍

文章目录 关系型数据库三范式介绍 一、什么是三范式 二、数据冗余 三、范式的划分 四、一范式 五、二范式 六、三范式 七、总结 关系型数据库三范式介绍 一、什么是三范式 设计关系数据库时&#xff0c;遵从不同的规范要求&#xff0c;设计出合理的关系型数据库&…

SQL Server——建表时为字段添加注释

在 MySQL 中&#xff0c;新建数据库表为字段添加注释可以使用 comment 属性来实现。SQL Server 没有 comment 属性&#xff0c;但是可以通过执行 sys.sp_addextendedproperty 这个存储过程添加扩展属性来实现相同的功能。 这个存储过程的参数定义如下&#xff1a; exec sys.s…