练[BSidesCF 2020]Had a bad day
[BSidesCF 2020]Had a bad day
文章目录
- [BSidesCF 2020]Had a bad day
- 掌握知识
- 解题过程
- 关键paylaod

掌握知识
php伪协议进行文件包含,代码审计,strpos()
函数会返回字符串在另一字符串中第一次出现的位置,如果没有找到则返回 FALSE
,php伪协议可以再套一层协议绕过判断或者目录遍历的方式绕过判断
解题过程
- 访问网站,发现有两个按钮可以点击,查看源码没有什么
hint
,点击按钮后发现类似文件包含的url
字段,而且点击按钮会相互切换界面,怀疑是文件包含的考点
- 尝试验证,读取
/etc/passwd
,index.php
都没有反应,使用php伪协议再次尝试,发现页面返回了报错,发现index.php
后面还有个php,猜测页面源码会将传入的参数在后面拼接一个php后缀名,再次使用php
伪协议读取index
,成功得到页面源码。当然flag
文件没能包含成功。php://filter/convert.base64-encode/resource=index
- 将base64解码后,得到了页面源码,发现是一个简单的代码审计,
strpos()
函数会返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回FALSE
。所以要想执行include
函数,传入的参数必须要有woofers
meowers
index
之一。
<?php$file = $_GET['category'];if(isset($file)){if( strpos( $file, "woofers" ) !== false || strpos( $file, "meowers" ) !== false || strpos( $file, "index")){include ($file . '.php');}else{echo "Sorry, we currently only support woofers and meowers.";}}?>
- 我所知道的这里有两个方法可以成功访问到flag,第一种也是我用的,
php://filter
伪协议可以套一层index
字符串,而且也能正常执行。paylaod
:?category=php://filter/convert.base64-encode/index/resource=flag
- 第二种方法可以选择目录遍历的方式,
/
是来到下一级目录,../
是返回上一级目录,./
是在这一级目录访问,所以只需要构建index/../flag
,就可以访问flag.php
了
关键paylaod
php://filter/convert.base64-encode/resource=index?category=php://filter/convert.base64-encode/index/resource=flag?category=php://filter/convert.base64-encode/resource=index/../flag
相关文章:

练[BSidesCF 2020]Had a bad day
[BSidesCF 2020]Had a bad day 文章目录 [BSidesCF 2020]Had a bad day掌握知识解题过程关键paylaod 掌握知识 php伪协议进行文件包含,代码审计,strpos()函数会返回字符串在另一字符串中第一次出现的位置,如果没有找到则返回 FALSE&#…...

第十五章 类和对象——友元
生活中你的家有客厅(Public),有你的卧室(Private) 客厅所有来的客人都可以进去,但是你的卧室是私有的,也就是说只有你能进去 但是呢,你也可以允许你的好闺蜜好基友进去。 在程序里,有些私有属性 也想让类外特殊的一些…...

【数仓精品理论分析】能不能学大数据?
【数仓精品理论分析】能不能学大数据? 还能不能学大数据datapulse官网: 自身情况数据行业发展情况 还能不能学大数据 首先看到这个话题的时候,我是这样想的,能不能学大数据需要参考本人的自身情况【学历、年龄、决心、有没有矿或者…...
java复习-多态性
多态性 在Java中对于多态性由两种实现的模式: 方法的多态性 方法的重载:同一个方法名称可以根据传入的参数类型和个数的不同,进行不同的处理。 方法的覆写:同一个方法可能根据使用子类的不同,由不同的实现。 对象的…...

美团外卖优惠券小程序 美团优惠券微信小程序 自带流量主模式 带教程
小程序带举牌小人带菜谱流量主模式,挺多外卖小程序的,但是都没有搭建教程 搭建: 1、下载源码,去微信公众平台注册自己的账号 2、解压到桌面 3、打开微信开发者工具添加小程序-把解压的源码添加进去-appid改成自己小程序的 4、…...
编写IDEA插件,实现根据现有代码生成流程图
实现根据现有代码生成流程图的功能需要考虑以下几个步骤: 分析代码结构,获取代码中的变量声明、分支语句、循环语句等语句结构。 根据代码结构生成流程图的节点和边。 将生成的流程图展示在IDEA界面中。 下面逐一说明以上步骤的实现方法:…...

