Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Песочница (https://forum.antichat.xyz/forumdisplay.php?f=189)
-   -   PHP Object Inj (https://forum.antichat.xyz/showthread.php?t=435889)

Filipp 16.01.2016 22:33

Народ, объясните в чем суть php-inj в сериализации (serialize, unserialize). Удобная вещь, часто ней пользуюсь. Вьехал всего лишь в один пример:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]unserialize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$autologin[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'username'[/COLOR][COLOR="#007700"]] ==[/COLOR][COLOR="#0000BB"]$adminName[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'password'[/COLOR][COLOR="#007700"]] ==[/COLOR][COLOR="#0000BB"]$adminPassword[/COLOR][COLOR="#007700"]) {
[/
COLOR][COLOR="#0000BB"]$admin[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"];
}
else {
[/
COLOR][COLOR="#0000BB"]$admin[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];
}[/
COLOR][/COLOR

Получается что можно задать переменной в массиве булевское значение, и в итоге получиться true. Но вот саму суть валнераблы никак понять не могу.

Нашел хороший man: https://rdot.org/forum/showthread.php?t=950

Добрые люди, объясните пожалуйста, интересно же)

XAMEHA 17.01.2016 00:51

Большая часть вариаций эксплуатации уязвимости заключается в том, что помимо передачи значений стандартных типов данных, можно передавать объекты, что опасно из-за наличия у них каких-либо реализованных свойств.

Ещё часто в реализации unzerialize в интерпретаторе допускают ошибки, ведущие к DOS или RCE.


Время: 01:30