Menu

Search for hundreds of thousands of exploits

"Phorum 5.1.20 - '/include/controlcenter/users.php' Multiple Method Privilege Escalations"

Author

Exploit author

"Janek Vind"

Platform

Exploit platform

php

Release date

Exploit published date

2007-04-23

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
source: https://www.securityfocus.com/bid/23616/info
  
Phorum is prone to multiple input-validation vulnerabilities, including an unauthorized-access issue, privilege-escalation issue, multiple SQL-injection issues, and cross-site scripting issues, because the application fails to sufficiently sanitize user-supplied input.
  
Exploiting these issues could allow an attacker to steal cookie-based authentication credentials, compromise the application, access or modify sensitive data, or exploit latent vulnerabilities in the underlying database implementation.
  
Phorum 5.1.20 is affected; prior versions may also be vulnerable.
 
All parameters must be set correctly for this exploit to work.
"/control.php?1" --> "1" is forum id, where moderator has user moderation
privileges.
"user_ids[2]" -->  "2" is userid of the user, who want's to get admin privileges
And of course, moderator must be logged in before using exploit.

It's that easy - you push the button - and you have admi rights!!

So where is the initial problem for this security hole?

Let's look at sourrce code of "include/controlcenter/users.php" line 29:

------------------[source code]----------------------
if(!empty($_POST["user_ids"])){

    foreach($_POST["user_ids"] as $user_id){

        if(!isset($_POST["approve"])){
            $userdata["active"]=PHORUM_USER_INACTIVE;
        } else {
            $user=phorum_user_get($user_id);
            if($user["active"]==PHORUM_USER_PENDING_BOTH){
                $userdata["active"]=PHORUM_USER_PENDING_EMAIL;
            } else {
                $userdata["active"]=PHORUM_USER_ACTIVE;
                // send reg approved message

$maildata["mailsubject"]=$PHORUM["DATA"]["LANG"]["RegApprovedSubject"];

$maildata["mailmessage"]=wordwrap($PHORUM["DATA"]["LANG"]["RegApprovedEmailBody"], 72);
                phorum_email_user(array($user["email"]), $maildata);
            }
        }

        $userdata["user_id"]=$user_id;

        phorum_user_save($userdata);
    }
}
------------------[/source code]----------------------

As we can see, by manipulating $_POST["user_ids"] parameter any user can
be activated or deactivated. Including admin. So - there is no checking, if target
user is allready active or has it higher privileges than moderator.
This was mistake one. Now, mistake number two.

Array "$userdata" is uninitialized. So we can "poison" that variable, if php settings
has "register_globals=on". And in this way user moderator can deliver for saving any
userdata for any user. For example - userdata[admin] carries user admin privileges.

