
Injects PHP payloads into JPEG images for web application exploitation, bypassing GD library image processing to achieve remote code execution.
Injects php payloads into jpeg images. Related to this post.
You have a web application that runs a jpeg image through PHP's GD graphics library.
This script injects PHP code into a specified jpeg image. The web application will execute the payload if it interprets the image. Make sure your input jpeg is uncompressed!
python3 gd-jpeg.py [JPEG] [PAYLOAD] [OUTPUT_JPEG]
e.g. python3 gd-jpeg.py cat.jpeg '<?php system($_GET["cmd"]);?>' infected_cat.jpeg
PHP code is injected in the null/garbage (brown) space after the scan header:
The new infected jpeg is run through PHP's gd-library. PHP interprets the payload injected in the jpeg and executes it.