#13478 fixed widget security hardening
This commit is contained in:
parent
167e6e4b81
commit
0b9f645b14
|
@ -3535,7 +3535,8 @@ function html_print_input_text(
|
||||||
$disabled=false,
|
$disabled=false,
|
||||||
$list='',
|
$list='',
|
||||||
$placeholder=null,
|
$placeholder=null,
|
||||||
$pattern=null
|
$pattern=null,
|
||||||
|
$id=false
|
||||||
) {
|
) {
|
||||||
if ($maxlength == 0) {
|
if ($maxlength == 0) {
|
||||||
$maxlength = 255;
|
$maxlength = 255;
|
||||||
|
@ -3593,7 +3594,7 @@ function html_print_input_text(
|
||||||
return html_print_input_text_extended(
|
return html_print_input_text_extended(
|
||||||
$name,
|
$name,
|
||||||
$value,
|
$value,
|
||||||
'text-'.$name,
|
(($id === false) ? 'text-'.$name : $id),
|
||||||
$alt,
|
$alt,
|
||||||
$size,
|
$size,
|
||||||
$maxlength,
|
$maxlength,
|
||||||
|
@ -7894,7 +7895,7 @@ function html_print_select_date_range(
|
||||||
$fields['chose_range'] = __('Chose start/end date period');
|
$fields['chose_range'] = __('Chose start/end date period');
|
||||||
$fields['none'] = __('None');
|
$fields['none'] = __('None');
|
||||||
|
|
||||||
$output = html_print_input_hidden('custom_date', $custom_date, true);
|
$output = html_print_input_hidden('custom_date', $custom_date, true, false, false, 'hidden-custom_date_'.$name);
|
||||||
$output .= '<div id="'.$name.'_default" class="wauto inline_flex" '.$display_default.'>';
|
$output .= '<div id="'.$name.'_default" class="wauto inline_flex" '.$display_default.'>';
|
||||||
$output .= html_print_select(
|
$output .= html_print_select(
|
||||||
$fields,
|
$fields,
|
||||||
|
@ -7914,13 +7915,13 @@ function html_print_select_date_range(
|
||||||
$table->data = [];
|
$table->data = [];
|
||||||
$table->class = 'table-adv-filter';
|
$table->class = 'table-adv-filter';
|
||||||
$table->data[0][0] = '<div><div><div><span class="font-title-font">'.__('From').':</span></div>';
|
$table->data[0][0] = '<div><div><div><span class="font-title-font">'.__('From').':</span></div>';
|
||||||
$table->data[0][0] .= html_print_input_text('date_init', $date_init, '', 12, 10, true).' ';
|
$table->data[0][0] .= html_print_input_text('date_init', $date_init, '', 12, 10, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'date_init_'.$name).' ';
|
||||||
$table->data[0][0] .= html_print_input_text('time_init', $time_init, '', 10, 7, true).' ';
|
$table->data[0][0] .= html_print_input_text('time_init', $time_init, '', 10, 7, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'time_init_'.$name).' ';
|
||||||
$table->data[0][0] .= '</div>';
|
$table->data[0][0] .= '</div>';
|
||||||
$table->data[0][0] .= '<div><div><span class="font-title-font">'.__('to').':</span></div>';
|
$table->data[0][0] .= '<div><div><span class="font-title-font">'.__('to').':</span></div>';
|
||||||
$table->data[0][0] .= html_print_input_text('date_end', $date_end, '', 12, 10, true).' ';
|
$table->data[0][0] .= html_print_input_text('date_end', $date_end, '', 12, 10, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'date_end_'.$name).' ';
|
||||||
$table->data[0][0] .= '<div id="'.$name.'_manual" class="w100p inline_line">';
|
$table->data[0][0] .= '<div id="'.$name.'_manual" class="w100p inline_line">';
|
||||||
$table->data[0][0] .= html_print_input_text('time_end', $time_end, '', 10, 7, true).' ';
|
$table->data[0][0] .= html_print_input_text('time_end', $time_end, '', 10, 7, true, false, false, '', '', '', 'off', false, '', '', '', false, '', null, null, 'time_end_'.$name).' ';
|
||||||
$table->data[0][0] .= ' <a href="javascript:">'.html_print_image(
|
$table->data[0][0] .= ' <a href="javascript:">'.html_print_image(
|
||||||
'images/logs@svg.svg',
|
'images/logs@svg.svg',
|
||||||
true,
|
true,
|
||||||
|
@ -7991,13 +7992,13 @@ function html_print_select_date_range(
|
||||||
$('#".$name."_range').show();
|
$('#".$name."_range').show();
|
||||||
$('#".$name."_default').hide();
|
$('#".$name."_default').hide();
|
||||||
$('#".$name."_extend').hide();
|
$('#".$name."_extend').hide();
|
||||||
$('#hidden-custom_date').val('1');
|
$('#hidden-custom_date_".$name."').val('1');
|
||||||
$('.filter_label_position_before').addClass('filter_label_position_after');
|
$('.filter_label_position_before').addClass('filter_label_position_after');
|
||||||
} else if ($(this).val() === 'custom') {
|
} else if ($(this).val() === 'custom') {
|
||||||
$('#".$name."_range').hide();
|
$('#".$name."_range').hide();
|
||||||
$('#".$name."_default').hide();
|
$('#".$name."_default').hide();
|
||||||
$('#".$name."_extend').show();
|
$('#".$name."_extend').show();
|
||||||
$('#hidden-custom_date').val('2');
|
$('#hidden-custom_date_".$name."').val('2');
|
||||||
$('.filter_label_position_before').removeClass('filter_label_position_after');
|
$('.filter_label_position_before').removeClass('filter_label_position_after');
|
||||||
} else {
|
} else {
|
||||||
$('.filter_label_position_before').removeClass('filter_label_position_after');
|
$('.filter_label_position_before').removeClass('filter_label_position_after');
|
||||||
|
@ -8015,8 +8016,8 @@ function html_print_select_date_range(
|
||||||
$('#".$name."_range').show();
|
$('#".$name."_range').show();
|
||||||
$('#".$name."_default').hide();
|
$('#".$name."_default').hide();
|
||||||
$('#".$name."_extend').hide();
|
$('#".$name."_extend').hide();
|
||||||
position_top_init = $('#text-date_init').offset().top + $('#text-date_init').outerHeight();
|
position_top_init = $('[id^=date_init_".$name."]').offset().top + $('[id^=date_init_".$name."]').outerHeight();
|
||||||
position_top_end = $('#text-date_end').offset().top + $('#text-date_end').outerHeight();
|
position_top_end = $('[id^=date_end_".$name."]').offset().top + $('[id^=date_end_".$name."]').outerHeight();
|
||||||
if(def_state_range){
|
if(def_state_range){
|
||||||
$('#".$name."_range').show();
|
$('#".$name."_range').show();
|
||||||
} else {
|
} else {
|
||||||
|
@ -8042,7 +8043,7 @@ function html_print_select_date_range(
|
||||||
$('#".$name."_range').hide();
|
$('#".$name."_range').hide();
|
||||||
$('#".$name."_extend').hide();
|
$('#".$name."_extend').hide();
|
||||||
$('#".$name."').val('".SECONDS_1DAY."').trigger('change');
|
$('#".$name."').val('".SECONDS_1DAY."').trigger('change');
|
||||||
$('#hidden-custom_date').val('0');
|
$('#hidden-custom_date_".$name."').val('0');
|
||||||
}
|
}
|
||||||
|
|
||||||
$('#text-date').datepicker({
|
$('#text-date').datepicker({
|
||||||
|
@ -8052,7 +8053,7 @@ function html_print_select_date_range(
|
||||||
showAnim: 'slideDown'
|
showAnim: 'slideDown'
|
||||||
});
|
});
|
||||||
|
|
||||||
$('[id^=text-time_init]').timepicker({
|
$('[id^=time_init_".$name."]').timepicker({
|
||||||
showSecond: true,
|
showSecond: true,
|
||||||
timeFormat: '".$time_format_js."',
|
timeFormat: '".$time_format_js."',
|
||||||
timeOnlyTitle: '".__('Choose time')."',
|
timeOnlyTitle: '".__('Choose time')."',
|
||||||
|
@ -8064,7 +8065,7 @@ function html_print_select_date_range(
|
||||||
closeText: '".__('Close')."'
|
closeText: '".__('Close')."'
|
||||||
});
|
});
|
||||||
|
|
||||||
$('[id^=text-date_init]').datepicker ({
|
$('[id^=date_init_".$name."]').datepicker ({
|
||||||
dateFormat: '".$date_format_js."',
|
dateFormat: '".$date_format_js."',
|
||||||
changeMonth: true,
|
changeMonth: true,
|
||||||
changeYear: true,
|
changeYear: true,
|
||||||
|
@ -8073,9 +8074,9 @@ function html_print_select_date_range(
|
||||||
beforeShowDay: function (date) {
|
beforeShowDay: function (date) {
|
||||||
show_datepicker = 'date_init';
|
show_datepicker = 'date_init';
|
||||||
var date_now = date.getTime();
|
var date_now = date.getTime();
|
||||||
var date_ini_split = $('[id^=text-date_init]').val().split('/');
|
var date_ini_split = $('[id^=date_init_".$name."]').val().split('/');
|
||||||
var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime();
|
var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime();
|
||||||
var date_end_split = $('[id^=text-date_end]').val().split('/');
|
var date_end_split = $('[id^=date_end_".$name."]').val().split('/');
|
||||||
var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime();
|
var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime();
|
||||||
if (date_now > date_ini && date_now < date_end) {
|
if (date_now > date_ini && date_now < date_end) {
|
||||||
return [true, 'ui-date-range-in', 'prueba'];
|
return [true, 'ui-date-range-in', 'prueba'];
|
||||||
|
@ -8086,7 +8087,7 @@ function html_print_select_date_range(
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$('[id^=text-date_end]').datepicker ({
|
$('[id^=date_end_".$name."]').datepicker ({
|
||||||
dateFormat: '".$date_format_js."',
|
dateFormat: '".$date_format_js."',
|
||||||
changeMonth: true,
|
changeMonth: true,
|
||||||
changeYear: true,
|
changeYear: true,
|
||||||
|
@ -8095,9 +8096,9 @@ function html_print_select_date_range(
|
||||||
beforeShowDay: function (date) {
|
beforeShowDay: function (date) {
|
||||||
show_datepicker = 'date_end';
|
show_datepicker = 'date_end';
|
||||||
var date_now = date.getTime();
|
var date_now = date.getTime();
|
||||||
var date_ini_split = $('[id^=text-date_init]').val().split('/');
|
var date_ini_split = $('[id^=date_init_".$name."]').val().split('/');
|
||||||
var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime();
|
var date_ini = new Date(date_ini_split[1]+'/'+date_ini_split[2]+'/'+date_ini_split[0]).getTime();
|
||||||
var date_end_split = $('[id^=text-date_end]').val().split('/');
|
var date_end_split = $('[id^=date_end_".$name."]').val().split('/');
|
||||||
var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime();
|
var date_end = new Date(date_end_split[1]+'/'+date_end_split[2]+'/'+date_end_split[0]).getTime();
|
||||||
if (date_now > date_ini && date_now < date_end) {
|
if (date_now > date_ini && date_now < date_end) {
|
||||||
return [true, 'ui-date-range-in', 'prueba'];
|
return [true, 'ui-date-range-in', 'prueba'];
|
||||||
|
@ -8105,10 +8106,10 @@ function html_print_select_date_range(
|
||||||
return [true, 'ui-datepicker-current-day', ''];
|
return [true, 'ui-datepicker-current-day', ''];
|
||||||
}
|
}
|
||||||
return [true, '', ''];
|
return [true, '', ''];
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
$('[id^=text-time_end]').timepicker({
|
$('[id^=time_end_".$name."]').timepicker({
|
||||||
showSecond: true,
|
showSecond: true,
|
||||||
timeFormat: '".$time_format_js."',
|
timeFormat: '".$time_format_js."',
|
||||||
timeOnlyTitle: '".__('Choose time')."',
|
timeOnlyTitle: '".__('Choose time')."',
|
||||||
|
|
|
@ -24,12 +24,6 @@ function show_option_dialog(settings) {
|
||||||
method: "updateDashboard",
|
method: "updateDashboard",
|
||||||
dataType: "json"
|
dataType: "json"
|
||||||
},
|
},
|
||||||
oncancel: {
|
|
||||||
reload: true
|
|
||||||
},
|
|
||||||
onclose: {
|
|
||||||
reload: true
|
|
||||||
},
|
|
||||||
ajax_callback: update_dashboard
|
ajax_callback: update_dashboard
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -483,10 +477,6 @@ function initialiceLayout(data) {
|
||||||
function configurationWidget(cellId, widgetId, size) {
|
function configurationWidget(cellId, widgetId, size) {
|
||||||
var reload = 0;
|
var reload = 0;
|
||||||
var overlay = false;
|
var overlay = false;
|
||||||
if (widgetId == 46) {
|
|
||||||
reload = 1;
|
|
||||||
overlay = true;
|
|
||||||
}
|
|
||||||
title = $("#hidden-widget_name_" + cellId).val();
|
title = $("#hidden-widget_name_" + cellId).val();
|
||||||
load_modal({
|
load_modal({
|
||||||
target: $("#modal-config-widget"),
|
target: $("#modal-config-widget"),
|
||||||
|
|
|
@ -1338,7 +1338,6 @@ function listen_event_sound(settings) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
let sound_listener;
|
|
||||||
function check_event_sound(settings) {
|
function check_event_sound(settings) {
|
||||||
// Update elements time.
|
// Update elements time.
|
||||||
$(".elements-discovered-alerts ul li").each(function() {
|
$(".elements-discovered-alerts ul li").each(function() {
|
||||||
|
@ -1382,7 +1381,7 @@ function check_event_sound(settings) {
|
||||||
},
|
},
|
||||||
function(data) {
|
function(data) {
|
||||||
if (data != false) {
|
if (data != false) {
|
||||||
clearTimeout(sound_listener);
|
clearTimeout(window.sound_listener);
|
||||||
// Hide empty.
|
// Hide empty.
|
||||||
$("#tabs-sound-modal .empty-discovered-alerts").addClass(
|
$("#tabs-sound-modal .empty-discovered-alerts").addClass(
|
||||||
"invisible_important"
|
"invisible_important"
|
||||||
|
@ -1434,7 +1433,7 @@ function check_event_sound(settings) {
|
||||||
});
|
});
|
||||||
|
|
||||||
// -100 delay sound.
|
// -100 delay sound.
|
||||||
sound_listener = setTimeout(
|
window.sound_listener = setTimeout(
|
||||||
remove_audio,
|
remove_audio,
|
||||||
parseInt($("#tabs-sound-modal #time_sound").val()) * 1000 - 100
|
parseInt($("#tabs-sound-modal #time_sound").val()) * 1000 - 100
|
||||||
);
|
);
|
||||||
|
|
|
@ -270,8 +270,8 @@ class SecurityHardening extends Widget
|
||||||
'id' => 'row_date',
|
'id' => 'row_date',
|
||||||
'class' => 'row_input',
|
'class' => 'row_input',
|
||||||
'arguments' => [
|
'arguments' => [
|
||||||
'id' => 'range',
|
'id' => 'range_vulnerability',
|
||||||
'name' => 'range',
|
'name' => 'range_vulnerability',
|
||||||
'type' => 'date_range',
|
'type' => 'date_range',
|
||||||
'selected' => 'chose_range',
|
'selected' => 'chose_range',
|
||||||
'date_init' => date('Y/m/d', $values['date_init']),
|
'date_init' => date('Y/m/d', $values['date_init']),
|
||||||
|
@ -301,7 +301,7 @@ class SecurityHardening extends Widget
|
||||||
$values['limit'] = \get_parameter('limit', 10);
|
$values['limit'] = \get_parameter('limit', 10);
|
||||||
$values['category'] = \get_parameter('category', 6);
|
$values['category'] = \get_parameter('category', 6);
|
||||||
$values['ignore_skipped'] = \get_parameter_switch('ignore_skipped', 0);
|
$values['ignore_skipped'] = \get_parameter_switch('ignore_skipped', 0);
|
||||||
$date = $this->getDateParameter();
|
$date = \get_parameter_date('range_vulnerability', '', 'U');
|
||||||
$values['date_init'] = $date['date_init'];
|
$values['date_init'] = $date['date_init'];
|
||||||
$values['date_end'] = $date['date_end'];
|
$values['date_end'] = $date['date_end'];
|
||||||
return $values;
|
return $values;
|
||||||
|
@ -366,75 +366,6 @@ class SecurityHardening extends Widget
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the date in an object obtained by parameter.
|
|
||||||
*
|
|
||||||
* @return object Object with date_init, date_end and period.
|
|
||||||
*/
|
|
||||||
private function getDateParameter()
|
|
||||||
{
|
|
||||||
$date_end = get_parameter('date_end', 0);
|
|
||||||
$time_end = get_parameter('time_end');
|
|
||||||
$datetime_end = strtotime($date_end.' '.$time_end);
|
|
||||||
|
|
||||||
$custom_date = get_parameter('custom_date', 0);
|
|
||||||
$range = get_parameter('range', SECONDS_1DAY);
|
|
||||||
$date_text = get_parameter('range_text', SECONDS_1DAY);
|
|
||||||
$date_init_less = (strtotime(date('Y/m/d')) - SECONDS_1DAY);
|
|
||||||
$date_init = get_parameter('date_init', date(DATE_FORMAT, $date_init_less));
|
|
||||||
$time_init = get_parameter('time_init', date(TIME_FORMAT, $date_init_less));
|
|
||||||
$datetime_init = strtotime($date_init.' '.$time_init);
|
|
||||||
if ($custom_date === '1') {
|
|
||||||
if ($datetime_init >= $datetime_end) {
|
|
||||||
$datetime_init = $date_init_less;
|
|
||||||
}
|
|
||||||
|
|
||||||
$date_init = date('Y/m/d H:i:s', $datetime_init);
|
|
||||||
$date_end = date('Y/m/d H:i:s', $datetime_end);
|
|
||||||
$period = ($datetime_end - $datetime_init);
|
|
||||||
} else if ($custom_date === '2') {
|
|
||||||
$date_units = get_parameter('range_units');
|
|
||||||
$date_end = date('Y/m/d H:i:s');
|
|
||||||
$date_init = date('Y/m/d H:i:s', (strtotime($date_end) - ((int) $date_text * (int) $date_units)));
|
|
||||||
$period = (strtotime($date_end) - strtotime($date_init));
|
|
||||||
} else if (in_array($range, ['this_week', 'this_month', 'past_week', 'past_month'])) {
|
|
||||||
if ($range === 'this_week') {
|
|
||||||
$monday = date('Y/m/d', strtotime('last monday'));
|
|
||||||
|
|
||||||
$sunday = date('Y/m/d', strtotime($monday.' +6 days'));
|
|
||||||
$period = (strtotime($sunday) - strtotime($monday));
|
|
||||||
$date_init = $monday;
|
|
||||||
$date_end = $sunday;
|
|
||||||
} else if ($range === 'this_month') {
|
|
||||||
$date_end = date('Y/m/d', strtotime('last day of this month'));
|
|
||||||
$first_of_month = date('Y/m/d', strtotime('first day of this month'));
|
|
||||||
$date_init = $first_of_month;
|
|
||||||
$period = (strtotime($date_end) - strtotime($first_of_month));
|
|
||||||
} else if ($range === 'past_month') {
|
|
||||||
$date_end = date('Y/m/d', strtotime('last day of previous month'));
|
|
||||||
$first_of_month = date('Y/m/d', strtotime('first day of previous month'));
|
|
||||||
$date_init = $first_of_month;
|
|
||||||
$period = (strtotime($date_end) - strtotime($first_of_month));
|
|
||||||
} else if ($range === 'past_week') {
|
|
||||||
$date_end = date('Y/m/d', strtotime('sunday', strtotime('last week')));
|
|
||||||
$first_of_week = date('Y/m/d', strtotime('monday', strtotime('last week')));
|
|
||||||
$date_init = $first_of_week;
|
|
||||||
$period = (strtotime($date_end) - strtotime($first_of_week));
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$date_end = date('Y/m/d H:i:s');
|
|
||||||
$date_init = date('Y/m/d H:i:s', (strtotime($date_end) - $range));
|
|
||||||
$period = (strtotime($date_end) - strtotime($date_init));
|
|
||||||
}
|
|
||||||
|
|
||||||
return [
|
|
||||||
'date_init' => strtotime($date_init),
|
|
||||||
'date_end' => strtotime($date_end),
|
|
||||||
'period' => $period,
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check user's acl using group.
|
* Check user's acl using group.
|
||||||
*
|
*
|
||||||
|
@ -692,6 +623,7 @@ class SecurityHardening extends Widget
|
||||||
*/
|
*/
|
||||||
private function vulnerabilitiesByCategory($group, $category, $ignore_skipped=true)
|
private function vulnerabilitiesByCategory($group, $category, $ignore_skipped=true)
|
||||||
{
|
{
|
||||||
|
global $config;
|
||||||
$labels = [
|
$labels = [
|
||||||
__('Passed'),
|
__('Passed'),
|
||||||
__('Failed'),
|
__('Failed'),
|
||||||
|
@ -749,7 +681,7 @@ class SecurityHardening extends Widget
|
||||||
|
|
||||||
$total = (count($vulnerabilities['pass']) + count($vulnerabilities['fail']));
|
$total = (count($vulnerabilities['pass']) + count($vulnerabilities['fail']));
|
||||||
|
|
||||||
if ($ignore_skipped === false) {
|
if ($ignore_skipped === false && isset($vulnerabilities['skipped']) === true) {
|
||||||
$data[] = count($vulnerabilities['skipped']);
|
$data[] = count($vulnerabilities['skipped']);
|
||||||
$total += count($vulnerabilities['skipped']);
|
$total += count($vulnerabilities['skipped']);
|
||||||
$labels[] = __('Skipped');
|
$labels[] = __('Skipped');
|
||||||
|
@ -763,18 +695,19 @@ class SecurityHardening extends Widget
|
||||||
'display' => true,
|
'display' => true,
|
||||||
'position' => 'right',
|
'position' => 'right',
|
||||||
'align' => 'center',
|
'align' => 'center',
|
||||||
|
'fonts' => [ 'size' => '12' ],
|
||||||
],
|
],
|
||||||
'elements' => [
|
'elements' => [
|
||||||
'center' => [
|
'center' => [
|
||||||
'text' => $total,
|
'text' => $total,
|
||||||
'color' => '#2c3e50',
|
'color' => ($config['style'] === 'pandora_black') ? '#ffffff' : '#2c3e50',
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
'labels' => $labels,
|
'labels' => $labels,
|
||||||
'colors' => [
|
'colors' => [
|
||||||
'#82b92e',
|
'#82b92e',
|
||||||
'#e63c52',
|
'#e63c52',
|
||||||
'#E4E4E4',
|
($config['style'] === 'pandora_black') ? '#666' : '#E4E4E4',
|
||||||
],
|
],
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue