Attention aux possesseurs de ce module (version 1.6.0) les hackers téléchargent directement leurs pfm dpuis l'ajax et infectent votre site.
Ce fichier ne contrôle rien concernant le type de fichier envoyé.
Exemple de requête:
35.242.236.93 site.fr - [08/Sep/2019:22:36:25 +0200] "POST /modules/jmsslider/ajax_jmsslider.php?action=addLayer&id_slide=attari&data_type=image HTTP/1.1" 200 25 "-" "python-requests/2.22.0"
Le hack fonctionne même si le module n'est pas installé, il suffit qu'il soit présent sur votre ftp dans le répertoire /modules
Ca fait juste peur en fait de voir de tels codes...
$context = Context::getContext();
$slides = array();
if (Tools::getValue('action') == 'addLayer' && Tools::getValue('id_slide')) {
$data_type = Tools::getValue('data_type');
if ($data_type == 'text') {
...
} elseif ($data_type=='image') {
$path = dirname(__FILE__).'/views/img/layers/';
if ($_FILES['data_image']['name']) {
$st_name = preg_replace('/[^A-Za-z0-9\._\-]/', '', $_FILES['data_image']['name']);
$name = str_replace(' ', '-', $st_name);
$img_extend = array('png', 'jpg', 'gif', 'jpeg');
$type = Tools::strtolower(Tools::substr(strrchr($_FILES['data_image']['name'], '.'), 1));
$path = dirname(__FILE__).'/views/img/layers/';
if (!file_exists($path.$name)) {
move_uploaded_file($_FILES['data_image']['tmp_name'], $path.$name);
}
$data_image = $name;
} else {
$data_image = Tools::getValue('data_s_image');
}
...
.png.022b5452a8f28f552bc9430097a16da2.png)