From 37b29231e47a0c4458dc1c15d98588f16f07e1e2 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Thu, 06 Aug 2015 03:18:44 -0400 Subject: [PATCH] - don't set password via remoting if field is empty --- interface/web/admin/remote_action_osupdate.php | 31 +++++++++++++++++-------------- 1 files changed, 17 insertions(+), 14 deletions(-) diff --git a/interface/web/admin/remote_action_osupdate.php b/interface/web/admin/remote_action_osupdate.php index b0f2878..5e73cdf 100644 --- a/interface/web/admin/remote_action_osupdate.php +++ b/interface/web/admin/remote_action_osupdate.php @@ -27,11 +27,12 @@ EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -require_once('../../lib/config.inc.php'); -require_once('../../lib/app.inc.php'); +require_once '../../lib/config.inc.php'; +require_once '../../lib/app.inc.php'; //* Check permissions for module $app->auth->check_module_permissions('admin'); +$app->auth->check_security_permissions('admin_allow_osupdate'); //* This is only allowed for administrators if(!$app->auth->is_admin()) die('only allowed for administrators.'); @@ -43,7 +44,7 @@ //* load language file $lng_file = 'lib/lang/'.$_SESSION['s']['language'].'_remote_action.lng'; -include($lng_file); +include $lng_file; /* * We need a list of all Servers @@ -61,6 +62,10 @@ * If the user wants to do the action, write this to our db */ if (isset($_POST['server_select'])) { + + //* CSRF Check + $app->auth->csrf_token_check(); + $server = $_POST['server_select']; $servers = array(); if ($server == '*') { @@ -75,20 +80,18 @@ } foreach ($servers as $serverId) { $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) " . - "VALUES (". - (int)$serverId . ", " . - time() . ", " . - "'os_update', " . - "'', " . - "'pending', " . - "''" . - ")"; - $app->db->query($sql); + "VALUES (?, UNIX_TIMESTAMP(), 'os_update', '', 'pending', '')"; + $app->db->query($sql, $serverId); } $msg = $wb['action_scheduled']; } -$app->tpl->setVar('msg',$msg); +$app->tpl->setVar('msg', $msg); + +//* SET csrf token +$csrf_token = $app->auth->csrf_token_get('osupdate'); +$app->tpl->setVar('_csrf_id',$csrf_token['csrf_id']); +$app->tpl->setVar('_csrf_key',$csrf_token['csrf_key']); $app->tpl->setVar($wb); @@ -96,4 +99,4 @@ $app->tpl->pparse(); -?> \ No newline at end of file +?> -- Gitblit v1.9.1