2021.11.16 孤尽训练营D22——单元测试与系统安全规约

认识单元测试

单元测试是对软件组成单元进行的测试。其目的时检验软件基本组成单位的正确性。测试对象时软件设计的最小单元:模块,又称为模块测试。

单元测试的AIR原则

  •  A:自动化地关闭、开启单元测试
  • I:每个模块都没有相互的依赖
  • R:如果没有代码的修改、或者功能的添加删除,则该单元测试代码可在后续测试重复利用

单元测试编写的BCDE原则

  • B:Border 边界值测试
  • C:Correct 正确的输入,并得到预期的结果
  • D:Design 与设计文档相结合
  • E:Error 证明程序有错

功能性测试之边界值测试

1、边界点定义

 

2、边界值分析

常用单元测试框架简介

系统安全规约

权限控制之越权访问漏洞

越权访问,简称BAC,被OWASP列为Web应用十大安全隐患第二名

越权访问漏洞防范措施

  1. 前后端同时对用户输入信息进行校验,双重验证机制
  2. 调用功能前,验证用户是否有权限调用相关功能
  3. 执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
  4. 直接对象引用的资源ID要加密,防止攻击者枚举ID,敏感数据特殊化处理
  5. 永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤 

水平越权访问漏洞

是一种“基于数据的访问控制”设计缺陷引起的漏洞

由于服务器端在接收到请求数据进行操作时,没有判断数据的所属人、所属部门而导致的越权数据访问漏洞

防御:增加拦截并对sql语句进行处理

敏感数据处理规约

特殊信息授权、特殊信息脱敏、特殊信息加密存取、特殊信息加密传输

数据脱敏是“指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证 、手机 、卡 等个人信息都需要进行数据脱敏。

数据脱敏重要原则:

  • 保持原有数据特征
  • 保持数据之间的一致性
  • 保持业务规则的关联性
  • 多次脱敏之间的数据一致性

SQL注入攻击防御

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令

防御手段:

  • 过滤危险字符
  • 使用预编译语句:JDBC PrepareStatement

SQL注入漏洞场景:

使用$直接拼接;模糊查询like后的参数;in之后的参数

 XSS防御:

输入过滤:过滤、!等

编码转换:HTML实体编码、JS编码

Cookie安全策略:HttpOnly

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91337 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月14日
下一篇 2021年10月14日

相关推荐