# 测试注意点

  1. 发现问题后最好先思考下问题原因,确认不是因为自己误操作造成的原因,确认不是因为自己误操作造成的问题,再去找研发同事一起调查问题

  2. 在使用第三方库时不能掉以轻心,更不能默认为无缺陷。使用第三方库时,不仅要了解其功能,还要了解它当前的性能是否能满足项目需求,从而全面地进行测试覆盖。

  3. 作为一名优秀的测试人员,一定要匹配“细心”属性、“异想天开”属性、“自动优化工作流程”的属性,从而获得更好的职业发展。

# web浏览器会出现JavaScript加载漏洞

# [扩展知识:JavaScript的加载和执行]

浏览器的渲染线程和JS执行线程是互斥的,并且JavaScript默认是阻塞加载的,页面的下载和渲染都必须停下来等待脚本执行完成。JavaScript执行过程耗时越久,浏览器等待响应用户输入的时间就越长。

  1. 加载

不管是script标签的直接引入的情况,还是src加载的外部资源,都会阻塞页面的渲染。所以一般为了从体验上考虑,我们会将js文件放置在body标签闭合之前。不过新版的IE、Firefox、Safari和Chrome都允许并行下载JavaScript文件。但是只是JavaScript文件可以并行下载,渲染还是被阻塞的,页面仍然必须等待所有JavaScript代码下载并执行完成才能继续。

  1. 执行

每当JavaScript文件加载完成后,都会立刻执行该文件。所以你会看到下一次的请求,并不是在上一次请求结束后立即开始,中间的耗时就是上一次脚本文件的执行时间。

# web浏览器,HTTP Request Header长度限制

HTTP协议没有Header长度做限制,但是各个浏览器分别有不同的限制,所以测试兼容性时要注意

# OWASP TOP 10 - 2020

# top 1 - 注入

  • 常见的注入包括sql注入,os ,ldap 等等,最常见的就是sql注入。

# top 2 - 失效的身份认证和会话管理

  • 登录和注册,是否都使用HTTPS加密,保证了认证过程的安全性
  • 系统所有的URL中没有使用SessionID的地方,不会发生用户截屏时误把SessionID传给第三方黑客的可能性
  • 系统对应存储在浏览器本地的Cookie有过期失效机制,比如,当用户在公用电脑上登录后,却没有进行退出登录操作,这个机制可以有效地防止其他人继续使用该用户的账户进行操作

# top 3 - 跨站程序脚本攻击(XSS)

  • XSS指攻击者利用网站程序对用户输入过滤不足,输入可以显示在页面上对其他用户造成影响的HTML代码,从而盗取用户资料、利用用户身份进行某种动作或对访问者进行病毒侵害的一种攻击方式
  • 已知有三种著名漏洞:1.存储式 ,2. 反射式 ,3.基于DOM

# top 4 - 不安全的对象直接引用

  • 所谓的“不安全的对象直接引用”,是指一个已经授权的用户,通过更改访问时的一个参数,从而访问到原本其并没有得到授权的对象。Web应用程序往往在生成web页面时会用他真实的名字,并不会对所有的目标对象访问时来检查用户权限,所以这就造成了不安全对象直接引用的漏洞

# top 5 – 伪造跨站请求(CSRF)

  • 1.跨站请求伪造CSRF,是利用了网站允许攻击者预测特定的所有细节这一特点。由于浏览器自动发送会话cookie等认证凭证,导致攻击者能够创建恶意的web页面来产生伪造请求。这些伪造的请求很难和合法的请求分开。
  • 2.CSRF听起来像跨站脚本(XSS),但它与XSS不同,并且攻击方式几乎相左。XSS利用站点内的新信任用户,而CSRF则通过伪装来自信任用户的请求来利用信任的网站。
  • 漏洞挖掘:
    • 抓取一个正常的请求的数据包,如果没有Referer的字段和token,那么极有可能存在CSRF漏洞。
    • 如果有referer字段,但是去掉referer字段后在提交,如果提交有效,那么基本可以确定存在CSRF漏洞。
    • 利用工具进行CSRF检测。例:CSRFTESTER等。

# top 6 - 安全配置错误

  • 安全配置错误可以发生在一个应用程序堆栈的任何层面,包括平台、web服务器、应用服务、数据库、架构和自定义代码。攻击者通过访问默认账户、未使用的网页、未安装补丁的漏洞、未被保护的文件和目录等,以获得对系统未授权的访问
  • 这个主要是检查系统会不会存在错误的系统安全配置、系统默认用户以及不必要的服务等
  • 检测场景:应用程序启用或者安装了不必要的安全功能;默认账户名和密码没有修改;应用软件已经过期或易受攻击;应用程序服务器未进行安全配置

# top 7 – 限制URL访问失败(缺少功能级访问控制)

  • 这个漏洞事实上也是与认证相关的,与我们前面提到的top4不安全的直接对象引用也是类似的,不同在于这个漏洞是说系统已经对URL的访问做了限制,单这种限制缺实际并没有生效。常见的错误是,我们在用户认证后显示给用户认证过的页面和菜单选项,而实际上这些仅仅是表示层的访问控制而不能真正生效,攻击者能够很容易的就伪造请求直接访问未被授权的页面
  • 测试方法:1.保证合法授权用户可以访问成功。 2.限制非法未授权用户访问

# top 8 – 未验证的重定向和转发

  • 重定向是在客户端完成的,而转发是在服务器端完成的

# top 9 – 应用一直脆弱性的组件

# top 10 - 敏感信息泄露

版权声明:本文为CSDN博主「阿强成长之路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明

原文链接:https://blog.csdn.net/weixin_45937436/java/article/details/103662224

上次编辑时间: 2020/7/15 上午7:59:03