PostNuke - система управления, написанная в PHP
с MySQL. Уязвимость защиты в программе
позволяет нападающим, которые знают
существующее имя пользователя,
подключиться под этим именем без ввода
пароля. Проблема связанна с отказом
фильтровать неподходящие символы от
переменных, которые можно удаленно
пропускать к компонентам программы. Это
позволяет нападающему изменять mysql-запрос к
пользовательской базе данных, совершая
обход проверки пароля.
Это позволяет нападающему обходить условие
"where user=$user3[1]and pass=$user3[2]", например,
добавляя в конец "or user=USERNAME".
Если нападающий запрашивает URL, состоящий
из:
article.php?save=1&
sid=20& [можно любой другой]
cookieusrtime=160000& [время истечения сессии - чем
больше тем лучше]
user=USERID:USERNAME:' or uname='USERNAME [base64_encoded]
то он зайдет на сайт как USERNAME.
Уязвимость работает в PostNuke 0.62-0.64 и, возможно,
в PHPnuke.