Dleshka.org
Авторизация

Баг-фикс Уязвимость во всех версиях DLE

+5
sergeevizh 4-03-2010 Баг-фиксы DLE 2 комментария
Проблема: Недостаточная фильтрация входящих данных в регистрации.
Ошибка в версии: все версии
Степень опасности: Низкая
Баг нашёл: Lion__

Баг позволяет узнать префикс к бд.
Как юзать:
1) Переходим по ссылке ?do=register
2) Вводим логин, пароль, капчу, email более 50 символов.
Пример email:

qawsedrftgsqawsedrftgqawsedrftgqawsedrftgqawsedrftg@qawsedrftg.qawsedrftg



3) Нажимаем зарегистрироваться
4) Повторяем операцию с 1 по 3 шаги.
5) Получаем ошибку о дубликате поля. В ней смотрим префикс к бд.

Как это работает? Дело в том что поле email стоит ограничение в 50 символов, таким образом остальное всё обрезается, при первой регистрации в бд попало значение:

qawsedrftgsqawsedrftgqawsedrftgqawsedrftgqawsedrft



После второй регистрации идёт поиск поля email со значением:

qawsedrftgsqawsedrftgqawsedrftgqawsedrftgqawsedrftg@qawsedrftg.qawsedrftg



Которого нет, отправляется запрос, получаем ошибку.

Исправить:

Найти в engine/modules/register.php:

<font color=#660000>$email</font><font color=#8000FF> = </font><font color=#660000>$db</font>->safesql( <font color=#660000>$parse</font>->process( <font color=#660000>$_POST</font>['email'] ) );


Заменить на:

<font color=#660000>$email</font><font color=#8000FF> = </font><font color=#660000>$db</font>->safesql( <font color=#660000>$parse</font>->process(  substr(<font color=#660000>$_POST</font>['email'], 0,50) ) );


Источник: _http://forum.seo-king.ru/index.php?showtopic=377
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Simur
30 марта 2010 07:48
+ 0 -
а на 8.5 тоже?
lika004
3 декабря 2010 03:19
+ 0 -
у меня не срабатывает, но я фикс заделал на всякий, но там написано нвадо зделать запрос, а какой запрос Х3
Авторизация