| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 孤尽T31之单元测试与系统安全规约 -> 正文阅读 |
|
[开发测试]孤尽T31之单元测试与系统安全规约 |
1.1单元测试定义 ?????? 单元测试是对软件组成单元进行的测试,其目的是检验基本单元的正确性。单元测试对象是软件设计的最小单元称为模块,所以又叫模块测试。 整个测试阶段分为单元测试、集成测试、系统测试三步骤,其范围从小到大。 1.2单元测试的原则 原则一:AIR原则 ?????? 本原则是指可重复性(Repeatable)、独立性(Independent)、自动化(Automatic) 原则二:BCDE原则 指测试满足B(Border)边界测试; C:Correct正确的输入,得到预期的结果; D:Design与设计文档相结合 E:Error证明程序有错 边界值测试 ?????? 需要先定义边界点和边界值,其中在边界上的称为上点,在区域范围之内的为内点;在边界之外的为离点。 1.3常用的单元测试框架 maven构建单元测试 ?????? maven使用插件来实现单元测试执行,可以配置对应执行哪些,不执行哪些。 并且Jacoco插件可以统计代码测试覆盖率统计。
2.1权限控制 ?????? 越权访问漏洞 ?????? 越权访问(Broken Access Control,简称BAC),是web应用程序中一种常见的漏洞,由于其存在范围广、危害大,被OWASP列为web应用十大安全隐患的第二名。 根据越权的方向可分为垂直越权和水平越权。 ?????? 越权访问漏洞防范措施 ?????? 包括有1.前后端同时对用户输入信息进行校验,双重校验机制 ?????? 调用功能前,验证用户是否有权限调用相关功能 ?????? 水平越权是一种“基于数据的访问控制”设计缺陷引起的漏洞。 由于服务器端收到请求数据进行操作时,没有判定的数据的所属人/部门而导致的水平越权。 ?????? 所以需要对比较敏感数据进行数据操作范围进行控制。 ?????? 使用一个数据拦截器DataScopeInterceptor 定义一个DataScope 来设置控制数据控制范围的字段信息。通过拦截原始sql,在基础上包装为新的sql来执行,这样来防止水平越权。 2.2敏感数据处理规约 ?????? 敏感信息处理 敏感信息脱敏 ?????? 脱敏的重要原则 ?????? 脱敏时需要保持原有数据特征、保持数据之间的一致性、保持业务规则的关联性、多次脱敏之间的数据一致性。 敏感数据脱敏之日志脱敏 ?????? 日志进行脱敏时使用指定日志转换器,配置在logback-spring.xml , 在转换器内定义转换规则,包括匹配规则,转换规则定义。 敏感数据存储与获取加密 ?????? 一种处理方案是:存储的时候可以在mybatis中的paramterHandle以及ResultHandler处理器中增加拦截器处理。 另外一种方案是在JDBC的ResultSet对象进行拦截器进行加密、解密来实现数据脱 敏。 实现案例: ?????? 基于sql的加密拦截器 ?????? 获取到数据字段时进行匹配是否为敏感字段,如果是进行加密处理 SQL注入攻击 ?????? SQl注入攻击是通过sql命令插入到web表单提交或者输入域名或者页面请求的查询字符串,最终达到欺骗服务器。 mybatis框架sql注入 ?????? 在使用$时可能会被注入攻击,必须使用#防止 在in之后的参数不管使用$还是#都可能存在,必须使用分离 XSS跨站点脚本攻击 ?????? XSS跨站脚本攻击()发生在客户端,可被用户进行隐私,钓鱼欺骗,偷取密码,传播恶意代码等行为。 后端应用防备XSS攻击 ?????? 编写过滤器来防止攻击,对请求参数、json进行过滤处理,这样防止XSS攻击。 重放攻击案例:短信服务接口未做防重功能,造成用户持续手段短信。 防重处理:可以增加时间戳节点、一次性编码,可以将相关的参数进行hash编码后进行防止重复。 比较稳妥的办法是:增加时间戳+hash一次性有效性来防止重复 使用Sentinel实现API接口防止刷 包括使用限流、熔断等来防止 熔断 关键资源防刷流程 判定是否为关键资源 获取风控等级,高等级时进行提升验证码进行风控防刷处理。 |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/18 4:33:10- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |