前一篇文章说了通过构造Hash冲突实现PHP/Java等语言的拒绝服务攻击,今天看到一篇文章,或许能帮助解答上一篇文章中的遗留问题。现在转过来学习下。原文见:http://www.codinglabs.org/html/hash-collisions-attack-on-php.html
前几天看到公司php群谈到这篇博文通过构造Hash冲突实现各种语言的拒绝服务攻击,说的是在PHP中,使用hash来存储k-v数据, 包括常用的来自用户的POST数据, 攻击者可以通过构造请求头, 并伴随POST大量的特殊的”k”值(根据每个语言的Hash算法不同而定制), 使得语言底层保存POST数据的Hash表因为”冲突”(碰撞)而退化成链表. 这样一来, 如果数据量足够大, 那么就可以使得语言在计算, 查找, 插入的时候, 造成大量的CPU占用, 从而实现拒绝服务攻击. 举个例子:如下代码中:
$size = pow(2, 16); // 16 is just an example, could also be 15 or 17
$startTime = microtime(true);
$array = array();
for ($key = 0, $maxKey = ($size – 1) * $size; $key <= $maxKey; $key += $size) {
$array[$key] = 0;
}
$endTime = microtime(true);
echo 'Inserting ', $size, ' evil elements took ', $endTime - $startTime, ' seconds', "\n";
$startTime = microtime(true);
$array = array();
for ($key = 0, $maxKey = $size - 1; $key <= $maxKey; ++$key) {
$array[$key] = 0;
}
$endTime = microtime(true);
echo 'Inserting ', $size, ' good elements took ', $endTime - $startTime, ' seconds', "\n";
//http://www.laruence.com/2011/12/30/2435.html
运行结果如下:
通行证早办理了,但一直苦于找不到同去的伴儿而没有去。上次去澳门也是一个人去的,计划1月份就离开深圳了,所以得抓紧时间赶紧去香港玩下,所以就选择了2012年的第一天。同样是报团,团购的。签注是L签的(我们那只能办理L签),其实要是想自由行也是很简单的,在口岸直接交50块,找旅行公司之类盖个章,即可。
看到海坡写了2011年年终总结,感觉自己也得来写一写,回忆一下2011.
看其他人的Wordpress站点等都有相关文章,所以自己也弄了个。之前装了个插件,不过感觉不怎么样,如图。
用户体验不好,放在侧边栏去了。于是网上找代码实现相关文章的。本文也是参照这篇文章的,
之前在外刊评论上看到滴这个工具的介绍,感觉还不错。转过来了。有时候用用linux的命令感觉挺方便的。例如在整个目录下搜索某个关键字啊之类的。
下面的就是我的右键菜单。如图所示:
