面试题答案
一键面试- 脚本注入风险:
- 如果在生成脚本SHA1值之前,脚本内容受外部不可信数据影响,可能导致恶意用户注入额外的Redis命令。例如,原本的脚本是对某个键进行操作,但恶意注入后可能执行删除大量关键数据的命令。
- SHA1值管理风险:
- SHA1值泄露:若SHA1值被恶意获取,攻击者可能在不知情的情况下执行恶意脚本。因为Redis仅验证SHA1值,不关心脚本实际内容。
- SHA1值更新不同步:如果脚本更新,但部分客户端未及时更新对应的SHA1值,可能出现旧的SHA1值被误用于执行新脚本,导致行为不一致甚至安全问题。
- 权限相关风险:
- 高权限运行风险:如果Redis以高权限运行,且恶意脚本通过EVALSHA被执行,可能对服务器系统造成严重破坏,如删除系统文件等。因为恶意脚本可能利用Redis运行权限进行系统层面的恶意操作。