echo
这次主要讲述 echo 的一个基本使用语法,echo 在渗透测试中也是经常使用的,我们可以通过一个简单的 shell 来使用 echo 写入一个一句话木马,或者通过 echo 将 linux 的公钥写入到远程服务器中作为认证 key,从而实现免密登录,另外通过 echo 还可以执行系统命令!
echo 最基本的就是作为输出,基本使用语法如下:
- echo 要输出的内容
- [email protected]/* */:~/eth10/eth10# echo hello eth10
- hello eth10
- [email protected]/* */:~/eth10/eth10# echo "hello eth10"
- hello eth10
但是如果要输出的内容中还有一些特殊字符,那么就极有可能被吃掉!
- [email protected]/* */:~/eth10/eth10# echo "hello eth10 "welcome" "
- hello eth10 welcome
此时,我们可以使用 - e 这参数来开启转义!
- [email protected]/* */:~/eth10/eth10# echo -e "hello eth10 \"welcome\" "
- hello eth10 "welcome"
- [email protected]/* */:~/eth10/eth10#
这样我们就可以输出特殊字符了!并且可以使用转义字符 \ n 来实现换行!但是 \ n 前最好留一个空格!
- [email protected]/* */:~/eth10/eth10# echo -e "hello eth10 \n\"welcome\" "
- hello eth10
- "welcome"
另外对于单引号,我们是不需要加转义字符的!
- [email protected]/* */:~/eth10/eth10# echo -e "hello eth10\n\"welcome\" 'eth10'"
- hello eth10
- "welcome" 'eth10'
- [email protected]/* */:~/eth10/eth10# echo -e "hello eth10\n\"welcome\" \'eth10\'"
- hello eth10
- "welcome" \'eth10\'
- [email protected]/* */:~/eth10/eth10#
通过对 echo 的简单使用,只有能输出内容,那么就可以使用重定向符 > 或者追加符 >> 来将我们输出的内容写入到文件中了!
另外,我们还可以通过 `` 这个符号来通过 echo 执行系统命令,即使没有自动换行!
- [email protected]/* */:~/eth10/eth10# echo `whoami`
- root
- [email protected]/* */:~/eth10/eth10#
- [email protected]/* */:~/eth10/eth10# echo `cat /etc/passwd`
- root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin
是不是我们就可以使用 wget 下载任意文件到服务器上面了呢?或者直接使用 nc 来获取一个反向连接呢?
来源: http://www.bubuko.com/infodetail-2272977.html