всех приветствую, очень нужна помощь с решением таска.
задача - через уязвимость в десериализации прочитать файл /etc/flag.
исходники - тык
сайт на PHP 7.4.33
есть вот такая форма:
и скрытый параметр state:
PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3RhdGU+CiAgICAgICAgPGRhdGE+NjEzYTMzM2E3YjY5M2 EzMDNiNzMzYTMzMzEzYTIyNTQ2ODc1MmMyMDMwMzQyMDQ0NjU2 MzIwMzIzMDMyMzUyMDMxMzQzYTMxMzQzYTMxMzkyMDJiMzAzMj MwMzAyMjNiNjkzYTMxM2I3MzNhMzEzMDNhMjIzMTM3MzIyZTMy MzAyZTMwMmUzMTIyM2I2OTNhMzIzYjYyM2EzMDNiN2Q8L2RhdG E+Cjwvc3RhdGU+Cg==
декодировав, получаю:
613a333a7b693a303b733a33313a225468752c203034204465 6320323032352031343a31343a3139202b30323030223b693a 313b733a31303a223137322e32302e302e31223b693a323b62 3a303b7d
из hex в data:
a:3:{i:0;s:31:"Thu, 04 Dec 2025 14:14:19 +0200";i:1;s:10:"172.20.0.1";i:2;b:0;}
сама сериализация выглядит вот так (index.php):
PHP:
Код:
$state = '
'.bin2hex(serialize([date(DATE_RFC2822), $_SERVER['REMOTE_ADDR'], isset($_COOKIE['admin'])])).'
';
имеются библиотеки - phpmailer, predis, twilio, composer.
phpmailer версия 6.0.5.0
twilio версия 3.13.1.0
predis версия 1.1.1.0
подсказали, что нужно пользоваться магическими методами, долго не могу найти нужный гаджет-чейн.
всем заранее спасибо за помощь!