1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
  3. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Совет Уязвимость системы авторизации

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем hyndo, 10 фев 2014.

  1. Автор темы
    hyndo

    hyndo Активный участник

    Баллы:
    63
    Имя в Minecraft:
    hyndor
    Уязвимость системы авторизации!АНаТоЛий ЧерВяк выпустил видео с уязвимостью системой авторизации.В чем суть уязвимости то что при регистрации в БД колонка сесии пуста и что значит что можно с легкостью запустить клиент через батник и спокойно зайти на сервер так как сесия будет равна 0 и сервер скажит что все норм.
    Теперь как пофиксить?Я не очень разбируюсь в java и php но все же учу.Мой вариант при регистрации в колонку с сесией заносится рандомная сесия, а при запуске лаунчера регенит новую.
    Я не знаю как это все сделать.Я просто предложил свой вариант прошу не давать особой критики потому что пишу на форуме первый раз.
     
    blogger2, ilsaf и serega6531 нравится это.
  2. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    *facepalm*
    два слова: хеш&соль
     
  3. KickMan

    KickMan Старожил Пользователь

    Баллы:
    103
    Skype:
    kostjan2005
    Имя в Minecraft:
    KickMan
    Зачем велосипед изобретать? :)
     
  4. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    Да прааавда что!
    Давайте, как последнее школоло, ставить DLE с пабликовским MineCraft-шабоном, лк с говнокодом, форум IPB, лаунчер сашка, сборка с РБ
    И радоваться *_*
    Я вот уважаю ТС, ибо лучше стараться сделать свое, нежели взять говнище готовенькое, и делать проект SO THAT THOUSANDS!
     
  5. AlexMerser

    AlexMerser Старожил Пользователь

    Баллы:
    173
    Чей лаунчер?
     
    oleg57zls нравится это.
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Обломинго вам всем. И передайте червяку что он реально червяк :D.
    if (!preg_match("/^[a-zA-Z0-9_-]+$/", $user) || !preg_match("/^[a-zA-Z0-9:_-]+$/", $sessionid) || !preg_match("/^[a-zA-Z0-9_-]+$/", $serverid)){

    echo "Bad login";
    exit;
    }
    Ни null ни пробел не пропустит в лаунчере сашка.
     
    ForgeGan, lexa_kiker, WzzirrO и 4 другим нравится это.
  7. Alisher-98

    Alisher-98 Старожил Пользователь

    Баллы:
    103
    Skype:
    alisher-982
    Имя в Minecraft:
    Alisher98
    на посмотри может ты не так понял
    Ахахах твой прег-матч тоже обходиться
    Ответить
    ·
    [​IMG]
    [​IMG]
    [​IMG]
    Roskonix
    16 часов назад




    Что-то не получается... Батник есть, пути прописаны, клиент запускается, аккаунт пустой(сессия не записана). При попытке зайти на сервер пишет Bad login.
    Что я делаю не так?
    Ответить
    ·
    [​IMG]
    [​IMG]
    Все ответы (3)
    [​IMG]
    АНаТоЛий ЧерВяк


    11 часов назад


    Не во всех сашах прегматч
    В основном стоит MySQL фильтры
    Да, не спорю сцук забыл про него =_=

    Ответить
    ·
    [​IMG]
    [​IMG]
    [​IMG]
    АНаТоЛий ЧерВяк


    10 часов назад


    +Alex Alexx Ах б*я...
    Прегматч блочит пробелы
    Но ведь не кто не отменял пустоту ;D
     
  8. Evan

    Evan Старожил Пользователь

    Баллы:
    123
    пфф пустота.
    PHP:
        if ( empty ( $_GET['sessionId'] ) and empty ( $_GET['user'] ) and empty ( $_GET['serverId'] ) and !preg_match("/^[a-zA-Z0-9_-]+$/"$user) || !preg_match("/^[a-zA-Z0-9:_-]+$/"$sessionid) || !preg_match("/^[a-zA-Z0-9_-]+$/"$serverid)){

        echo 
    "Bad login";
        exit;
        }
     
  9. Alisher-98

    Alisher-98 Старожил Пользователь

    Баллы:
    103
    Skype:
    alisher-982
    Имя в Minecraft:
    Alisher98
    Да и кто му же прег-матч легко обходиться... Я думаю что Червяк запросто сломает проект @alexandrage
     
  10. Evan

    Evan Старожил Пользователь

    Баллы:
    123
    я перевожу веб сурсы сашки на pdo думаю с моими сурсами станет сложнее сломать. да и то что сессия при регистрации пуста это тоже можно обойти тем что вписать любое рандомное число или что то ещё.
     
  11. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Так же нет ничего трудного проверить пустая ли колонка сессии или нет. Да и вообще в нормальных системах сессия должна быть хоть какая то (123456 тот же), иначе выйдет кака, которая в видео.
    вместе с and не прокатит.
    PHP:
     if ( empty ( $_GET['sessionId'] ) ||  empty ( $_GET['user'] ) || empty ( $_GET['serverId'] ) || !preg_match("/^[a-zA-Z0-9_-]+$/"$user) || !preg_match("/^[a-zA-Z0-9:_-]+$/"$sessionid) || !preg_match("/^[a-zA-Z0-9_-]+$/"$serverid)){
        echo 
    "Bad login";
        exit;
        }
     
    Evan нравится это.
  12. Evan

    Evan Старожил Пользователь

    Баллы:
    123
    я немного забылся
     
    Dereku нравится это.
  13. NC22

    NC22 Старожил Пользователь

    Баллы:
    153
    Имя в Minecraft:
    NC22
    с пустотой так же не сработает т.к. в большинстве исходников публикуемых здесь в MySQL таблицах по умолчанию значение для поля sessionId и прочих задается NULL ( спец. маркер для того чтобы различить пустую строку от еще не затронутого поля в бд)

    Но наверное уникальные образцы с такой уязвимостью все таки найдутся.
     
    blogger2 нравится это.
  14. Alisher-98

    Alisher-98 Старожил Пользователь

    Баллы:
    103
    Skype:
    alisher-982
    Имя в Minecraft:
    Alisher98
    Ах да ОФФТОП бан автору!
     
  15. Semen4ik

    Semen4ik Старожил Пользователь

    Баллы:
    123
    Skype:
    Semenov1215
    Имя в Minecraft:
    Semen4ik
    АХАХА) ты про это сам не так давно узнал.
     
  16. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    омг
    упрт?
    я всегда хешировал в SHA251+MD5
    я не знал, что кодовое слово для хеширования это называется солью -_-
     
  17. Dereku

    Dereku Старожил Пользователь

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    salt , lol.
     
  18. blogger2

    blogger2 Старожил Пользователь

    Баллы:
    123
    Skype:
    ilja0176
    Имя в Minecraft:
    XuPoH
    What did ya mean?
     
  19. Alisher-98

    Alisher-98 Старожил Пользователь

    Баллы:
    103
    Skype:
    alisher-982
    Имя в Minecraft:
    Alisher98
    Может ты устроишь с Червяком Баттл:D Тогда и увидим
     
  20. Evan

    Evan Старожил Пользователь

    Баллы:
    123
    разве ! empty ? для пустоты нам надо empty а для того что бы небыло её ! empty.
     

Поделиться этой страницей