/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/random/tests/02_engine/all_serialize_error.phpt
99 строк
54 KB
Tim Düsterhus
random: Validate that the arrays do not contain extra elements when unserializing (#9458)
05 сен 2022, 18:33
Не верифицирован
05 сен 2022, 18:33
ddf7a5d
Код
Авторство
О чём код?
--TEST-- Random: Engine: serialize error pattern --FILE-- <?php echo \Random\Engine\Mt19937::class, PHP_EOL; // malformed hex try { var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:7:"5aa6b98";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8: … [Строка слишком длинная. Вы можете скачать файл] } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid hex try { var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b98g";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8 … [Строка слишком длинная. Вы можете скачать файл] } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid count try { var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8 … [Строка слишком длинная. Вы можете скачать файл] } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid mode try { var_dump(unserialize('O:21:"Random\Engine\Mt19937":2:{i:0;a:0:{}i:1;a:626:{i:0;s:8:"5aa6b986";i:1;s:8:"8660cc14";i:2;s:8:"c0b631ca";i:3;s:8:"e85464ad";i:4;s:8:"70fa6108";i:5;s:8:"c5ed9c3c";i:6;s:8 … [Строка слишком длинная. Вы можете скачать файл] } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } echo PHP_EOL, PHP_EOL; echo \Random\Engine\PcgOneseq128XslRr64::class, PHP_EOL; // malformed hex try { var_dump(unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:15:"c6d571c37c41a8d";i:1;s:16:"345e7e82265d6e27";}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid hex try { var_dump(unserialize('O:33:"Random\Engine\PcgOneseq128XslRr64":2:{i:0;a:0:{}i:1;a:2:{i:0;s:16:"c6d571c37c41a8d1";i:1;s:16:"345e7e82265d6e2g";}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } echo PHP_EOL, PHP_EOL; echo \Random\Engine\Xoshiro256StarStar::class, PHP_EOL; // malformed hex try { var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:15:"db1c182f1bf60cb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // invalid hex try { var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624g";}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // additional array values (1) try { var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":3:{i:0;a:0:{}i:1;a:4:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";}i:2;N;}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } // additional array values (2) try { var_dump(unserialize('O:32:"Random\Engine\Xoshiro256StarStar":2:{i:0;a:0:{}i:1;a:5:{i:0;s:16:"db1c182f1bf60cbb";i:1;s:16:"2465f04d36a1c797";i:2;s:16:"da25c09be4fabe33";i:3;s:16:"33a0d052f241624e";i:4;N;}}')); } catch (\Exception $e) { echo $e->getMessage(), PHP_EOL; } ?> --EXPECT-- Random\Engine\Mt19937 Invalid serialization data for Random\Engine\Mt19937 object Invalid serialization data for Random\Engine\Mt19937 object Invalid serialization data for Random\Engine\Mt19937 object Invalid serialization data for Random\Engine\Mt19937 object Random\Engine\PcgOneseq128XslRr64 Invalid serialization data for Random\Engine\PcgOneseq128XslRr64 object Invalid serialization data for Random\Engine\PcgOneseq128XslRr64 object Random\Engine\Xoshiro256StarStar Invalid serialization data for Random\Engine\Xoshiro256StarStar object Invalid serialization data for Random\Engine\Xoshiro256StarStar object Invalid serialization data for Random\Engine\Xoshiro256StarStar object Invalid serialization data for Random\Engine\Xoshiro256StarStar object