试题二(15分)
阅读下列说明,回答问题1至问题3。
【说明】
某电商网站在一次安全检测中发现存在多个安全漏洞:
1. 用户登录页面存在SQL注入漏洞,攻击者可以通过构造特殊的登录表单,绕过身份认证直接登录后台。
2. 商品评论功能存在XSS跨站脚本漏洞,攻击者可以在评论中注入恶意JavaScript代码,窃取其他用户的Cookie。
3. 用户上传头像功能没有限制文件类型,攻击者可以上传WebShell脚本文件,获取服务器控制权。
4. 网站管理员后台使用默认口令admin/admin,且没有开启登录失败次数限制。
【问题2】(6分)请针对每个漏洞给出具体的修复方案。
参考答案1. SQL注入修复:使用参数化查询(预编译语句),对用户输入进行严格过滤和校验,使用最小权限的数据库账号。
2. XSS修复:对用户输入和输出进行HTML转义,设置Cookie的HttpOnly属性,使用CSP内容安全策略。
3. 文件上传修复:限制上传文件类型和大小,对上传文件重命名并存储在非Web可执行目录,对图片进行二次处理。
4. 弱口令修复:强制修改默认口令,设置密码复杂度要求,开启登录失败次数限制和账号锁定。