大家好,本章节主要与大家分享一下关于Web测试之安全性测试相关知识点。
说起安全性测试,大家肯定非常熟悉,无论怎么样关于系统的安全性的信息随处可见。
案例分析:
例如:媒体报名、网络新闻、或者电影中呈现或者某个黑客攻击了一个系统后出现一些什么漏洞,或者相关的电商网站由于系统漏洞导致用户数据的流失,用户数据的修改等等相关安全性的操作,又或者某个黑客因为对某些公司的不满直接将公司官网首页改变成另一个连接地址这些案例都属于安全性测试范畴内的相关知识点。
可能某些电影场景中报告的安全性知识不一定是真实的,但是相关媒体报道网络受到攻击或者导致用户数据丢失、或者服务器攻击最终导致服务器崩溃这些都是安全性测试中实实在在存在的现象。
安全性测试的任务就是利用安全性测试技术,在产品未被正式发布之前,查找安全性测试的bug,发现安全性漏洞需要对安全性漏洞进行修复,避免漏洞被非常用户进行攻击,这样对服务器或者数据与钱相关的金融数据带来安全隐患,安全性测试的目的就是去发现这些安全性的问题,从而修复安全性测试的漏洞,让用户使用我们的系统更放心更安全。
但是往往安全性漏洞往往不容易发现,也不可能完全发现因为我们的黑客攻击技术过于复杂,无论我们怎么样避免一定要为用户提供服务,一定要开放一些端口需要给用户提供一些输入的界面,非常用户可以通过输入的方式打开80端口扫描的方式或者通过URL地址的参数方式进行SQL注入都有可能给我们的系统注入一些非常的代码。
我们要实施安全性测试的目的是,尽最大努力快速发现系统中安全性测试的漏洞与隐患,然后修改漏洞。
一般程序员在开发一个系统或者写一段代码的时候不知不觉就埋下了一个漏洞,一般程序员不会这么做,但是有时候不小心放置的漏洞只有自己知道,站在测试角度来分析问题就很难发现这些问题。
安全性测试的目的是尽可能地把网络架构层面的有意无意的问题查找出来,对于web系统来说是一个标准的网络协议结构,它是以浏览器为载体的,浏览器相关的安全性漏洞我们需要去发现,网页是用来与用户进行交互的,负面的操作是通过JavaScripts来执行脚本的会绕过界面向服务器发送数据都会存在安全性隐患。
我们在学习安全性测试之前需要具备一定的网络协议、性能测试、接口测试都是基于网络协议而开展,如果我们仅对前端JS进行过滤没有对服务端进行过滤,如果绕开前端直接给服务器发送数据包这时候过滤不会生效,除了服务器也进行了过滤。
例如:给你一个文本框只允许输入数字,JS在浏览器进行了限制,但是服务器端接口未进行限制,这时候用户可以直接绕过前端直接向服务器端发送数据,这样也会存在安全性bug.
安全性测试知识点分类:
认证与授权
例如:用户登录认证的操作,用户登录后的角色所授予的权限,从技术层面没有特别之处,需要登录用户进行登录,程序员在编写程序时一定要意识到安全性的漏洞问题。
Session与Cookie
Session是保存在服务器端的一些文件通过SessionID来保存文件,一般安全性较高问题不大,可以直接对服务器的数据进行读取。
Cookie是保存在客户端的,如果Cookie信息被用户获取到,就会被人利用漏洞对系统进行攻击。
DDOS拒绝服务攻击
不断地向服务器发送请求的情况,占用服务器的连接资源,让服务器的资源消耗完成,无论向服务器正常提供服务的情况叫做DDOS拒绝攻击,这种情况一般比较难防范,一般发送的请求都是正常的,服务器并不知道是DDOS攻击的情况,如果某些资源达到瓶颈系统就会导致瘫痪。
文件上传漏洞
一般用户端向服务器端提交文件时,如果用户传递了一个可执行的文件脚本是一个木马,这样就可以达到攻击服务器的目的。
XSS跨站攻击漏洞
XSS攻击一般对服务器没有影响,对用户会产生影响,例如:网页上存放某个脚本,其它用户操作网站的内容就不小心点击到了对服务器没有影响,通过跨站攻击就可以获取SessionID对网站进行非法操作就是Cookie欺骗。
还有一种情况就是用户模拟了一个钓鱼网站,让我们错误认识是自己的网站,输入一些与钱相关的敏感信息,获取用户的相关数据,容易入侵,从而导致一系列安全隐患问题。
SQL注入
可能通过任何可以输入的地方都能达到SQL注入的目的。
例如:登录框、文件输入框等相关功能都是一种普遍的攻击方式。
暴力破解
我们在不知道用户名与密码的情况下,不停的测试,如果用户名与密码能够猜测成功就能够正常的破解系统达到攻击的方式,这种方式就叫做暴力破解,平时的火车票网站也是属于这种类型的攻击。
总结:今天主要与大家分享相关安全性测试的相关概念及应用场景,根据不同的情景安全性测试漏洞攻击的方式主要包括以上七点,后期针对这七点进行详细阐述,今天的分享就到此结束,下期敬请期待。