[BSidesCF 2020]Had a bad day 1

打开页面发现有传参

总结了一下有传参的考虑方法

  1. sql注入
  2. 任意文件读取(伪协议)
  3. 目录穿越

读文件没有任何反应

那试试伪协议

伪协议不一定就是要读flag,在完全没有任何线索的时候最重要的是要先拿到源码

读index,别问我为什么不是index.php

 

读出来的base64编码拿去解码一下

base64编码页面显示不完整,可以查看源代码复制

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

                    }

                }

                ?>

OK,有用的就是这一段PHP

Category?说好的不要桑心呢,为神马还要抽烟呢~

好了,言归正传,strpos()这个函数的作用是返回一个字符串在另一个字符串中第一个位置,没有就返回false

这道题代码审计一下,很简单,它就是要么让那个文件有小狗,要么有小猫,要么是有index,这三个三选一。

很遗憾,我哪个都不想选。

网上看了用数组可以绕过,但在这里

!==不仅比较值还比较类型,所以数组行不通

不过说到底他就是检查参数中有没有那几个单词,那在传参中输入不就行了吗

传参:index.php?category=php://filter/read=convert.base64-encode/index/resource=flag

 

完成。

考点:文件读取之伪协议,strpos()函数

若有错处,欢迎指正

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值