mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-05 17:18:13 +01:00
Debug v23
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||

|

|
||||||

|

|
||||||
[](https://php.net/)
|
[](https://php.net/)
|
||||||
[](https://github.com/Dolibarr/dolibarr)
|
[](https://github.com/Dolibarr/dolibarr)
|
||||||
[](https://bestpractices.coreinfrastructure.org/projects/5521)
|
[](https://bestpractices.coreinfrastructure.org/projects/5521)
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,11 @@ require '../../main.inc.php';
|
|||||||
* @var string $conffile // $conffile is defined into filefunc.inc.php
|
* @var string $conffile // $conffile is defined into filefunc.inc.php
|
||||||
* @var string $dolibarr_main_prod
|
* @var string $dolibarr_main_prod
|
||||||
* @var string $dolibarr_main_document_root
|
* @var string $dolibarr_main_document_root
|
||||||
|
* @var string $dolibarr_main_restrict_os_commands
|
||||||
|
* @var string $dolibarr_main_restrict_eval_methods
|
||||||
|
* @var string $dolibarr_main_restrict_ip
|
||||||
|
* @var string $dolibarr_main_db_pass
|
||||||
|
* @var string $dolibarr_main_db_encrypted_pass
|
||||||
*/
|
*/
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/memory.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/memory.lib.php';
|
||||||
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php';
|
||||||
@@ -387,6 +392,15 @@ if (empty($dolibarr_main_restrict_os_commands)) {
|
|||||||
print ' <span class="opacitymedium">('.$langs->trans("RecommendedValueIs", 'mysqldump, mysql, pg_dump, pg_restore, mariadb, mariadb-dump, clamdscan').')</span>';
|
print ' <span class="opacitymedium">('.$langs->trans("RecommendedValueIs", 'mysqldump, mysql, pg_dump, pg_restore, mariadb, mariadb-dump, clamdscan').')</span>';
|
||||||
print '<br>';
|
print '<br>';
|
||||||
|
|
||||||
|
print '<strong>$dolibarr_main_restrict_eval_methods</strong>: ';
|
||||||
|
if (empty($dolibarr_main_restrict_eval_methods)) {
|
||||||
|
print $langs->trans("None");
|
||||||
|
} else {
|
||||||
|
print $dolibarr_main_restrict_eval_methods;
|
||||||
|
}
|
||||||
|
print ' <span class="opacitymedium">('.$langs->trans("RecommendedValueIs", 'getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,dol_concat,preg_match').')</span>';
|
||||||
|
print '<br>';
|
||||||
|
|
||||||
if (!getDolGlobalString('SECURITY_DISABLE_TEST_ON_OBFUSCATED_CONF')) {
|
if (!getDolGlobalString('SECURITY_DISABLE_TEST_ON_OBFUSCATED_CONF')) {
|
||||||
print '<strong>$dolibarr_main_db_pass</strong>: ';
|
print '<strong>$dolibarr_main_db_pass</strong>: ';
|
||||||
if (!empty($dolibarr_main_db_pass) && empty($dolibarr_main_db_encrypted_pass)) {
|
if (!empty($dolibarr_main_db_pass) && empty($dolibarr_main_db_encrypted_pass)) {
|
||||||
|
|||||||
@@ -316,11 +316,11 @@ $dolibarr_main_restrict_os_commands='mariadb-dump, mariadb, mysqldump, mysql, pg
|
|||||||
// ==================================
|
// ==================================
|
||||||
// A whitelist of functions and methods to restrict the commands you can execute in a custom calculated fields, like "computed fields" of
|
// A whitelist of functions and methods to restrict the commands you can execute in a custom calculated fields, like "computed fields" of
|
||||||
// extrafields or string conditions of extrafields.
|
// extrafields or string conditions of extrafields.
|
||||||
// Default value: 'getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,round,dol_now,preg_match'
|
// Default value: 'getDolGlobalString, getDolGlobalInt, getDolCurrency, fetchNoCompute, hasRight, isModEnabled, isStringVarMatching, abs, round, dol_now, preg_match'
|
||||||
// Examples:
|
// Examples:
|
||||||
// $dolibarr_main_restrict_eval_methods='getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,dol_concat,preg_match';
|
// $dolibarr_main_restrict_eval_methods='getDolGlobalString, getDolGlobalInt, getDolCurrency, fetchNoCompute, hasRight, isModEnabled, isStringVarMatching, abs, min, max, round, dol_now, dol_concat, preg_match';
|
||||||
//
|
//
|
||||||
$dolibarr_main_restrict_eval_methods='getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,preg_match';
|
$dolibarr_main_restrict_eval_methods='getDolGlobalString, getDolGlobalInt, getDolCurrency, fetchNoCompute, hasRight, isModEnabled, isStringVarMatching, abs, min, max, round, dol_now, preg_match';
|
||||||
|
|
||||||
// dolibarr_main_disabled_modules
|
// dolibarr_main_disabled_modules
|
||||||
// ==================================
|
// ==================================
|
||||||
|
|||||||
@@ -11935,10 +11935,10 @@ function dol_eval_standard($s, $hideerrors = 1, $onlysimplestring = '1')
|
|||||||
|
|
||||||
// Set $dolibarr_main_restrict_eval_methods_array
|
// Set $dolibarr_main_restrict_eval_methods_array
|
||||||
if (!isset($dolibarr_main_restrict_eval_methods)) {
|
if (!isset($dolibarr_main_restrict_eval_methods)) {
|
||||||
$dolibarr_main_restrict_eval_methods = 'getDolGlobalString,getDolGlobalInt,getDolCurrency,fetchNoCompute,hasRight,isModEnabled,isStringVarMatching,abs,min,max,round,dol_now,preg_match';
|
$dolibarr_main_restrict_eval_methods = 'getDolGlobalString, getDolGlobalInt, getDolCurrency, fetchNoCompute, hasRight, isModEnabled, isStringVarMatching, abs, min, max, round, dol_now, preg_match';
|
||||||
}
|
}
|
||||||
//print '$dolibarr_main_restrict_eval_methods = '.$dolibarr_main_restrict_eval_methods."\n";
|
//print '$dolibarr_main_restrict_eval_methods = '.$dolibarr_main_restrict_eval_methods."\n";
|
||||||
$dolibarr_main_restrict_eval_methods_array = explode(',', $dolibarr_main_restrict_eval_methods);
|
$dolibarr_main_restrict_eval_methods_array = explode(',', str_replace(" ", "", $dolibarr_main_restrict_eval_methods));
|
||||||
|
|
||||||
// Test on dangerous char (used for RCE), we allow only characters to make PHP variable testing
|
// Test on dangerous char (used for RCE), we allow only characters to make PHP variable testing
|
||||||
// We must accept with 1: '1 && getDolGlobalInt("doesnotexist1") && getDolGlobalString("MAIN_FEATURES_LEVEL")'
|
// We must accept with 1: '1 && getDolGlobalInt("doesnotexist1") && getDolGlobalString("MAIN_FEATURES_LEVEL")'
|
||||||
|
|||||||
Reference in New Issue
Block a user