当前位置: 首页 > 科技观察

Linux:一行代码创建一个可以执行命令的web服务器

时间:2023-03-14 09:54:09 科技观察

如果想让系统更安全,可能要花很多时间。相反,如果你想让系统不安全,那是分分钟的事情。本文分享一种在Linux上快速搭建web服务的不安全方式,可以将bash命令的执行结果返回给前端,提醒大家,不要在生产环境中使用。先写这么一行代码,保存为web.sh#!/bin/bashwhiletrue;做echo-e"HTTP/1.1200OK\n\n$($1)"|nc-l-k-p8080-q1;done然后添加可执行权限:chmodu+xweb.sh执行这个脚本,给他一个命令参数,比如psaux:./web.sh"psaux"打开浏览器,输入网址http://127.0。0.1:8080,你会看到如下图所示的结果:每次刷新浏览器,都会打印psaux命令的最新结果!为什么这是可能的?#!/bin/bashwhile真;做echo-e"HTTP/1.1200OK\n\n$($1)"|nc-l-k-p8080-q1;完成是因为有一个始终执行的循环使用whiletrue,让nc命令持续监听端口8080上的浏览??器请求,并且每次刷新时,将执行作为参数传递给web.sh的脚本,结果将与一些HTTP标头一起传递给nc,这些标头又将发送给我们的浏览器。一个简单的命令就可以起到远程监控服务器进程的效果,是不是很方便?然而,这并不安全。可以自己玩,不建议在生产环境中使用。