Nginx 0.6.x - Arbitrary Code Execution NullByte Injection
Author: Neal Poole
type: webapps
platform: multiple
port:
date_added: 2013-04-19
date_updated: 2013-04-19
verified: 1
codes: OSVDB-92634
tags:
aliases:
screenshot_url: http://www.exploit-db.com/screenshots/idlt25000/screen-shot-2013-04-18-at-24716-pm.png
application_url: http://www.exploit-db.comnginx-0.6.36.tar.gz
# Exploit Title: nginx Arbitrary Code Execution NullByte Injection
# Date: 24/08/2011
# Exploit Author: Neal Poole
# Vendor Homepage: http://nginx.org/
# Software Link: https://launchpad.net/nginx/0.6/0.6.36/+download/nginx-0.6.36.tar.gz
# Version: 0.5.*, 0.6.*, 0.7 <= 0.7.65, 0.8 <= 0.8.37
# Tested on: Ubuntu Server 10.04.1
# nginx version: 0.6.36
# Advisory: https://nealpoole.com/blog/2011/08/possible-arbitrary-code-execution-with-null-bytes-php-and-old-versions-of-nginx/
# Description
In vulnerable versions of nginx, null bytes are allowed in URIs by default (their presence is indicated via a variable named zero_in_uri defined in ngx_http_request.h). Individual modules have the ability to opt-out of handling URIs with null bytes. However, not all of them do; in particular, the FastCGI module does not.
# Proof of Concept:
http://<server>/<path>/file.ext%00.php
or
http://<server>/<path>/file.ext/x00.php