4.5 密文比对认证测试
4.5.1 测试原理和方法
在系统登录时密码加密流程一般是先将用户名和密码发送到服务器,服务器会把用户
提交的密码经过 Hash 算法加密后和数据库中存储的加密值比对,如果加密值相同,则判
定用户提交密码正确。
但有些网站系统的流程是在前台浏览器客户端对密码进行 Hash 加密后传输给服务器
并与数据库加密值进行对比,如果加密值相同,则判定用户提交密码正确。此流程会泄漏
密码加密方式,导致出现安全隐患。
4.5.2 测试过程
对系统敏感数据加密流程进行测试,判断加密过程或方式是否为客户端加密方式。测
试流程如图 4-38 所示。
图 4-38 密文对比认证测试流程图
步骤一:通过 Burp Suite 工具抓包并根据页面代码分析后证实登录传输口令使用 Hash MD5 加密算法加密。
(1)通过 Burp Suite 工具抓包查看 Web 系统登录提交密码为加密后的密文传输,如图
4-39 所示。
图 4-39 使用 Burp Suite 工具抓包证实 Web 系统登录口令为 MD5 加密传输
(2)通过对页面代码分析得出 Web 系统登录口令加密处理过程是由本地 JS 脚本来完
成的,方式为 Hash MD5 算法加密,如图 4-40 所示。
步骤二:在利用 Burp
Suite 工具进行暴力破解测试配置中添加配置项“Payload
Processing”,将要破解的密码值进行数据处理转换。
(1)在暴力破解 Payload 选项卡 Payload Processing 中单击“Add”按钮,在弹出对话框
中按顺序选择“Hash”及“MD5”并单击“OK”按钮,如图 4-41 所示。
图 4-40 分析得出系统密码加密方式为本地 MD5 算法加密
图 4-41 在 Payload Processing 中配置密码处理类型
(2)Payload Processing 配置完成后单击“Start attack”按钮开始暴力破解测试,通过
Payload Processing 将所有明文密码进行 MD5 转换后进行了暴力破解登录测试并成功破解,
如图 4-42 所示。
图 4-42 通过 Payload Processing 配置成功破解密码
4.5.3 修复建议
将密码加密过程及密文比对过程放置在服务器后台执行。发送用户名和密码到服务器
后台,后台对用户提交的密码经过 MD5 算法加密后和数据库中存储的 MD5 密码值进行比
对,如果加密值相同,则允许用户登录。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论