The PyCodeInjection project contains two main components:
- PyCodeInjectionShell - A tool to exploit web application based Python Code Injection
- PyCodeInjectionApp - A web application that is intentially vulnerable to Python Code Injection
For a more in depth background on what Python Code Injection you can read this post
git clone https://github.com/sethsec/PyCodeInjection.git /opt/PythonCodeInjection
###Extra Step for PyCodeInjectionApp Installation
cd /opt/PythonCodeInjection/VulnApp
./install_requirements.sh
###PyCodeInjectionShell
root@playground:/opt/PyCodeInjection# python PyCodeInjectionShell.py -h
Usage: python PyCodeInjectionShell.py -c command -p param -u URL
python PyCodeInjectionShell.py -c command -p param -r request.file
Options:
-h, --help show this help message and exit
-c CMD Enter the OS command you want to run at the command line
-i Interactivly enter OS commands until finished
-u URL Specify the URL. URLs can use * or -p to set injection point
-p PARAMETER Specify injection parameter. This is used instead of *
-r REQUEST Specify locally saved request file instead of a URL. Works
with * or -p
###PyCodeInjectionApp
root@playground:/opt/PyCodeInjection/VulnApp# python PyCodeInjectionApp.py
https://0.0.0.0:8080/
192.168.81.1:12637 - - [02/Nov/2016 22:02:28] "HTTP/1.1 POST /pyinject" - 200 OK
192.168.81.1:12639 - - [02/Nov/2016 22:02:37] "HTTP/1.1 POST /pyinject" - 200 OK
192.168.81.1:12640 - - [02/Nov/2016 22:02:38] "HTTP/1.1 POST /pyinject" - 200 OK
192.168.81.1:12641 - - [02/Nov/2016 22:02:39] "HTTP/1.1 POST /pyinject" - 200 OK
192.168.81.1:12642 - - [02/Nov/2016 22:02:39] "HTTP/1.1 POST /pyinject" - 200 OK