Linux:一行代碼創(chuàng)建一個可執(zhí)行命令的 Web 服務(wù)器
如果你想讓系統(tǒng)更加安全,那可能要花費很多時間,相反,如果你想讓系統(tǒng)不安全,那就是分分鐘的事情,本文分享一個不安全的方式在 Linux 上快速建立一個 Web 服務(wù),它可以將 bash 指令的執(zhí)行結(jié)果返回給前端,提醒一下,千萬別在生產(chǎn)環(huán)境使用。
首先編寫這樣一行代碼,保存為 web.sh
然后添加可執(zhí)行權(quán)限:
執(zhí)行這個腳本,給他一個命令參數(shù),比如 ps aux:
打開瀏覽器,輸入網(wǎng)址 http://127.0.0.1:8080,就會看到下圖所示的結(jié)果:
每次刷新瀏覽器都會打印 ps aux 命令的最新結(jié)果!
為什么可以這樣?
因為有一個始終執(zhí)行的循環(huán)使用 while true,讓 nc 命令持續(xù)在端口 8080 監(jiān)聽瀏覽器請求,每次刷新時,都會執(zhí)行作為參數(shù)傳遞給 web.sh 的腳本,其結(jié)果連同一些 HTTP 標(biāo)頭會傳遞給 nc,后者又會發(fā)送給我們的瀏覽器。
一條簡單的命令就可以起到遠(yuǎn)程監(jiān)控服務(wù)器進(jìn)程的效果,是不是很方便?不過這樣并不安全,自己玩玩可以,不推薦生產(chǎn)環(huán)境使用。