Чат бородина - уязвимости (мелкие) №1 для кого пишется? и другое что стоит сказать для всех кому интересно, но кто не мог сам этого найти. не надейтесь увидеть Здесь нечто типа php/sql-inject! Здесь скорее уязвимости для того чтоб приколоться над злыми админами или своими друзьями... №2 степень опасности низкая... итак поехали... раскрытие пути имя скрипта:help.php (доступен всем и присутвует практически везде где есть сам чат) вот уязвимый кусок кода PHP: ..... if (!isset($help)) $help=0; $help+=0; switch ($help) { case 1: ..... как известно switch не работает с массивами ... а тип переменной $help ни где не проверяется. По этому нам всего лишь стоит обратится к скрипту с параметром ?help[]=1 как скрипт тутже выдаст нам ошибку ... Как пример этой уязвимости подвержен официальный сайт чата _http://chat.php.spb.ru/ http://chat.php.spb.ru/www/help.php?help[]=1 p.s. думаю каждый из нас знает что нам может дать раскрытие пути... здесь мы видим что на официальном сайте чата стоит Windows хз какой??? Вероятнее всего Server 2003/2008 (логичнее было поставить его, но то что там работает apache а не iis немного толкает на мысль что там может мыть и XP)) , и видим что это не хостинг =) ... ну еще как вариант это может быть vps/vds Флуд Как известно в чате есть защита от флуда/мата. он реагирует на повторение более 4 раз (зависит менял ли настройки админ) одного и тогоже символа... но тут мы получаем возможность флуда, повторяя не один символ а два и более разных символов типа: так же и повторяя слова и другое.... количество вводимых знаков ограничено 1001 символом, но кому надо тот решит эту проблемму. Идем далее pXSS Не надейтесь что это xss в самом чате =( к сожалению все ксс которые только можно было найти, нашли и залатали. уязвимость присутствует в модуле рейтинга пользователей. скачать модуль: http://nik-chat.net/downloads/top.rar Уязвимые параметры c3, top_title, top_td_title (дополнено) Вообще C3 не фильтруется ни при одном из зарание заданных c2. Важно будет сказать: не забывайте что это xss работает только если пользователь переходящий по ссылке находится в чате (в браузере есть активные куки чата) в противном случае данные фильтруются и пересылаются пост запросом... вот...) обычно скрипт top.php находится в папке с самим чатом но некоторые админы могут его и перенести в какое либо другое место =) №4 END. ну вот вобщем то и все) пользуйтесь но не злоупотребляйте.... все материалы выложены исключительно для ознакомления! (так надо ); © KIR@PRO + Спец для Antichat.ru дополнено 14.04.2009
заплатка от xss: ищем код (у меня 54 строчка): PHP: case "topshow": include_once(skn("__skin1.php")); include_once("__other.php"); после неё вписываем: PHP: $top_title=''; $top_td_title=''; $c3=(integer)$c3; if (!($c3==10 || $c3==50 || $c3==100))$c3=10; //запретим пользователям вывод произвольного кол-ва результатов, иначе при $c3=-1 выведется вся база заплатка для help.php ищем строчку: PHP: if (!isset($help)) $help=0; $help+=0; switch ($help) { заменяем на: PHP: if (!isset($help) || !is_numeric($help)) $help=1;//если просто откроют страницу без параметров или $help имеет не числовое значение, то "ошибочный индекс" не будет выведено. $help+=0; switch ((integer)$help) {
про флуд чтота я не понял. в таких чатах стоит ограничение по весу сообщения. два таких сообщения как ты написал и бан ... или я что-то неправильно понял?
Дополнение. Раскрытие пути. Уязвимые скрипты: все.... Условия выполнения: Отсутсвие в браузере cookie чата... для просмотра результата рекомендуется использовать спецпроги типа AccessDriver Ближе к делу. Эксплуатация уязвимости: обращаемся к любому существующему скрипту который подключает файл __main.php или __dima.php... как пример файл index.php обращаемся к файлу с параметром: ?s[nick]= как пример офф сайт: шттп://chat.php.spb.ru/www/index.php?s[nick]= все уязвимости присутствуют во всех версиях (если кто то найдет версию где нет отпишите в ПМ изправлю).... © KIR@PRO + Спец для Antichat.ru
2Win64 само по себе раскрытие пути дает мало результатов: 1) мы узнаем какая OC стоит на сервере.. для тех кто непонял поясню. Если мы видим путь как в первом посте на офф сайте C:\Inetpub\site\cpsr\www\www\help.php on line 12 то мы видим что здесь стоит Windows и стоит копать в эту сторону, если же мы видим что то такое: /var/www/chat/.... или /usr/.... то понимаем что на сервере стоит Linux 2) если мы нашли php-include на сайте или sql-inject с возможностью заливки файлов то раскрытие пути нам поможет....) 2profile в чате стоит ограничение на повторение одного символа несколько раз (украшение из символов)... бывает даже 5-6 повторяющихся символов и уже бан.... еще есть бан за определённое колличество килобайт за какойто проежуток времени (типо 1096 Кбайт за 10 секунд = бан) ... первое мы можем обойти так: за 2 повторяющихся символа чат не банит, тоесть за /*/*/*/*/*/*/*/*/*/* бан не получим(разве что от модеров или киллеров) но это не красиво... Тогда вспомним видео от Silveran в котором он расказывал про "невидимый" символ. Символ существует но браузеры его не отображают, символ имеет код AD в блокноте он отображается как "-", но - имеет код 2D. Чередуем этот символ с любым другим и получяем на выходе повторение только одного символа(визуально, то что нам и нужно) пример: