打开网站得到源码

    1. <?php
    2. show_source(__FILE__);
    3. include("config.php");
    4. $a=@$_GET['a'];
    5. $b=@$_GET['b'];
    6. if($a==0 and $a){
    7. echo $flag1;
    8. }
    9. if(is_numeric($b)){
    10. exit();
    11. }
    12. if($b>1234){
    13. echo $flag2;
    14. }
    15. ?>

    根据源码,第一处判断$a==0 and $a要满足$a==0为真和$a为真。
    因为php是弱类型的语言,可以随时的转换类型,并且开发者使用了很多松散的比较和转换。
    首先是第一处

    1. if($a==0 and $a){
    2. echo $flag1;
    3. }

    构造a=”0qwer”绕过
    第二第三处
    可以构造b[]=,也可以使用b=”12345b”