6hz7vif 发表于 2024-7-29 10:50:25

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


    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">倘若</span>你想让系统更加安全,那可能要花费<span style="color: black;">非常多</span>时间,相反,<span style="color: black;">倘若</span>你想让系统不安全,那<span style="color: black;">便是</span>分分钟的事情,本文分享一个不安全的方式在 Linux 上快速<span style="color: black;">创立</span>一个 Web 服务,它<span style="color: black;">能够</span>将 bash 指令的执行结果返回给前端,提醒一下,千万别在生产环境<span style="color: black;">运用</span>。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">首要</span>编写<span style="color: black;">这般</span>一行代码,<span style="color: black;">保留</span>为 web.sh</p><span style="color: black;">#!/bin/bash</span><span style="color: black;">while</span>&nbsp;<span style="color: black;">true</span>;&nbsp;<span style="color: black;">do</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: black;">echo</span>&nbsp;-e&nbsp;<span style="color: black;">"HTTP/1.1&nbsp;200&nbsp;OK\n\n<span style="color: black;">$($1)</span>"</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">&nbsp;|&nbsp;nc&nbsp;-l&nbsp;-k&nbsp;-p&nbsp;8080&nbsp;-q&nbsp;1;&nbsp;</p><span style="color: black;">done</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">而后</span>添加可执行权限:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">chmod&nbsp;u+x&nbsp;web.sh</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">执行这个脚本,给他一个命令参数,<span style="color: black;">例如</span> ps aux:</p>./web.sh&nbsp;<span style="color: black;">"ps&nbsp;aux"</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">打开浏览器,输入网址 http://127.0.0.1:8080,就会看到下图所示的结果:</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><img src="https://mmbiz.qpic.cn/mmbiz_jpg/EnE7vpEWFnp4kLfqcKMore2YicDZ0slCJgkbKuSB20LZAsYJbg9Q6s4ict7v2h2an2ZUTvdzxQklM7ZW3JBT7I4A/640?wx_fmt=jpeg&amp;tp=webp&amp;wxfrom=5&amp;wx_lazy=1&amp;wx_co=1" style="width: 50%; margin-bottom: 20px;"></p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">每次刷新浏览器都会打印 ps aux 命令的最新结果!</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">为何</span><span style="color: black;">能够</span><span style="color: black;">这般</span>?</p><span style="color: black;">#!/bin/bash</span><span style="color: black;">while</span>&nbsp;<span style="color: black;">true</span>;&nbsp;<span style="color: black;">do</span>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: black;">echo</span>&nbsp;-e&nbsp;<span style="color: black;">"HTTP/1.1&nbsp;200&nbsp;OK\n\n<span style="color: black;">$($1)</span>"</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">|&nbsp;nc&nbsp;-l&nbsp;-k&nbsp;-p&nbsp;8080&nbsp;-q&nbsp;1;</p><span style="color: black;">done</span>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">由于</span>有一个始终执行的循环<span style="color: black;">运用</span> while true,让 nc 命令<span style="color: black;">连续</span>在端口 8080 监听浏览器请求,每次刷新时,都会执行<span style="color: black;">做为</span>参数传递给 web.sh 的脚本,其结果连同<span style="color: black;">有些</span> HTTP 标头会传递给 nc,后者又会发送给<span style="color: black;">咱们</span>的浏览器。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;">一条简单的命令就<span style="color: black;">能够</span>起到远程监控服务器进程的效果,是不是很方便?<span style="color: black;">不外</span><span style="color: black;">这般</span>并不安全,自己玩玩<span style="color: black;">能够</span>,不<span style="color: black;">举荐</span>生产环境<span style="color: black;">运用</span>。</p>
    <p style="font-size: 16px; color: black; line-height: 40px; text-align: left; margin-bottom: 15px;"><span style="color: black;">倘若</span>有收获,欢迎关注「Python七号」,<span style="color: black;">第1</span>时间接受干活。</p>




星☆雨 发表于 2024-8-29 05:51:48

谷歌外链发布 http://www.fok120.com/

taiker 发表于 2024-8-31 15:13:49

楼主发的这篇帖子,我觉得非常有道理。

流星的美 发表于 2024-9-9 10:11:12

我完全同意你的观点,说得太对了。

听听海 发表于 2024-9-9 14:04:46

感谢您的精彩评论,为我带来了新的思考角度。

4lqedz 发表于 2024-10-1 23:58:03

外链发布论坛学习网络优化SEO。

j8typz 发表于 2024-10-26 18:49:33

你的话语如春风拂面,让我心生暖意。

7wu1wm0 发表于 4 天前

外贸B2B平台有哪些?

wrjc1hod 发表于 7 小时前

你的见解独到,让我受益匪浅,非常感谢。
页: [1]
查看完整版本: Linux:一行代码创建一个可执行命令的 Web 服务器