web安全总结(三)

2021-03-27  本文已影响0人  Hedgehog_Dove

三、因会话管理疏忽引发的安全漏洞

会话管理是用来管理用户状态的必备功能,但是如果在会话挂你上有所疏忽,就会导致用户的认证状态被窃取等后果。

1 会话劫持

会话劫持(Session Hijack)是指攻击者通过某种手段拿到用户的会话ID,并非法使用此会话ID伪装成用户,达到攻击的目的。

具备认证功能的Web应用,使用会话ID的会话管理机制,作为管理认证状态的主流方式。会话ID中记录客户端的Cookie等信息,服务器端将会话ID与认证状态进行一对一匹配管理。

可获得会话ID的方式:

2 会话固定攻击

对以窃取目标会话ID为主动攻击手段的会话劫持而言,会话固定攻击(Session Fixation)攻击会强制用户使用攻击者指定的会话ID,属于被动攻击。

2.1 会话固定攻击案例

例如某个网站,具有认证功能,会在认证前发布一个会话ID,若认证成功,就会在服务器内改变认证状态。

  1. 攻击者准备陷阱,先访问Web网站拿到会话ID。此刻,会话ID还是未认证的状态。
    
  2. 攻击者设置好强制用户使用该会话的陷阱,并等待用户拿着这个ID前去认证。一旦用户触发陷阱并完成认证,会话ID在服务器上的状态变成认证,就会被记录下来。
    
  3. 攻击者等用户触发陷阱后,再利用之前的会话ID访问网站。由于该会话ID已由用户认证,所以攻击者可以冒充真正的用户顺利访问了。
    

3 跨站点伪造请求

跨站点伪造请求(Cross-Site Request Forgeries,CSRF)攻击是指攻击者通过设置好的陷阱,强制对已完成认证的用户进行非预期的个人信息等某些状态更新,属于被动攻击。

跨站点伪造有可能会造成以下影响。

3.1 跨站点伪造请求攻击案例

例如:在某网站,有个留言板,只允许已认证用户留言。

那么,当已认证的用户A正常登陆后,浏览器中的Cookie就会持有一个会话ID。

然后攻击者设置好一个有陷阱的评论信息,比如插入易一张图片

<img src="http://example.com/msg?q=被攻击了啊">

当用户触发陷阱后,会在留言板上留下“被攻击了啊”的留言。

四、其他类型安全漏洞

1 密码破解

密码破解攻击(Password Cracking)即尝试算出密码,突破认证。不仅可攻击Web应用,还包括其他系统,如FTP、SSH等。

一般密码破解有两种方式

1.1 密码试错
1.2 对已加密密码的破解

对已加密密码的破解(攻击者侵入系统,获得加密或散列处理的密码数据)

Web应用在保存时,一般不会直接以明文的方式保存,通过散列做散列处理或加salt的手段对要保存的密码本身加密,那即使攻击者使用某些手段窃取密码数据,如果想真正使用这些尼玛,那么必须先通过解码等手段,把加密处理的密码还原成明文形式。

从加密过的数据中到处明文通常有一下几种方法。

针对密码使用散列函数进行加密处理,采用穷举法或字典攻击相同的收发,尝试用相同的散列函数加密候选密码,然后把计算出的散列值与目标散列值匹配,类推出密码。

彩虹表(Rainbow Table)是由明文密码及与之对应的散列值构成的一张数据库表,是一种通过实现制作庞大的彩虹表,可在穷举法+字典攻击等实际破解过程中缩短消耗时间的技巧。

使用共享秘钥加密方式对密码数据进行加密处理的情况下,如果能通过某种手段拿到加密使用的秘钥,也就可以对密码数据解密了。

利用加密算法本身的漏洞尝试解密。

2 点击劫持

点击劫持(Clickjacking)是指利用透明的按钮或链接做成陷阱,覆盖在Web页面上。然后诱导用户在不知情的情况下,点击链接访问内容的一种攻击手段,又称为界面伪装(UI Redressing)

例如:可以插入以下代码

<ifranme id="target" src="http://sns.example.com/leave" style="opecity:0;filter:alpha(opecity=0)"></iframe>
<button style="position:absolute;top:100;z-index:-1">PLAY</button>

当用户点击PLAY按钮的时候等同于点击SNS的注销按钮

3 DoS攻击

DoS攻击(Denial of Service attack)是一种让运行中的服务呈停止状态的攻击。有时也叫做服务停止攻击或者拒绝服务攻击。Dos攻击的对象不仅限于Web网站,还包括网络设备服务器等。

Dos攻击主要有两种方式:

其中,集中利用访问请求的Dos攻击,单纯来讲就是发送大量的合法请求。服务器很难分辨什么是正常的请求,什么是攻击请求,因此很难做出防范。
多台计算机发起的DoS攻击称为DDoS攻击(Distributed Denial of Service attack)。DDoS攻击通常利用那些感染病毒的计算机作为攻击者的跳板。

4 后门程序

后门程序(Backdoor)是指开发设置的隐藏入口,可不按正常步骤使用受限功能。利用后门程序能够使用原本受限制的功能。

上一篇下一篇

猜你喜欢

热点阅读