Помогите Избитый лаунчер сашка

  • Автор темы Автор темы NeoDLH
  • Дата начала Дата начала
При правильно настроенных конфигах все работает.
Это я и без тебя понимаю. И так же понимаю что проблема в проверке пароля.
Пароль из БД и введенный пароль отличается(хешь пароля). Не пойму из-за чего.
@NeoDLH, Ищите ошибку. Я тестировал на XenForo проблем не было.
ввел данные для подключения в конфиг. Угазал там же нужную БД. В лаунчере указал хост и папку со скриптами. В результате при попытке войти пишет "Ошибка авторизации (Логин, пароль)"
 
@NeoDLH, Укажите $crypt = 'hash_xenforo';
Указал, но проблема почему-то сохраняется.
73985c.jpg
 
@NeoDLH, Ник писали в правильном регистре? Или возможно вы изменяли xenforo размер соли или функцию хеша и она у вас не стандартная.
 
@NeoDLH, Ник писали в правильном регистре? Или возможно вы изменяли xenforo размер соли или функцию хеша и она у вас не стандартная.
Странно. соль и хеш не затрагивали хоть и не я ставил ксеню. Старые скрипты авторизации работают со старым лаунчером. С этим даже старые скрипты авторизации не хотят работать.
 
@NeoDLH, в имени или пароле есть какие либо символы кроме латинских букв и цифр?
 
@NeoDLH, в имени или пароле есть какие либо символы кроме латинских букв и цифр?
Нету. Это я в первую очередь проверил. Возможно ли что это как-то связано в версией ксени?
 
Проблема решилась НАИГЛУПЕЙШИМ способом. Я забыл что сменил пароль 😁
Так что ложная тревога.
 
хм, решил разобраться в пофикшенных исходниках alexandrage. (забрал проверку регистра ника, спасибо) но обнаружил интересную фишку. Ты специально или случайно не экранировал некоторые запросы?)
 
хм, решил разобраться в пофикшенных исходниках alexandrage. (забрал проверку регистра ника, спасибо) но обнаружил интересную фишку. Ты специально или случайно не экранировал некоторые запросы?)
Какие именно?
 
$key = $_POST['key']; и $wantbuy = $_POST['buy'];
Это уязвимо только если используется ЛК в самом лаунчере.

фикс:

$key = mysql_real_escape_string($_POST['key']);
if (!preg_match("/^[a-zA-Z0-9_-]+$/", $key)) {
echo "Неверные символы";
exit;
}

$wantbuy = mysql_real_escape_string($_POST['buy']);
if (!preg_match("/^[0-9]*$/", $wantbuy)) {
echo "Неверные символы";
exit;
}
 
И снова не хочу плодить темы. Возникла проблема. Скрипты не пропускают пароль с наличием спецсимволов. Подскажите как и в какой строке подлечить это.

P.S. Похоже что проблема кроется в !preg_match("/^[a-zA-Z0-9_-]+$/", $postPass)
А конкретно в регулярном выражении. Как поправить?
 
@NeoDLH, launcher.php
PHP:
    if (!preg_match("/^[a-zA-Z0-9_-]+$/", $login) || !preg_match("/^[a-zA-Z0-9_-]+$/", $postPass) || !preg_match("/^[a-zA-Z0-9_-]+$/", $action)) {
//                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
Да ты просто Капитан Очевидность
или я не дочитал пост до конца, или на момент моего ответа во этого
P.S. Похоже что проблема кроется в !preg_match("/^[a-zA-Z0-9_-]+$/", $postPass)
А конкретно в регулярном выражении. Как поправить?
не было.

добавить необходимые символы в регулярное выражение или совсем исключить проверку пароля в этом условии.
 
или я не дочитал пост до конца, или на момент моего ответа во этого
не было.
Я как раз редактировал сообщение в этот момент...

добавить необходимые символы в регулярное выражение или совсем исключить проверку пароля в этом условии.

Надо что-то универсальное. Все спецсимволы добавлять не интересно.
 
просмотрел еще раз launcher.php и не вижу необходимости проверять пароль на допустимые символы, пароль полученный от пользователя $postPass не участвует в SQL запросах, инъекция исключается.

можно лишь добавить проверку на максимальное количество символов в пароле, на этом и ограничиться.
 
просмотрел еще раз launcher.php и не вижу необходимости проверять пароль на допустимые символы, пароль полученный от пользователя $postPass не участвует в SQL запросах, инъекция исключается.

можно лишь добавить проверку на максимальное количество символов в пароле, на этом и ограничиться.

Походу придется выпилить проверку допустимых символов в пароле за ненадобностью
 
Назад
Верх