PDA

Просмотр полной версии : Использования json_decode(gzuncompress(base64_decode(...


jangle
08.07.2013, 03:42
Доброго времени суток!

Имеется код:


PHP:
if ($_REQUEST['op']=='upload') {

$processMessage="BLABLA1";

$resUpload=($_REQUEST['res'])?$_REQUEST['res'] :null;

if ($resUpload) {

$reportUpload=json_decode((gzuncompress(base64_dec ode(($resUpload)))),true);

if ($reportUpload ) {

$processMessage="BLABLA2:

".implode("
",$reportUpload);

}

}

}



Сообщения выводится

Накидал файлик для экспериментов


PHP:
1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

//{"a":1,"b":2,"c":3,"d":4,"e":5}

$cho=base64_encode(gzcompress(json_encode($arr)));

echo$cho

$ddd=json_decode(gzuncompress(base64_decode($cho)) ,true);

echo"BLABLA2:

".implode("
",$ddd);

?>

но ни к чему путному не пришел.

Можно ли как нибудь использовать этот код как уязвимость?

mironich
08.07.2013, 05:46
jangle said:
Доброго времени суток!
Имеется код:

PHP:
if ($_REQUEST['op']=='upload') {

$processMessage="BLABLA1";

$resUpload=($_REQUEST['res'])?$_REQUEST['res'] :null;

if ($resUpload) {

$reportUpload=json_decode((gzuncompress(base64_dec ode(($resUpload)))),true);

if ($reportUpload ) {

$processMessage="BLABLA2:

".implode("
",$reportUpload);

}

}

}



Сообщения выводится
Накидал файлик для экспериментов

PHP:
1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

//{"a":1,"b":2,"c":3,"d":4,"e":5}

$cho=base64_encode(gzcompress(json_encode($arr)));

echo$cho

$ddd=json_decode(gzuncompress(base64_decode($cho)) ,true);

echo"BLABLA2:

".implode("
",$ddd);

?>

но ни к чему путному не пришел.
Можно ли как нибудь использовать этот код как уязвимость?


Возможно как пассивную XSS.

XAMEHA
08.07.2013, 06:27
Возможно с помощью json_decode можно так-же вызывать деструкторы для своих объектов как и в случае с serialize, нужно экспериментировать.