电商网站安全应对之道
一、预防逻辑漏洞
- 进行业务流程梳理
- 接口会发加签名和超时机制
- 避免通过前端进行验证和现在
- 减少暴露给用户的参数
- 增加共享数据互斥机制
- 不要相信用户输入
- 检查用户输入
二、预防越权操作
- 任何涉及用户权限的操作均匀会话关联
- 参数的加密及模糊化
- 严格验证程序逻辑顺序:1 -> 2 -> 3 就绝对不能 1 -> 3
三、预防金额篡改
- 减少前端金额参数的输入
- 将价格与商品编号关联
- 服务端严格限制金额、数量的类型及范围
- 对金额进行校验
四、预防SQL注入
- 使用预编译,绑定变量
- 使用存储过程
- 使用ORM框架,并遵守官方开发规范
- 检查数据类型
- 全局过滤特殊SQL字符和语句
- 使用waf进行拦截
五、XSS的防御
- 输入检查:过滤危险字符
- 输出检查:转义,编码
- 正确的防御跨站:不同情况采用不同编码
- HTML标签属性输出:HTML编码
- <script>标签事件:javascript编码
- HTML标签链接属性输出:url编码
- 使用cors、httponly、csp
- 富文本情况:使用白名单或黑名单机制,不允许用户使用危险的标签
常见可触发JS的标签
- <applet>
- <body>
- <embed>
- <frame>
- <script>
- <frameset>
- <html>
- <iframe>
- <img>
- <style>
- <layer>
- <link>
- <ilayer>
- <meta>
- <object>
六、预防上传攻击
- 服务端检测(MIME类型检测)
- Content-Type
- 服务端检测(文件扩展名检测)
- 黑名单\白名单
- 服务端检测(目录路径检测)
- 服务端检测(文件内容检测)
- 标识符检测GIF等
- 二次渲染
七、预防撞库攻击
- 验证码
- IP限制
- 控件
- 不返回唯一性特征给前端
- 减少不同机制的登录接口
- 强制要求密码复杂度
八、预防内网渗透以及社会工程学攻击
- 安全域划分以及网络隔离
- 资产的收集和梳理
- 上线前安全加固和渗透测试
- 内网补丁管理
- 常态化安全扫描
- 其他安全管理相关
- 提高综合安全意识
Copyright © 2018 Ansel. All rights reserved.