ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   Песочница (https://forum.antichat.io/forumdisplay.php?f=189)
-   -   Использования json_decode(gzuncompress(base64_decode(... (https://forum.antichat.io/showthread.php?t=388473)

jangle 08.07.2013 03:42

Доброго времени суток!

Имеется код:

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'op'[/COLOR][COLOR="#007700"]]==[/COLOR][COLOR="#DD0000"]'upload'[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$processMessage[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"BLABLA1"[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$resUpload[/COLOR][COLOR="#007700"]=([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'res'[/COLOR][COLOR="#007700"]])?[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'res'[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#0000BB"]null[/COLOR][COLOR="#007700"];

if ([/COLOR][COLOR="#0000BB"]$resUpload[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$reportUpload[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]json_decode[/COLOR][COLOR="#007700"](([/COLOR][COLOR="#0000BB"]gzuncompress[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]base64_decode[/COLOR][COLOR="#007700"](([/COLOR][COLOR="#0000BB"]$resUpload[/COLOR][COLOR="#007700"])))),[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]$reportUpload[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$processMessage[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"BLABLA2:

"
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]implode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"
"
[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$reportUpload[/COLOR][COLOR="#007700"]);

}

}

}

[/
COLOR][/COLOR

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

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

PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"] 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

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

[/COLOR][COLOR="#0000BB"]$cho[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]base64_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]gzcompress[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$arr[/COLOR][COLOR="#007700"])));

echo[/
COLOR][COLOR="#0000BB"]$cho

$ddd
[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]json_decode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]gzuncompress[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]base64_decode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$cho[/COLOR][COLOR="#007700"])),[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);

echo[/
COLOR][COLOR="#DD0000"]"BLABLA2:

"
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]implode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"
"
[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ddd[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 

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

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

mironich 08.07.2013 05:46

Цитата:

Сообщение от jangle
Доброго времени суток!
Имеется код:
PHP код:

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'op'[/COLOR][COLOR="#007700"]]==[/COLOR][COLOR="#DD0000"]'upload'[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$processMessage[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"BLABLA1"[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$resUpload[/COLOR][COLOR="#007700"]=([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'res'[/COLOR][COLOR="#007700"]])?[/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'res'[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#0000BB"]null[/COLOR][COLOR="#007700"];

if ([/COLOR][COLOR="#0000BB"]$resUpload[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$reportUpload[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]json_decode[/COLOR][COLOR="#007700"](([/COLOR][COLOR="#0000BB"]gzuncompress[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]base64_decode[/COLOR][COLOR="#007700"](([/COLOR][COLOR="#0000BB"]$resUpload[/COLOR][COLOR="#007700"])))),[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]$reportUpload[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$processMessage[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"BLABLA2:

"
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]implode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"
"
[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$reportUpload[/COLOR][COLOR="#007700"]);

}

}

}

[/
COLOR][/COLOR

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

[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"] 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);

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

[/COLOR][COLOR="#0000BB"]$cho[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]base64_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]gzcompress[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]json_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$arr[/COLOR][COLOR="#007700"])));

echo[/
COLOR][COLOR="#0000BB"]$cho

$ddd
[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]json_decode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]gzuncompress[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]base64_decode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$cho[/COLOR][COLOR="#007700"])),[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);

echo[/
COLOR][COLOR="#DD0000"]"BLABLA2:

"
[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]implode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"
"
[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ddd[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR] 

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

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

XAMEHA 08.07.2013 06:27

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


Время: 02:31