Time: 2019-11-14  百度网盘

安全测试培训PPT-安全开发知识

  6.1 安全开发过程

安全开发过程

  6.2 安全功能设计_验证机制安全

  限制密码强度

  自我注册及密码修改时强制要求强密码;

  若被分配默认密码,第一次登陆时要求用户修改密码;

  防止暴力破解

  登录错误时,错误提示不可具体到错误项;

  设置验证码;限制错误尝试次数;

  找回密码机制

  问题设置应不可枚举;

  相关手机号及邮箱应为注册时所填,不能在找回密码时填写;

  收到的验证码应有随机性、有时效限制、及尝试次数限制;

  用户凭证传输

  使用post传输;不可回传;

  加密传输,使用加密算法(RSA)或https传输;

  前端加密相关代码需做混淆处理,避免被反编译;

  6.2 安全功能设计_验证机制安全

  修改密码:

  限制密码强度;必须先验证原始密码;旧密码尝试次数限制;

  密码存储:

  密码需加密存储,不可使用纯散列算法(如md5)加密,需加salt;

  业务流中的身份验证:

  不可通过http头中referer、host,或post数据中userid或step id

  等数据来断定当前用户身份或阶段是否合法;

  6.2 安全功能设计_会话管理机制安全

  要求:

  令牌具备随机性、不与生成时间、IP、用户凭证相关联;

  用户登录后,应用程序应为其分配新的会话令牌;

  登录应用后,长时间未操作,强制用户重新登录;

  不可在url中传输会话令牌;

  关键业务中需判断referer值,只允许接受来源为本网站的请求;

  6.2 安全功能设计_访问控制机制安全

  设置合理的访问控制:

  不同类型的用户分配不同的角色:管理员、审计员、普通用户;

  垂直访问控制:

  a、低权限账户不可访问高权限账户特有数据和功能;

  b、不可通过修改http报文中参数来越权访问;

  平行访问控制:

  a、禁止用户访问同级的其他用户的特有数据和功能;

  b、不可通过修改http报文中参数来越权访问;

  c、若某资源url中id来标识,则资源id不可预测,不可通过遍历可能

  的id号来获取其它资源;

  上下文访问控制:

  多阶段任务中每一阶段都要做访问控制;

  6.2 安全功能设计_日志安全

  日志信息记录全面:

  记录针对登录事件或重要业务事件,事件、来源IP、时间、数据、是

  否成功等;

  异常日志及时报警:

  异常登录事件、异常业务;

  6.3 安全编码_验证输入

  对所有输入数据进行检查、验证及过滤

  输入源举例:

  a、命令行:参数数量、数据格式、内容);

  b、环境变量:环境变量可能超出期望,格式可能存在危险);

  c、文件:不可信任可被不信任用户控制的文件,不可信任临时文件);

  d、网络:网络来源高度不可信;

  验证时机:

  最初接受数据及第一次使用该数据时

  6.3 安全编码_SQL注入漏洞

  防御方法:输入白名单;参数化查询;

  注意:非法字符过滤方式不可完全防止sql注入,且有可能影响应用功能;

  参数化查询举例:

等级保护资讯网

  6.3 安全编码_跨站脚本漏洞(XSS)

  防止跨站脚本漏洞

  1、输入白名单;

  2、转义:数据在前端页面显示前,使用html编码转义,使得浏览器

  将数据作为纯数据显示,而不是作为脚本执行。

防止跨站脚本漏洞

18933931888

工作时间:法定工作日,9:00~18:00

广州万方计算机科技有限公司 ©版权所有 2019-2020 粤ICP备08124637号

本站文章内容部分来源于网络转载,版权归作者所有。文章内容仅代表作者独立观点,不代表本站立场,转载目的在于传递更多信息。如有侵权,请联系删除。