HackThisSite - Basic Mission 2
Challenge
Network Security Sam set up a password protection script. He made it load the real password from an unencrypted text file and compare it to the password the user enters. However, he neglected to upload the password file...
Sam 设置了一个密码保护脚本,从一个未加密的文本文件中加载真实密码进行比对。然而他忘了上传密码文件。
Solution
这道题考察的是逻辑思维。脚本从文件加载密码来比对用户输入。如果密码文件不存在,脚本就无法加载任何内容来比对。
当你提交一个空密码时,脚本试图将空字符串与一个不存在的文件内容比对——两者都是空值,所以比对通过。
直接在密码框中什么都不输入,点击 submit 即可。
核心知识点:如果密码文件缺失,认证系统可能默认接受任何输入(甚至空输入)。实际部署中应该对文件缺失的情况做防御性处理。