我正在使用的服务器上正在运行一个进程,很多人都可以访问。
当我执行 top 时,我发现它占用了约 99% 的 CPU。
我ps aux
可以看到有问题的命令是:
python -c import pty;pty.spawn("bash")
我读了文档,他们说
pty.spawn(argv[,master_read[,stdin_read]])
生成一个进程,并将其控制终端与当前进程的标准 io 连接起来。这通常用于迷惑那些坚持从控制终端读取的程序。
master_read 和 stdin_read 函数应该是从文件描述符读取的函数。默认情况下,每次调用它们时都会尝试读取 1024 个字节。
但我不明白为什么有人会这样做。为什么有人会使用 shell 来调用 python 来生成 shell?为什么它会占用这么多 CPU?
我是不是错过了什么或者我需要一杯咖啡?
基本上,我想知道这个进程实际上用 99% 的 CPU 在“做什么”,这样我就可以决定是否要终止它(记住,不仅仅是我一个人在这么做)。
我不是系统管理员。我是‘那些’只知道足够多知识的开发人员之一。
我不太清楚如何进一步深入研究这个问题-有什么想法吗?
编辑:漏洞利用是此类命令的唯一用途吗?同样,很多人都可以访问此框。难道它没有合法用途吗?有什么方法可以区分两者吗?