命令执行绕过

首先以一道BUUCTF题目来开下胃

命令执行绕过_第1张图片

 命令执行绕过_第2张图片

 查看flag:

命令执行绕过_第3张图片

 其次给大家上主菜-----命令执行绕过

命令执行漏洞绕过方式:

管道符

windows中常见管道符:

|    直接执行后面的语句
||    如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句
&    前面和后面命令都要执行,无论前面真假
&&    如果前面为假,后面的命令也不执行,如果前面为真则执行两条命令

命令执行绕过_第4张图片

linux中常见管道符:

 

|    直接执行后面的语句
||    如果前面命令是错的那么就执行后面的语句,否则只执行前面的语句
&    前面和后面命令都要执行,无论前面真假
&&    如果前面为假,后面的命令也不执行,如果前面为真则执行两条命令
;    前面和后面命令都要执行,无论前面真假

1.空格被过滤了,绕过空格

1.${IFS}

zxcv0221@kali:~/桌面$ cat${IFS}flag
falg{afdadjwaojd-wds}

2.$IFS$9 $9指传过来的第9个参数

zxcv0221@kali:~/桌面$ cat$IFS$9flag
falg{afdadjwaojd-wds}

zxcv0221@kali:~/桌面$ cat$IFS$1flag
falg{afdadjwaojd-wds}

3.%09(需要PHP环境,代替空格)

2.通配符绕过

命令执行绕过_第5张图片

 

3.读文件绕过(当cat被过滤)

(1)more:一页一页的显示档案内容
(2)less:与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页
(3)tac:从最后一行开始显示,可以看出 tac 是 cat 的反向显示
(4)tail:查看尾几行
(5)vim:一种编辑器,这个也可以查看
(6)file -f:报错出具体内容

4.单引号,双引号绕过

zxcv0221@kali:~/桌面$ ca''t flag
you are good!

zxcv0221@kali:~/桌面$ cat"" flag
you are good!

你可能感兴趣的:(安全)