MST

星途 面试题库

面试题:Redis EVALSHA命令实现中的常见安全风险有哪些

在使用Redis EVALSHA命令时,通常会面临哪些可能影响系统安全的风险,请简要阐述。
32.9万 热度难度
数据库Redis

知识考点

AI 面试

面试题答案

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