看到有人未使用环境变量

看到有人未使用环境变量

假设我以以下身份登录鲍勃举办服务器.然后我这样做:

export MYSEC='secret'

假设 Alice 可以访问同一主机并且还具有 sudo 权限。

Alice如何看到MYSEC的值?

注意:假设 Bob 从未关闭会话,因此值保留在那里,我们允许 Alice 工作

答案1

Alice 转储 Bob 正在运行的 shell 进程的内存,在十六进制编辑器中打开转储,查找 MYSEC,然后查看值。

使用过和未使用没有关系。

答案2

抓取内存是哇哇哇事情变得过于复杂。只需在 中查找/proc/<pid>/environ任何<pid>由他设置了感兴趣的环境变量的所有者bob,它就会被删除。该文件中的条目默认以 NULL 分隔;出于显示目的,cat /proc/<pid>/environ | tr '\0' '\n'建议使用 。

答案3

好吧,对于那些对如何做到这一点感兴趣的人来说:

Alice 登录并搜索 Bob 的 Bash 会话的 PID。

假设是 34232。

然后 Alice 将其内存转储如下:

gdb -p 34232
gcore memory_dump.bin
quit

现在使用以下方式打开文件vim并搜索变量的名称。该操作会重复多次。只需点击n直到找到它。

相关内容