王杰国庆作业day6
服务器 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <my_head.h> #define PORT 2324 //端口号 #define IP "192.168.10.107" //本机IP int main(int argc, const char *argv[]) {sqlite3* d…...

【C语言】循环结构程序设计 (详细讲解)
前言:前面介绍了程序中常常用到的顺序结构和选择结构,但是只有这两种结构是不够的,还有用到循环结构(或者称为重复结构)。因为在日常生活中或是在程序所处理的问题中常常遇到需要重复处理的问题。 【卫卫卫的代码仓库】 【选择结构】 【专栏链…...

Spring的注解开发-注解原理解析-xml方式/注解方式组件扫描
目录 Spring注解的解析原理 xml配置组件扫描 注解方式配置组件扫描 原理图 yysy,没有搞太明白,真的复杂,欢迎大佬留言解惑 Spring注解的解析原理 使用Component等注解配置完毕后,要配置组件扫描才能使注解生效 xml配置组件扫…...

导出视频里的字幕
导出视频里的字幕 如何利用剪映快速提取并导出视频里的字幕 https://jingyan.baidu.com/article/c35dbcb0881b6fc817fcbcd2.html 如何快速提取视频中的字幕?给大家介绍一种简单高效又免费的提取方法。需要利用到“剪映”,以下是具体的操作步骤和指引&a…...

【KingbaseES】银河麒麟V10 ARM64架构_安装人大金仓数据库KingbaseES_V8R6(CentOS8)
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的…...

【Vue】Vuex详解,一文读懂并使用Vuex
🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《ELement》。🎯🎯 …...
第三章 C程序设计
常量与变量 常量:整型常量:如1000 实型常量:十进制小数 字符常量:?! 变量:变量必须先定义,后使用。 标识符:一个对象的名字。 浮点型数据 浮点型数据是用来表示具…...
QB/T 2703-2020 汽车装饰用皮革检测
汽车装饰用皮革主要用于坐垫皮革,座椅套皮革,靠垫套皮革,方向盘皮革和其他装饰用皮革,比如仪表盘等,其物理和环保性能非常重要,对人体的健康能起到很大的影响。 QB/T 5754-2022水性/无溶剂聚氨酯复合人造革…...

使用正则表达式批量修改函数
贪心匹配,替换中的$1代表括号中的第一组。 使用[\s\S\r]代表所有字符,同时加个问号代表不贪心匹配:...

【网络协议】UDP
UDP协议与TCP协议都是传输层协议,应用层把数据拷贝到传输层,后续动作由下层自行决定。 UDP协议端格式 16位 UDP 长度 , 表示整个数据报 (UDP 首部 UDP 数据 ) 的最大长度 ;(也就是65535字节) 如果校验和出错 , 就会直接丢弃 ; …...

雷达编程实战之提高探测速度
有效帧频率作为雷达一个非常核心的指标,它代表了雷达探测识别的速度,速度越快,后级各项智能驾驶功能就能得到更快、更有效的判断。本篇文章首先从硬件的角度,提供了一种合理利用片上资源提高探测识别速度的常用方法,然…...
pyspark常用功能记录
前言 pyspark中很多常用的功能,过段时间没有使用就容易忘记,需要去网上搜索,这里总结一下,省的以后还去去搜,供自己以后参考。 withColumn def hot_func(info_str):if info_str:eturn "1"return "0&…...

Spring面试题学习: 单例Bean是单例模式吗?
单例Bean是单例模式吗 学习背景答案扩展知识单例模式Spring BeanJava Bean单例Bean 个人评价我的回答 学习背景 想换工作. 学习记录, 算是一个输出. 答案 通常来说, 单例模式是指在一个JVM中, 一个类只能构造出一个对象. 有很多方法来实现单例模式, 比如饿汉模式. 但是我们通…...

EM@常用三角函数图象性质(中学部分)
文章目录 abstract正弦函数正弦型函数转动相关概念旋转角速度转动周期转动频率初相小结 余弦函数的图象与性质性质 正切函数的图象和性质由已知三角函数值求角任意角范围内反三角函数(限定范围内)反正弦反余弦反正切 abstract 讨论 sin , cos , tan \sin,\cos,\tan s…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...

GruntJS-前端自动化任务运行器从入门到实战
Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...
JavaScript基础-API 和 Web API
在学习JavaScript的过程中,理解API(应用程序接口)和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能,使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...