温馨提示×

怎样用linux strings查密码

小樊
41
2026-10-14 06:33:02
栏目: 智能运维

“用 strings 查密码”通常指在 Linux 下用 strings 命令从二进制文件、内存转储、固件或日志中提取可读字符串,再人工查找疑似密码、密钥、Token 等信息。这种方式只能查明文或弱保护的密码,不能破解加密密码。

下面按常见场景说明:


一、基本用法

strings 文件名

提取文件中所有可打印字符串。

strings -n 6 文件名

只显示长度 ≥6 的字符串,减少噪音。

strings -e l 文件名

提取 Unicode(little-endian)字符串,常用于 Windows / 固件。


二、从二进制程序中找硬编码密码

strings /usr/bin/xxx | grep -i -E "password|passwd|pwd|token|secret"

示例:

strings ./app | grep -i password

⚠️ 只能找到:

  • 源码里写死的密码
  • 配置字符串
  • 调试信息

三、从内存中找密码(需权限)

strings /proc/<pid>/maps

先看进程内存区域

gdb -p <pid>
(gdb) dump memory mem.bin 0x... 0x...
strings mem.bin | grep -i password

或用:

strings /proc/<pid>/mem 2>/dev/null | grep -i pass

⚠️ 需要:

  • root
  • 同用户或 ptrace 权限

四、从磁盘镜像 / 固件中找

strings firmware.bin | grep -i -E "admin|root|password|123456"

常见于:

  • 路由器固件
  • IoT 设备
  • 备份镜像

五、结合其他工具更有效

strings file | grep -i pass | less
strings file | awk 'length>8'
binwalk firmware.bin
strings firmware.bin | grep -i secret

六、合法边界(很重要)

✅ 合法:

  • 自己的程序
  • 授权的渗透测试
  • CTF / 安全研究

❌ 非法:

  • 查他人系统密码
  • 未授权取证
  • 破解他人账户

如果你愿意,可以告诉我:

  • 是 自己程序 / CTF / 固件 / 内存
  • 还是想查 Linux 用户密码(/etc/shadow)

我可以给你更精确的方法。

0 踩