【软件测试基础】安全测试

本文由小编根据慕课网视频亲自整理,转载请注明出处和作者。

1.安全测试

渗透测试

渗透测试是取得了用户的授权的行为,而黑客的攻击是没有授权的。

完成渗透测试后,需要向用户提交测试结果的报告,黑客在攻击完成之后,会销毁攻击的痕迹。

2.渗透测试 VS 安全测试

区别:

渗透测试着重点在攻击,渗透测试的目的是攻破软件系统,以证明软件系统存在问题。

安全测试的着重点在防御,对整个系统的防御的功能进行一个系统的考虑。

渗透测试的目的是攻破系统,所以只要选择一些薄弱的环节,选择一些点来攻击系统,达到攻破系统的目的就可以了。

安全测试必须从整个的防御面上来考虑系统的安全性。

从难易程度上来说,因为安全测试要考虑的更多,所需要掌握的知识也更多,所以也更加地困难一些。

3.OWASP

Open Web Application Security Project:开放的web应用安全项目。这是针对web应用的最著名的一个安全项目。

OWASP Top 10:每隔几年,OWASP会发布行业上最具有威胁的十大安全漏洞,并且对其进行详细的说明分析。

OWASP2013 Top10:

  • 注入漏洞,一般指SQL注入、脚本注入这样的漏洞。一般是攻击者通过页面的输入来进行巧妙的构造,来达到使系统执行不应该执行的SQL或脚本的功能,达到提高用户权限,从而访问不应该访问的数据的目的。
  • 失效的身份认证和会话管理。比如会话劫持这样的漏洞,用户访问系统的时候,认证的凭据是外部可见的,易于被别人获取的,从而造成用户身份的暴露。
  • 跨站脚本。攻击者通过恶意的手段,构造使用户的浏览器能够执行动态的内容,达到攻击的目的。
  • 不安全的对象的直接引用。比如在URL中,包含了一些参数,比如ID=12345这样的一些参数,如果把参数直接修改为54321可能就能直接的变更页面访问的对象,或者获取其他用户的数据。如果这方面的保护不足,就会造成这样的漏洞。
  • 安全配置错误。比如系统使用的框架、服务,很多框架服务都有默认的密码,对于黑客来说,默认密码都是已知的,如果这些东西不变更,访问时就可以直接使用。比如系统开放了不必要的端口、服务,这样的问题,都是安全配置类的错误。
  • 敏感信息泄露:信息传递过程中,没有对关键信息进行加密,有可能造成信息的泄露。
  • 功能级别的访问控制缺失:比如访问一个网站,能够在内部导航到一个用户没有权限到达的地方,这样的漏洞就属于访问控制的缺失。
  • 跨站请求伪造:网站存在漏洞,攻击者通过外部的一个恶意的网站,在用户访问了一个正常网站的时候,再去访问这个恶意网站,则正常网站的相关凭据可能就会被恶意网站上的代码执行、获取到。
  • 使用了已知的具有漏洞的组件:业界会有非常多的安全漏洞暴露出来,如果这些已知的安全漏洞我的系统也使用了相关的技术,那这些漏洞没有及时地更新,没有及时地打补丁,那这些漏洞就是存在的。如果没有及时地补救,容易造成系统被攻击。
  • 未被验证的重定向和转发:网站如果具有重定向的功能,如果对重定向过来的请求,不对它进行校验,就很有可能被攻击者构造重定向,来转到一些钓鱼网站。
  • OWASP Testing Guide:是指引安全测试人员如何实施安全测试的一个测试指南。

当然,OWASP上还有其他一些安全项目,比如开源的安全工具,还有开发的指南。

安全测试作为比较专业的一种测试类型,也有很多测试工具来提供测试支持。

4.安全测试工具:

  • Appscan:IBM的,针对web应用的漏洞扫描工具。
  • Webinspect:惠普的漏洞扫描工具,和Appscan功能上比较类似。
  • Nessus:非常著名的一款主要针对服务器主机类的漏洞检查工具。有免费版本。
  • Nmap:非常著名的端口嗅探的工具。通过扫描主机来看看开放了哪些端口,可以进行下一步的攻击。
  • MetaSploit:非常著名的攻击框架,包含有大量的插件,可以对目标系统进行检测,还有渗透测试。
  • WebScarab:OWASP开源项目提供的一项工具,是基于代理劫持的分析,来进行工具路径的检测,功能很强大。
  • Fortify:和Webinspct是同一个公司的产品,主要是一个白盒的测试工具,是针对开发的源代码的静态的分析,静态分析出源码中可能存在的问题。
  • W3AF: 开源的安全漏洞扫描工具,也是主要针对web应用的。
原文地址:https://www.cnblogs.com/sophia194910/p/6514706.html