练[BSidesCF 2020]Had a bad day

[BSidesCF 2020]Had a bad day

文章目录

      • [BSidesCF 2020]Had a bad day
      • 掌握知识
      • 解题过程
      • 关键paylaod

在这里插入图片描述

掌握知识

​ php伪协议进行文件包含,代码审计,strpos()函数会返回字符串在另一字符串中第一次出现的位置,如果没有找到则返回 FALSE,php伪协议可以再套一层协议绕过判断或者目录遍历的方式绕过判断

解题过程

  1. 访问网站,发现有两个按钮可以点击,查看源码没有什么hint,点击按钮后发现类似文件包含的url字段,而且点击按钮会相互切换界面,怀疑是文件包含的考点

image-20230928122319632

image-20230928122450028

  1. 尝试验证,读取/etc/passwdindex.php都没有反应,使用php伪协议再次尝试,发现页面返回了报错,发现index.php后面还有个php,猜测页面源码会将传入的参数在后面拼接一个php后缀名,再次使用php伪协议读取index,成功得到页面源码。当然flag文件没能包含成功。php://filter/convert.base64-encode/resource=index

image-20230928122619898

image-20230928122630495

image-20230928122828090

  1. 将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.";}}?>
  1. 我所知道的这里有两个方法可以成功访问到flag,第一种也是我用的,php://filter伪协议可以套一层index字符串,而且也能正常执行。paylaod?category=php://filter/convert.base64-encode/index/resource=flag

image-20230928124037450

image-20230928124101243

  1. 第二种方法可以选择目录遍历的方式,/是来到下一级目录,../是返回上一级目录,./是在这一级目录访问,所以只需要构建index/../flag,就可以访问flag.php

image-20230928124659708

关键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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nuget 安装程序包不成功

1、问题&#xff1a; 安装程序包时&#xff0c;点击安装总是“报错&#xff08;错误1&#xff09;”如下&#xff1a; NU1301 本地源“D:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages”不存在。 LXExamSystem.DAL C:\windowsTest\灵犀考试系统\3、源代…

QScrollArea样式

简介 QScrollBar垂直滚动条分为sub-line、add-line、add-page、sub-page、up-arrow、down-arrow和handle几个部分。 QScrollBar水平滚动条分为sub-line、add-line、add-page、sub-page、left-arrow、right-arrow和handle几个部分。 部件如下图所示&#xff1a; 样式详…

力扣 -- 96. 不同的二叉搜索树

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int numTrees(int n) {vector<int> dp(n1);//初始化dp[0]1;//填表for(int i1;i<n;i){for(int j1;j<i;j){//状态转移方程dp[i](dp[j-1]*dp[i-j]);}}//返回值return dp[n];} }; 你学会了吗&…

MySQL - mysql服务基本操作以及基本SQL语句与函数

文章目录 操作mysql客户端与 mysql 服务之间的小九九了解 mysql 基本 SQL 语句语法书写规范SQL分类DDL库表查增 mysql数据类型数值类型字符类型日期类型 示例修改&#xff08;表操作&#xff09; DML添加数据删除数据修改数据 DQL查询多个字段条件查询聚合函数分组查询排序查询…

STM32复习笔记(四):看门狗

目录 &#xff08;一&#xff09;简介 &#xff08;二&#xff09;IWDG IWDG的CUBEMX工程配置 IWDG相关函数&#xff08;非常少&#xff0c;所以直接贴上来&#xff09;&#xff1a; &#xff08;三&#xff09;WWDG &#xff08;一&#xff09;简介 看门狗分为独立看门…

【11】c++设计模式——>单例模式

单例模式是什么 在一个项目中&#xff0c;全局范围内&#xff0c;某个类的实例有且仅有一个&#xff08;只能new一次&#xff09;&#xff0c;通过这个唯一的实例向其他模块提供数据的全局访问&#xff0c;这种模式就叫单例模式。单例模式的典型应用就是任务队列。 为什么要使…

【Linux】【网络】工具:httplib 库的安装与简单使用

文章目录 1. 下载 httplib 库2. 从 Win 传输文件到 Linux3. 解压缩 httplib 库1. struct Request 结构体源码展示2. struct Reponse 结构体源码展示3. httplib 库 Server 类4. httplib 库 Client 类5. 搭建简易 server 服务器6. 搭建简易 client 客户端 1. 下载 httplib 库 要求…

力扣第102题 广度优先搜索 二叉数 c++

题目 102. 二叉树的层序遍历 中等 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20…

竞赛选题 机器视觉的试卷批改系统 - opencv python 视觉识别

文章目录 0 简介1 项目背景2 项目目的3 系统设计3.1 目标对象3.2 系统架构3.3 软件设计方案 4 图像预处理4.1 灰度二值化4.2 形态学处理4.3 算式提取4.4 倾斜校正4.5 字符分割 5 字符识别5.1 支持向量机原理5.2 基于SVM的字符识别5.3 SVM算法实现 6 算法测试7 系统实现8 最后 0…

C#,数值计算——Sobol拟随机序列的计算方法与源程序

1 文本格式 using System; using System.Collections.Generic; namespace Legalsoft.Truffer { /// <summary> /// Sobol quasi-random sequence /// </summary> public class Sobol { public Sobol() { } public static void sobseq(int n,…

基于SpringBoot的小区物业管理系统

基于SpringBoot的小区物业管理系统的设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 首页 管理员界面 摘要 基于SpringBoot的小区物业管理系统是一款为小区物业管理提…

进程调度算法之先来先服务(FCFS),短作业优先(SJF)以及高响应比优先(HRRN)

1.先来先服务&#xff08;FCFS&#xff09; first come first service 1.算法思想 主要从“公平”的角度考虑(类似于我们生活中排队买东西的例子) 2.算法规则 按照作业/进程到达的先后顺序进行服务。 3.用于作业/进程调度 用于作业调度时&#xff0c;考虑的是哪个作业先…