Solution: array initializing before use and adding some security checks.
Release Date Title Type Platform Author
2020-12-02 "aSc TimeTables 2021.6.2 - Denial of Service (PoC)" local windows "Ismael Nava"
2020-12-02 "Anuko Time Tracker 1.19.23.5311 - No rate Limit on Password Reset functionality" webapps php "Mufaddal Masalawala"
2020-12-02 "Ksix Zigbee Devices - Playback Protection Bypass (PoC)" remote multiple "Alejandro Vazquez Vazquez"
2020-12-02 "Mitel mitel-cs018 - Call Data Information Disclosure" remote linux "Andrea Intilangelo"
2020-12-02 "Artworks Gallery 1.0 - Arbitrary File Upload RCE (Authenticated) via Edit Profile" webapps multiple "Shahrukh Iqbal Mirza"
2020-12-02 "DotCMS 20.11 - Stored Cross-Site Scripting" webapps multiple "Hardik Solanki"
2020-12-02 "ChurchCRM 4.2.0 - CSV/Formula Injection" webapps multiple "Mufaddal Masalawala"
2020-12-02 "ChurchCRM 4.2.1 - Persistent Cross Site Scripting (XSS)" webapps multiple "Mufaddal Masalawala"
2020-12-02 "NewsLister - Authenticated Persistent Cross-Site Scripting" webapps multiple "Emre Aslan"
2020-12-02 "IDT PC Audio 1.0.6433.0 - 'STacSV' Unquoted Service Path" local windows "Manuel Alvarez"
Release Date Title Type Platform Author
2009-10-22 "Vivvo CMS 4.1.5.1 - file Disclosure" webapps php "Janek Vind"
2007-05-23 "2z Project 0.9.5 - 'rating.php' Cross-Site Scripting" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - 'admin.php' Groups Module Edit/Add Group Field SQL Injection" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - '/include/admin/banlist.php?delete' Cross-Site Request Forgery Banlist Deletion" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - 'admin.php?module[]' Full Path Disclosure" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - 'pm.php' Recipient Name SQL Injection" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - 'admin.php' badwords/banlist Module SQL Injection" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - 'admin.php?Groups Module group_id' Cross-Site Scripting" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - 'admin.php?modsettings Module smiley_id' Cross-Site Scripting" webapps php "Janek Vind"
2007-04-23 "Phorum 5.1.20 - '/include/controlcenter/users.php' Multiple Method Privilege Escalations" webapps php "Janek Vind"
2006-02-13 "PHP-Nuke 6.x/7.x - 'header.php?Pagetitle' Cross-Site Scripting" webapps php "Janek Vind"
2004-11-16 "event Calendar - Multiple Vulnerabilities" webapps php "Janek Vind"
2004-11-11 "Phorum 5.0.x - 'FOLLOW.php' SQL Injection" webapps php "Janek Vind"
2004-06-23 "PHP-Nuke 1.0/2.5/3.0/4.x/5.x/6.x/7.x - Multiple Vulnerabilities" webapps php "Janek Vind"
2004-06-11 "PHP-Nuke 6.x/7.x Encyclopedia Module - Multiple Function Cross-Site Scripting Vulnerabilities" webapps php "Janek Vind"
2004-06-11 "PHP-Nuke 6.x/7.x Reviews Module - Multiple Cross-Site Scripting Vulnerabilities" webapps php "Janek Vind"
2004-06-11 "PHP-Nuke 6.x/7.x - Multiple Input Validation Vulnerabilities" webapps php "Janek Vind"
2004-06-11 "PHP-Nuke 6.x/7.x Reviews Module - 'order' SQL Injection" webapps php "Janek Vind"
2004-06-11 "PHP-Nuke 6.x/7.x FAQ Module - 'categories' Cross-Site Scripting" webapps java "Janek Vind"
2004-05-29 "e107 website system 0.6 - 'email article to a friend' Feature Cross-Site Scripting" webapps php "Janek Vind"
2004-05-29 "e107 website system 0.6 - 'usersettings.php?avmsg' Cross-Site Scripting" webapps php "Janek Vind"
2004-05-08 "Adam Webb NukeJokes 1.7/2.0 Module - 'modules.php?jokeid' SQL Injection" webapps php "Janek Vind"
2004-05-08 "Adam Webb NukeJokes 1.7/2.0 Module - Multiple Cross-Site Scripting Vulnerabilities" webapps php "Janek Vind"
2004-04-30 "Coppermine Photo Gallery 1.2.2b - 'menu.inc.php' Cross-Site Scripting" webapps php "Janek Vind"
2004-04-30 "Coppermine Photo Gallery 1.2.0 RC4 - 'init.inc.php' Remote File Inclusion" webapps php "Janek Vind"
2004-04-30 "Coppermine Photo Gallery 1.2.2b - 'theme.php' Remote File Inclusion" webapps php "Janek Vind"
2004-04-30 "Coppermine Photo Gallery 1.2.0 RC4 - 'startdir' Traversal Arbitrary File Access" webapps php "Janek Vind"
2004-04-23 "PHProfession 2.5 - 'upload.php' Direct Request Full Path Disclosure" webapps php "Janek Vind"
2004-04-23 "PHProfession 2.5 - 'modules.php?jcode' Cross-Site Scripting" webapps php "Janek Vind"
2004-04-23 "PHProfession 2.5 - 'modules.php?offset' SQL Injection" webapps php "Janek Vind"
import requests
response = requests.get('http://127.0.0.1:8181?format=json')

For full documentation follow the link above

Cipherscan. Find out which SSL ciphersuites are supported by a target.

Identify and fingerprint Web Application Firewall (WAF) products protecting a website.