- 重放数据包无限请求
- 用户名枚举
- 登陆认证绕过
- 验证码爆破、重放、可控
- 短信、邮箱轰炸
- 邮箱篡改
- 任意用户注册
- cookie仿冒
- 会话固定
- 验证码不得低于6位
- 验证码验证后立马失效
- 手机、邮箱注册用户需要验证码
- 所有登陆界面都需要验证码
- 所有校验必须在后端
- 不论用户存在与否不回显明确信息
- 积分、优惠券等操作限制次数防止重放
- 限制短信、邮件的发送频率
- 业务流程的每一步都需要进行身份验证
- 图形验证码需要变形干扰增加复杂度
- 交易操作严格校验数据防止溢出或负数值
- Cookie中不存放敏感信息,不同会话使用不同Cookie
- 位置因素:常登陆的IP地址、地理位置等
- 生物特征因素:语言、指纹、面部特征、虹膜等
- 口令密钥:密码、PIN码、TAN码(交易验证码)、密钥等
- 拥有因素:身份证、钥匙、U盾、磁卡、安全令牌、智能手机等
- 规定口令策略,强制验证用户输入口令的强度
- 测试账号、默认账号不使用弱口令,系统默认账号需要一人一密
- 登陆错误次数限制、登陆界面设置验证码,且验证码不易识别,不能被绕过
- 维护一张弱口令表,弱口令表中的口令禁止使用
- 数据库密码存储应该不可逆,采用存储hash值的方式
- 密码长度不低于8位,密码必须含有字母大小写数字和特殊字符
- 不使用有规律的密码,如:1qaz@WSX、123!@#qwe、P@ssW0rd等
- 不同网站需要使用不同密码
- 不将密码写在记事本、便条或明文保存在电脑中
- 不使用姓名、生日、工号等明显信息作为密码
- 避免使用浏览器记住密码功能
注:在此基础上可以增加密码使用期限,如一段时间内需修改一次密码等方式加强口令策略
- 不暴露任何用户不需要的信息
- 网站部署注意隐藏源码信息
- 下线的功能、接口,需前后端同步删除
- 网站日志需要写入用户无法访问的目录
- 程序发生错误需要有统一的错误处理页面
- 物理路径、系统版本等信息需要进行保护
- 网站的备份文件不能存放在用户可访问目录
- 前端代码需要进行混淆或者压缩处理,不留注释信息
- 敏感信息如手机号,身份证号,银行卡号隐藏显示
- 控制好源代码信息公司代码上传到github等平台
- 文件上传:上传可执行代码文件、上传前端静态文件、覆盖重要文件
- 文件下载:下载系统配置文件、下载系统源码、下载敏感信息文件
- 文件修改:破坏系统重要文件、修改系统源码、修改系统配置
- 文件删除:删除系统重要文件、删除安装锁定文件
文件上传
- 类型判断:根据扩展名判断、使用白名单进行校验、严禁完全依赖文件头和ContentType
- 重命名:防止文件名的截断、使用GUID等随机文件名、避免文件路径的回显
- 不解析:上传至单独的文件服务器、上传至用户无法直接访问或者不解析目录
文件下载
- 文件ID操作:通过文件ID读取路径进行下载
- 数据过滤:通过过滤“../”等特殊字符防止目录穿透
- 类型判断:判断文件扩展名,尽量使用白名单
- 权限校验:对WEB权限进行校验,采用最小权限原则
- SQL注入
- OS命令注入
- XML实体注入
- LDAP注入
- Xpath注入
- 注入漏洞是通过欺骗解释器来进行攻击的,能够做到任何解释器能够做到的内容
- 注入漏洞是常年漏洞榜首,特别是SQL注入漏洞,业务中离不开和数据库的交互,也就大大提升了SQL注入发送的概率
- 在使用原生JDBC时能够使用参数化查询的位置必须进行参数化查询
- 使用orm框架严格按照开发标准,自定义sql语句需要进行参数化查询
- 严禁直接使用dba权限账户作为网站数据库账户
- 限制用户的输入,如果明确参数类型,需要对参数进行格式化
- 只能采用过滤的方式尽量采用白名单,黑名单很可能被绕过
- 数据的二次使用也需要注意注入问题
- 避免向客户端响应详细的错误消息,防止攻击者里有报错信息来判断后台SQL的拼接形式
- 未授权访问:某些系统或者某些功能点,没有经过身份认证可直接被访问者使用,如果系统中存在敏感数据很可能造成数据泄露
- 垂直越权:虽然对用户身份进行了认证,但是在用户角色使用权限上没有进行严格划分,导致低权限用户可以使用高权限用户的功能
- 水平越权:用户角色或者身份已经经过验证,但是同一角色之间的用户在数据访问上未做限制,导致可以访问其他用户信息
- 未授权访问:核查系统或组件的默认配置是否进行身份认证;不引入不安全的配置、导致身份认证失效、开发测试环境同样需要身份认证;API接口同样需要全面的身份认证
- 垂直越权:基于角色的权限控制(RABC);建立统一的权限控制功能,可以通过url、接口等形式;统一身份认证系统需要对用户角色权限进行控制
- 水平越权:查询和用户相关的信息需要与用户身份进行关联;敏感信息的唯一标识需要足够随机化
定义:跨站脚本漏洞,又名XSS漏洞,程序开发的工程中对用户输入的数据未做过滤、使得恶意攻击者可以往Web页面里插入恶意js脚本代码、当用户浏览存在恶意脚本的页面时,恶意脚本执行窃取了用户敏感信息
编程建议:ESAPI(OWASP Enterprise Security API)是一个免费开源的,web应用程序安全控制库
原文链接:https://blog.csdn.net/qq_39560975/article/details/126868545
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18071