From 86b2ec3a46fc32f69efc33930bc41a343160d763 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Fri, 8 Jul 2005 18:18:34 +0000 Subject: [PATCH] =?UTF-8?q?Task=20#4402=20:=20Security=20Problem=20Probl?= =?UTF-8?q?=C3=A8me=20est=20resolu=20grace=20=C3=A0=20une=20procedure=20de?= =?UTF-8?q?=20check=20Avantage=20:=20la=20validit=C3=A9=20des=20formules?= =?UTF-8?q?=20est=20directement=20v=C3=A9rifi=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/bnb.sxw | Bin 9776 -> 9245 bytes html/form.php | 8 +++++++- include/class_form.php | 12 ++++++------ include/form_inc.php | 36 +++++++++++++++++++++++++++++++----- include/impress_inc.php | 29 +++++++++++++++++++++++++++-- 5 files changed, 71 insertions(+), 14 deletions(-) diff --git a/doc/bnb.sxw b/doc/bnb.sxw index ad3275600ab5600b309c4b67da280d6081484e96..8f291d99aaab19f8599ce1218fe6907500a8ce22 100644 GIT binary patch delta 6363 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 NLFvDBie~$>^iR!6Va@;m diff --git a/html/form.php b/html/form.php index d3094dc1e..c03b27f70 100644 --- a/html/form.php +++ b/html/form.php @@ -18,7 +18,6 @@ */ /* $Revision$ */ // Copyright Author Dany De Bontridder ddebontridder@yahoo.fr -/* $Revision$ */ include_once ("ac_common.php"); include_once ("user_menu.php"); @@ -53,6 +52,11 @@ if ( isset ($_POST["record"] )) { AddForm($cn,$HTTP_POST_VARS); echo ""; } +if ( isset ($_POST["del_form"]) ) { + echo '
'; + DeleteForm($cn,$_POST['fr_id']); + echo "
"; +} ShowMenuComptaForm($_SESSION['g_dossier']); @@ -94,6 +98,8 @@ if ( isset ($_POST["add_line"]) ) { if ( isset ($_POST["update"]) ) { echo '
'; UpdateForm($cn,$HTTP_POST_VARS); + ViewForm($cn,$sessid,$_POST["fr_id"]); + echo "
"; } diff --git a/include/class_form.php b/include/class_form.php index e281c259e..5a4c61156 100644 --- a/include/class_form.php +++ b/include/class_form.php @@ -50,12 +50,12 @@ class formulaire { $col=array(); for ($i=0;$i<$Max;$i++) { $l_line=pg_fetch_array($Res,$i); - $col[]=ParseFormula($this->db, - $l_line['fo_label'], - $l_line['fo_formula'], - $p_start, - $p_end - ); + $col[]=ParseFormula($this->db, + $l_line['fo_label'], + $l_line['fo_formula'], + $p_start, + $p_end + ); } //for ($i $this->row=$col; diff --git a/include/form_inc.php b/include/form_inc.php index 8e9b25705..e81189db5 100644 --- a/include/form_inc.php +++ b/include/form_inc.php @@ -20,7 +20,7 @@ // Copyright Author Dany De Bontridder ddebontridder@yahoo.fr //$Revision$ - +include_once("impress_inc.php"); /* function EncodeForm * Purpose : * Encoding Form @@ -104,6 +104,8 @@ if ( isset ($fr_id)) printf (''; } echo ''; + echo ''; + echo ""; } @@ -129,6 +131,23 @@ function ViewForm($p_cn,$p_sessid,$p_id) { EncodeForm($l_line,$p_sessid,$array); } +/* function ViewForm + * Purpose : Show the details of a form + * + * parm : + * - $p_cn connection + * - $p_id gives the formdef.fr_id + * - sessid for the search window + * gen : + * - none + * return: + * - none + * + */ +function DeleteForm($p_cn,$p_id) { + ExecSql($p_cn,"delete from form where fo_fr_id=$p_id"); + ExecSql($p_cn,"delete from formdef where fr_id=$p_id"); +} /* function GetDataForm * Purpose : * Get data from a form @@ -218,7 +237,7 @@ function UpdateForm($p_cn,$p_array) { echo_debug ("UpdateForm $key = $element"); ${"$key"}=$element; } - $Res=ExecSql($p_cn,"update formdef set fr_label='".$form_nom."' where fr_id=".$fr_id); + $Res=ExecSql($p_cn,"update formdef set fr_label='".FormatString($form_nom)."' where fr_id=".$fr_id); $Res=ExecSql($p_cn,"delete from form where fo_fr_id=".$fr_id); // Test les positions for ($i =0; $i <$line;$i++) { @@ -243,6 +262,9 @@ function UpdateForm($p_cn,$p_array) { ${"text$i"}=FormatString(${"text$i"}); ${"form$i"}=FormatString(${"form$i"}); if ( ${"text$i"} != null ) { + if ( CheckFormula(${"form$i"}) == false ) + ${"form$i"}="!!!!!!! FORMULE INVALIDE ".${"form$i"}; + ${"form$i"}=(${"form$i"}==null)?"null":"'".${"form$i"}."'"; $sql=sprintf("insert into form (fo_fr_id, fo_pos, @@ -252,7 +274,9 @@ function UpdateForm($p_cn,$p_array) { %d, '%s', %s)", - $fr_id,${"pos$i"},${"text$i"},${"form$i"} + $fr_id,${"pos$i"}, + ${"text$i"}, + ${"form$i"} ); $Res=ExecSql($p_cn,$sql); } @@ -283,7 +307,7 @@ function AddForm($p_cn,$p_array) { echo_error("Nom ou ligne non défini"); return; } - $sql="insert into formdef (fr_label) values ('".$form_nom."')"; + $sql="insert into formdef (fr_label) values ('".FormatString($form_nom)."')"; $Res=ExecSql($p_cn,$sql); $n=GetSequence($p_cn,"s_formdef"); @@ -291,7 +315,9 @@ function AddForm($p_cn,$p_array) { ${"text$i"}=FormatString(${"text$i"}); ${"form$i"}=FormatString(${"form$i"}); if ( ${"text$i"} != null ) { - ${"form$i"}=(${"form$i"}==null)?${"form$i"}:"'".${"form$i"}."'"; + // ${"form$i"}=(${"form$i"}==null)?${"form$i"}:"'".${"form$i"}."'"; + ${"form$i"}=(${"form$i"}==null)?"null":"'".${"form$i"}."'"; + CheckFormula(${"form$i"}); $sql=sprintf("insert into form (fo_fr_id, fo_pos, fo_label, diff --git a/include/impress_inc.php b/include/impress_inc.php index 49dd0381e..fc0f94d82 100644 --- a/include/impress_inc.php +++ b/include/impress_inc.php @@ -718,10 +718,15 @@ function GetRappel($p_cn,$p_jrnx_id,$p_jrn_id,$p_exercice,$which,$p_type,$p_cent * - array * * - * NOTE: problem: the formulas don't take date range parameters into account....TODO. - * --> I would like to get the sum of operations between two specified dates. */ function ParseFormula($p_cn,$p_label,$p_formula,$p_start,$p_end) { + if ( CheckFormula($p_formula) == false) { + $aret=array('desc'=>$p_label.' Erreur Formule!', + 'montant'=>0); + return $aret; + + } + if ( $p_start == $p_end ) $cond=" j_tech_per = $p_start "; else @@ -822,4 +827,24 @@ function GetFormulaValue($p_cn,$p_label,$p_formula,$p_cond) } return $aret; } +/* function CheckFormula + ************************************************** + * Purpose : Check if formula doesn't contain + * php injection + * + * parm : + * - string + * gen : + * - + * return: none : stop on error + */ +function CheckFormula($p_string) { + if ( ereg ("^((\[{0,1}[0-9]+\.*[0-9]*%{0,1}\]{0,1})+ *([+-\*/])* *(\[{0,1}[0-9]+\.*[0-9]*%{0,1}\]{0,1})*)*( *FROM=[0-9][0-0].20[0-9][0-9]){0,1}$",$p_string) == false) + { + return false; + } else { + return true; + } +} + ?>