小猿圈Web安全性测试详情

作者 : 开心源码 本文共3354个字,预计阅读时间需要9分钟 发布时间: 2022-05-12 共137人阅读

相信对于互联网大家都已经不陌生了吧,现在有很多年轻人对于IT技术已经很理解,并且正在学习的也有很多,web安全就是其中的一种,今天小猿圈web安全讲师就为大家讲解一下Web安全性测试详情。

安全性测试主要是指利用安全性测试技术,在产品没有正式发布前找到潜在漏洞。找到漏洞后,需要把这些漏洞进行修复,避免这些潜在的漏洞被非法客户发现并利用。像我们测试中找软件产品bug一样,安全漏洞也是很难完全避免的。

黑客攻击技术会层出不穷,而无论怎样样,我们所做的web网站肯定是需要对客户提供少量服务,会开放少量端口,甚至给客户提供少量输入的界面,而这些方面都有可能成为漏洞的载体。还有一个主要起因是由于程序员在开发过程中很可能会埋下一个漏洞,或者者人为的安全性漏洞,都是需要我们去避免的。

对于web系统来说,它是一个标准的网络结构的系统,所以跟协议有关的漏洞我们需要去避免,其次它是通过浏览器为载体的,浏览器层面的漏洞我们需要去注意。一般是使用网页与客户进行交互,而网页有很多操作可以通过JavaScript来进行的,我们很有可能直接绕开这个界面,直接给服务器发数据包。比方:目前商城测试中某文本框,只能输入不大于20字,那么javascript在文本框的输入数据字数进行限制,但是在服务器没有进行限制,我们直接发多于20字的文本到服务端,服务端可以照单全收,这也是个问题。

具体来说,安全性测试主要包括以下几个部分内容:

认证与受权

Session与Cookie

DDOS拒绝服务攻击

文件上传漏洞

XSS跨站攻击

SQL注入

认证与受权

尽量避免未被受权的页面可以直接访问,应该对每个页面都有一个session变量的判断。假如没有判断只需客户知道URL地址就能进行访问。

测试方法:

在不登陆的情况下,使用绝对URL地址对页面进行访问,是否正常访问,绝对URL地址直接通过httpwatch对每个请求进行获取。

Session与Cookie

Http是一种无状态性的协议,这种协议不要求浏览器在每次请求中标明他自己的身份,每次发个请求回个响应就可,那怎样校验发请求的人的身份呢?这就催生了Cookies。

本质上Cookies就是http的一个扩展,有两个http头部是专门负责设置和发送cookies的(Set-Cookies,Cookies)当服务器返回给用户端一个http相应的时候,其中假如包含Set-Cookies这个头部,就意味着让用户端建立cookie,并且在后续的请求中自动发送这个cookies到服务器,一直到这个cookie过期。

Session,最简单的针对session的攻击就是跨站请求伪造。关键点是如何不让攻击者获取到sessionid,而后假装成正常访问者,但是从理论上来说这是不能绝对实现的,我们只能通过不同的手法添加攻击者获取sessionid的难度,有三种方法:

验证请求头中的数据,比方验证User-Agent的变化;

添加token校验;

利用get.post.cookie等不同的传输方式来传递sessionid和token等添加攻击者获取难度。

我们应避免保存敏感信息到cookie文件中,cookie的保存可以提高客户的体验。

作用域:不同应用系统不同作用域。

DDOS拒绝服务攻击

分布式的拒绝服务式攻击(攻击服务器的电脑分布在不同地方,向服务器发送请求)的两种方式:

1)使用肉机

通过设置木马让很多电脑受远程控制,帮忙执行病毒程序,服务器防火墙无法通过封锁IP的方式进行解决,唯一的处理办法就是服务器够强大。

2)形成攻击联盟

很多人联合起来对同一个网站发起攻击,对网站流量形成肯定压力,对同一网站造成伤害。

常规的防御方法:

1)确保服务器的系统文件是最新的版本,并及时升级系统补丁;

2)关闭不必要的服务;

3)限制同时打开的SYN半连接数目,缩短SYN半连接的time out 时间,限制SYN/ICMP流量;

4)正确设置防火墙;

5)认真检查网络设施和主机/服务器系统的日志,只需日志出现漏洞或者是时间变更,那这台机器即可能遭到了攻击;

6)限制在防火墙外与网络文件共享,这样会给黑客截取系统文件的机会,主机的信息暴露给黑客,无疑是给了对方入侵的机会;

