Cache篇:操纵HTTP指令举行攻击[网络技术]
本文“Cache篇:操纵HTTP指令举行攻击[网络技术]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
攻击原理 Cache机制不但给服务器处理带来了很大程度的性能晋升,一定程度上,也大大晋升了Web服务供应商应对Get Flood的本领. 用户对网站的拜候,大多被分布的Cache服务器分担了,由于Cache服务器的数目以及Cache的杰出处理吞吐性能,即便发生了Get Flood等攻击,此种机制也可以很好的自身消化掉攻击负载,并且即便单一Cache主机瘫痪也不会对整体Web服务造成影响. 我们可以假定这样一种形势,假如攻击者可以穿过Cache,直接将负载压力转到达后台供应HTTP服务的服务器,将这台机械攻击瘫痪,那么前台的服务器也将因为Cache无法得到更新而服务遭到影响,到达回绝服务的效果. 那么能否有办法可以到达上述效果呢?答案是必定的,那就是通过HTTP指令来到达此种攻击. HTTP协议(v1.1和v1.0)都供应了Cache处理字段,此中字段Cache-Control(v1.0中为Pragma),当这个字段的值为no-cache时,大大都cache软件将不对恳求作出呼应,而直接将恳求传送到后台服务器,操纵这个指令的机制,我们便可以实现我们所要到达的攻击效果. 效果考证 为了考证这种理论上的攻击情势,Coolc架设了简单的利用环境举行考证 正常拜候 而在正常情形下,Squid会在内存Cache中处理全部恳求,可以发现大大都恳求的压力根本无法到达Apache,而直接在Squid消化.以下所示,500个恳求,只有一个到达了Apache,而这个拜候,只是Squid为了到Apache拉取最初始的文件内容造成的. 指令绕过 当Squid在处理拜候时,假如发现特别的标志位后,其将会直接将恳求向后转发,同事将在拜候日记中记为一条TCP_CLIENT_REFRESH_MISS.通过下面试验,我发送了500个带特别标志位的HTTP恳求,直接越过了Cache,而将压力直接加载到后台,下面的后果我们考证了效果. 演示代码: 实际利用 操纵配置问题 在实际利用中的攻击,大概对方网管会采纳作Squid的ACL办法来屏蔽此种攻击,但是实际环境中的攻击种类和办法会越发多样化,比方操纵Squid默许配置中存在的问题,一样可以到达机灵操纵此问题,并具有一定躲藏性. 场景某网管在Squid通过ACL做了no-cache过滤,使得加杂no-cahce的指令无法穿过,但是一样遭到了Cache回绝服务攻击. 攻击原理 Squid的处理方法当返回为404、403时,通过cache处理减轻后台Web系统的负担. 通过程序用GET方法拜候500次不存在的文件“index.html.” 查看squid的日记,cache住了绝大大都恳求. 而实际上传到到Apache上的压力为0,也就是几近没有压力.TCP_NEGATIVE_HIT办理了大大都的负载,招致攻击压力全部不能施加在后台的Web服务器. 从Squid的配置文件里可以看到,Squid关于特别错误的返回也是做了处理的,一样做了Cache. 能否有方法可以绕过cache机制和ACL限制,将近似404压力施加到服务器上?答案时必定的,那就是通过拜候cgi-bin目录下的文件. 通过履行攻击代码我们一样实现了对后台主机的攻击,穿透了Cache. 从日记中可以发现以下痕迹. 实际上造成上述缘由就死活因为默许配置中关于cgi-bin目录做了特别处理,招致关于其放开了Cache的限制. 扩大思绪 当然目前这种攻击方法还仅仅是理论上的攻击,比方攻击代码单线程,攻击IP和特点明显.很简单被辨认并作ACL过滤.但是当我们扩大思绪,假如我们操纵大量的botnet或代理,改变所拜候的文件和HTTP指令内容举行攻击,那么造成的攻击将会越发有威力,并且难以辨认.同时由于攻击负责将直接加载于后台,那么作为防备方的主机资源上风也大打折扣. 防备办法 最简单有效的办法无非是通过SQUID的配置中加载ACL禁用no-cache指令,不过此办法常常只在静态页面的服务器对比简单实现. 如: 总结 实际上HTTP指令的攻击不但仅与此,本身HTTP协议的扩大协议指令一样有很多有待发掘的地方,关于此种攻击思绪,固然Coolc目前还没看到相关的描写,但是个人感受大概在地下组织中,这些思绪早已呈现,乃至已经有了成熟的工具,coolc在这里全当举一反三,但愿对网络安全有爱好的同仁可以同我接洽,共同谈论研究.
以上是“Cache篇:操纵HTTP指令举行攻击[网络技术]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |