WordPress Plugin Vulnerabilities
Dbox 3D Slider Lite <= 1.2.2 - Multiple Authenticated SQL injection
Description
During the security analysis, ThunderScan discovered SQL injection
vulnerabilities in Dbox 3D Slider Lite WordPress plugin.
The easiest way to reproduce the vulnerabilities is to modify the POST
request for the slider rename or reorder and append parts of the SQL
query to the current_slider_id parameter, the result being something
like "current_slider_id=1 AND SLEEP(5)". Users that do not have full
administrative privileges could abuse the database access the
vulnerabilities provide to either escalate their privileges or obtain
and modify database contents they were not supposed to be able to.
Due to the missing nonce token, the vulnerable code is also directly
exposed to attack vectors such as Cross Site request forgery (CSRF).
3.1. SQL injection
Function: $wpdb->query()
Variable: $_POST['current_slider_id'];
Vulnerable URL: http://vulnerablesite.com/wp-admin/admin.php?page=dboxlite-slider-admin
File: dbox-slider-lite\settings\sliders.php
---------
66 $slider_id=$_POST['current_slider_id'];
...
70 $sql = 'UPDATE '.$slider_meta.' SET slider_name="'.$slider_name.'" WHERE slider_id='.$slider_id;
71 $wpdb->query($sql);
---------
3.2. SQL injection
Function: $wpdb->query()
Variable: $_POST['current_slider_id'];
Vulnerable URL: http://vulnerablesite.com/wp-admin/admin.php?page=dboxlite-slider-admin
File: dbox-slider-lite\settings\sliders.php
---------
55 $slider_id=$_POST['current_slider_id'];
...
58 $sql = 'UPDATE '.$table_name.' SET slide_order='.$i.' WHERE post_id='.$slide_order.' and slider_id='.$slider_id;
59 $wpdb->query($sql);
---------