7)充分利用网络设施保护网络资源;

8)用足够的机器承受黑客攻击;

9)检查访问者的来源。

文件上传漏洞

文件上传漏洞,可以利用WEB上传少量特定的文件。一般情况下文件上传漏洞是指客户上传了一个可执行的脚本文件,并通过此脚本文件取得了执行服务器端命令的能力。文件上传本身是web中最为常见的一种功能需求,关键是文件上传之后服务器端的解决、解释文件的过程能否安全。

? ? 文件上传漏洞产生起因主要是缺少必要的校验。关于上传测试点:

? ? 1. 上传文件能否有格式限制,能否可以上传exe文件。

? ? 2. 上传文件能否有大小限制,上传太大的文件能否导致异常错误,上传0K的文件能否会导致异常错误,上传并不存在的文件能否会导致异常错误。

? ? 3. 通过修改扩展名的方式能否可以绕过格式限制,能否可以通过压包方式绕过格式限制。

? ? 4. 能否有上传空间的限制,能否可以超过空间所限制的大小,如将超过空间的大文件拆分上传能否会出现异常错误。

? ? 5. 上传文件大小大于本地剩余空间大小,能否会出现异常错误。

? ? 6. 关于上传能否成功的判断。上传过程中,中断,程序能否判断上传能否成功。

? ? 7. 对于文件名中带有中文字符,特殊字符等的文件上传。

? ? 8. 上传漏洞拿shell。

? ? 9. 直接上传asp.asa.jsp.cer.php.aspx.htr.cdx….之类的,拿到shell。

? ? 10.在上传时在后缀后面加空格或者者加几点,例:*.asp ,*.asp..。

? ? 11.利用双重扩展名上传例如:*.jpg.asa格式(也可以配上第二点一起利用)。

? ? 12.gif文件头欺骗。

? ? 13.同名重复上传。

XSS跨站攻击

跨站脚本攻击(Cross Site Script,简称为XSS)指的是恶意攻击者往Web页面里插入恶意html代码,当客户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意客户的特殊目的。比方:某个页面上有个广告,网址是xxxx.taobao.com,你点击进去,发现是淘宝的购物网站,而后进行购买,其实他会重定向到另一个攻击者自己的网站,在购买的时候,使用的是攻击者的接口进行付款,很可能就会被盗取个人信息及财产等。

? ? 对于跨站漏洞,我们主要看代码里对客户输入的地方和变量有没有做长度和对”<”,”>”,”;”,”’”等字符能否做过滤,还有要注意的是对于标签的闭合等,完善的输入检查是预防XSS的重要措施。

SQL注入

SQL注入是一种安全漏洞。攻击者之所以可以利用自己输入的数据来达到攻击网站的目的,起因就在于SQL语言作为一种解释型语言,它的数据其实是由程序员编写的代码和客户提交的数据共同组成的。正是这个起因,攻击者可以构造对自己有利的数据,利用网站的少量SQL漏洞来达到恶意的目的。

SQL注入,就是指攻击者将恶意的字符串或者者语句等信息作为参数输入,服务器在验证这个字段的时候,读取攻击者输入的数据,将其作为正常的值参加SQL语句的查询,假如攻击者输入了一个字符串,在SQL语句执行之后,可以导致删除表等操作,对于一个应用来说,影响是很大的。

SQL注入一般会出现的地方:

含有输入数据表单的页面(登录界面、查询界面、反馈界面等),即便是hidden的表单也有可能存在这个问题。

含有客户信息、ID等的URL,可以操作ID后的参数数据。

SQL注入的方法措施:

从测试人员角度来说,在需求阶段时,我们就应该有意识的将安全性检查应用到需求测试。例如对一个表单需求进行检查时,我们一般检验以下几项安全性问题:需求中应说明表单中某一field的类型、长度以及取值范围(主要作用就是禁止输入敏感字符)。需求中应说明假如超出表单规定的类型、长度以及取值范围的,应用程序应给出不包含任何代码或者数据库信息的错误提醒等。

以上就是小猿圈web安全讲师对于Web安全性测试详情,希望对你学习web安全有肯定的帮助,你刚开始看的时候肯定会很懵,但是相信我只需坚持努力地学习,多看多练,遇到难题不会的可以到小猿圈官网看看。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 小猿圈Web安全性测试详情

发表回复