linux从变量中获取最小值,linux – 从内存中读取变量

root总是可以(几乎所有的值总是)读取进程内存,因此无论它是如何存储的,都可以提取它(即使密码被发送到安全的存储设备,如智能卡,总会有一个小窗口, iButton或TPM硬件).

在您的示例中,PASSWD将存储在本地变量中.进程的环境变量存储在/ proc / PID / environ中,可由该用户或root读取:

[choad ~]$read -s -p "password: " PASSWD; echo

password:

[choad ~]$echo $PASSWD

soopersekrit

[choad ~]$ls -al /proc/self/environ

-r-------- 1 michael michael 0 May 6 14:46 /proc/self/environ

[choad ~]$grep PASSWD /proc/self/environ

[choad ~]$export PASSWD

[choad ~]$tr '\000' '\n' < /proc/self/environ | grep PASSWD

PASSWD=soopersekrit

[choad ~]$echo $$

19613

[choad ~]$gdb -p 19613

(gdb) info proc mappings

0x91f2000 0x9540000 0x34e000 0 [heap]

(gdb) dump memory /tmp/bash.mem 0x91f2000 0x9540000

[choat ~]$strings /tmp/bash.mem |grep ^PASSWD

PASSWD=soopersekrit

PASSWD=soopersekrit

N.B.:某些发行版启用了Yama的ptrace_scope限制,这些限制会阻止附加到同一用户拥有的任意进程.

N.B.:最谨慎的是通过命令行传递密码.没有什么可以作为全世界都无法知道的论点.命令行不受保护.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值