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

练[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.lryc.cn/news/182464.html

相关文章:

  • 第十五章 类和对象——友元
  • 【数仓精品理论分析】能不能学大数据?
  • java复习-多态性
  • 美团外卖优惠券小程序 美团优惠券微信小程序 自带流量主模式 带教程
  • 编写IDEA插件,实现根据现有代码生成流程图
  • 王杰国庆作业day6
  • 【C语言】循环结构程序设计 (详细讲解)
  • Spring的注解开发-注解原理解析-xml方式/注解方式组件扫描
  • 导出视频里的字幕
  • 【KingbaseES】银河麒麟V10 ARM64架构_安装人大金仓数据库KingbaseES_V8R6(CentOS8)
  • 【Vue】Vuex详解,一文读懂并使用Vuex
  • 第三章 C程序设计
  • QB/T 2703-2020 汽车装饰用皮革检测
  • 使用正则表达式批量修改函数
  • 【网络协议】UDP
  • 雷达编程实战之提高探测速度
  • pyspark常用功能记录
  • Spring面试题学习: 单例Bean是单例模式吗?
  • EM@常用三角函数图象性质(中学部分)
  • 一文拿捏Spring事务之、ACID、隔离级别、失效场景
  • input输入表头保存excel文件
  • DataBinding双向绑定简介
  • Is This The Intelligent Model(这是智能模型吗)
  • MySQL事务:特性、使用、并发事务问题和隔离级别
  • FFmpeg日志系统、文件与目录、操作目录
  • 好奇喵 | Surface Web ---> Deep Web ---> Dark Web
  • 三、thymeleaf基本语法
  • 创建一个新的IDEA插件项目
  • Doris数据库BE——冷热数据方案
  • Python无废话-办公自动化Excel格式美化