Diverse SQL-Injection Lücken geschlossen

This commit is contained in:
Andreas Österreicher
2014-12-01 10:07:21 +00:00
parent 9325ebecbf
commit f670f45d2f
87 changed files with 4310 additions and 2015 deletions
+50 -50
View File
@@ -154,10 +154,10 @@ class lehrstunde extends basis_db
{
// update
$sql_query='UPDATE '.$stpl_table;
$sql_query.=" SET datum=".$this->addslashes($this->datum).", stunde=".$this->addslashes($this->stunde);
$sql_query.=", ort_kurzbz=".$this->addslashes($this->ort_kurzbz).", mitarbeiter_uid=".$this->addslashes($this->lektor_uid);
$sql_query.=", updateamum=now(), updatevon=".$this->addslashes($uid);
$sql_query.=" WHERE $stpl_id=$this->stundenplan_id;";
$sql_query.=" SET datum=".$this->db_add_param($this->datum).", stunde=".$this->db_add_param($this->stunde);
$sql_query.=", ort_kurzbz=".$this->db_add_param($this->ort_kurzbz).", mitarbeiter_uid=".$this->db_add_param($this->lektor_uid);
$sql_query.=", updateamum=now(), updatevon=".$this->db_add_param($uid);
$sql_query.=" WHERE $stpl_id=".$this->db_add_param($this->stundenplan_id);
$this->lastqry = $sql_query;
//Datenbankabfrage
@@ -183,10 +183,10 @@ class lehrstunde extends basis_db
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
$sql_query='UPDATE '.$stpl_table;
$sql_query.=" SET datum='".addslashes($this->datum)."', stunde='".addslashes($this->stunde)."'";
$sql_query.=", ort_kurzbz='".addslashes($this->ort_kurzbz)."', mitarbeiter_uid='".addslashes($this->lektor_uid)."'";
$sql_query.=", updateamum='".addslashes($this->updateamum)."', updatevon='".addslashes($this->updatevon)."'";
$sql_query.=" WHERE $stpl_id='".addslashes($this->stundenplan_id)."';";
$sql_query.=" SET datum=".$this->db_add_param($this->datum).", stunde=".$this->db_add_param($this->stunde);
$sql_query.=", ort_kurzbz=".$this->db_add_param($this->ort_kurzbz).", mitarbeiter_uid=".$this->db_add_param($this->lektor_uid);
$sql_query.=", updateamum=".$this->db_add_param($this->updateamum).", updatevon=".$this->db_add_param($this->updatevon);
$sql_query.=" WHERE $stpl_id=".$this->db_add_param($this->stundenplan_id).";";
return $sql_query;
}
@@ -205,7 +205,7 @@ class lehrstunde extends basis_db
$stpl_table='lehre.'.TABLE_BEGIN.$stpl_table;
// Delete SQL vorbereiten
$sql_query='DELETE FROM '.$stpl_table;
$sql_query.=" WHERE $stpl_id=$id";
$sql_query.=" WHERE $stpl_id=".$this->db_add_param($id);
//Datenbankrequest
if (!$this->db_query($sql_query))
@@ -293,7 +293,7 @@ class lehrstunde extends basis_db
if ($type=='student')
{
// Lehrverband ermitteln
$sql_query="SELECT studiengang_kz, semester, verband, gruppe FROM public.tbl_student WHERE student_uid='".addslashes($uid)."'";
$sql_query="SELECT studiengang_kz, semester, verband, gruppe FROM public.tbl_student WHERE student_uid=".$this->db_add_param($uid);
if (!$this->db_query($sql_query) )
{
@@ -319,7 +319,7 @@ class lehrstunde extends basis_db
$studiensemester_obj = new studiensemester();
$this->ss=$studiensemester_obj->getNearest();
}
$sql_query="SELECT gruppe_kurzbz FROM public.tbl_benutzergruppe WHERE uid='".addslashes($uid)."' AND (studiensemester_kurzbz='".addslashes($this->ss)."' OR studiensemester_kurzbz IS NULL)";
$sql_query="SELECT gruppe_kurzbz FROM public.tbl_benutzergruppe WHERE uid=".$this->db_add_param($uid)." AND (studiensemester_kurzbz=".$this->db_add_param($this->ss)." OR studiensemester_kurzbz IS NULL)";
if (!$result_einheit=$this->db_query($sql_query))
{
@@ -335,29 +335,29 @@ class lehrstunde extends basis_db
$sql_query_stdplan='SELECT * FROM '.$stpl_view;
if ($type!='idList')
{
$sql_query=" WHERE datum>='$datum_von' AND datum<'$datum_bis'";
$sql_query=" WHERE datum>=".$this->db_add_param($datum_von)." AND datum<".$this->db_add_param($datum_bis);
if ($type=='lektor')
$sql_query.=" AND uid='".addslashes($uid)."'";
$sql_query.=" AND uid=".$this->db_add_param($uid);
elseif ($type=='ort')
$sql_query.=" AND ort_kurzbz='".addslashes($ort_kurzbz)."'";
$sql_query.=" AND ort_kurzbz=".$this->db_add_param($ort_kurzbz);
elseif ($type=='gruppe')
$sql_query.=" AND gruppe_kurzbz='".addslashes($gruppe_kurzbz)."'";
$sql_query.=" AND gruppe_kurzbz=".$this->db_add_param($gruppe_kurzbz);
elseif($type=='fachbereich')
$sql_query.=" AND fachbereich_kurzbz=".$this->db_add_param($fachbereich_kurzbz);
else
{
$sql_query.=" AND ( (studiengang_kz='".addslashes($studiengang_kz)."'";
$sql_query.=" AND ( (studiengang_kz=".$this->db_add_param($studiengang_kz, FHC_INTEGER);
if ($sem!=null && $sem>=0 && $sem!='')
{
$sql_query.=" AND (semester='".addslashes($sem)."' OR semester IS NULL";
$sql_query.=" AND (semester=".$this->db_add_param($sem)." OR semester IS NULL";
if ($type=='student' && $sem>0)
$sql_query.=" OR semester='".addslashes(($sem+1))."'";
$sql_query.=" OR semester=".$this->db_add_param(($sem+1));
$sql_query.=')';
}
if ($ver!='0' && $ver!=null && $ver!='')
$sql_query.=" AND (verband='".addslashes($ver)."' OR verband IS NULL OR verband='0' OR verband='')";
$sql_query.=" AND (verband=".$this->db_add_param($ver)." OR verband IS NULL OR verband='0' OR verband='')";
if ($grp!='0' && $grp!=null && $grp!='')
$sql_query.=" AND (gruppe='".addslashes($grp)."' OR gruppe IS NULL OR gruppe='0' OR gruppe='')";
$sql_query.=" AND (gruppe=".$this->db_add_param($grp)." OR gruppe IS NULL OR gruppe='0' OR gruppe='')";
if ($type=='student')
$sql_query.=' AND gruppe_kurzbz IS NULL';
$sql_query.=' )';
@@ -365,7 +365,7 @@ class lehrstunde extends basis_db
for ($i=0;$i<$num_rows_einheit;$i++)
{
$row=$this->db_fetch_object($result_einheit,$i);
$sql_query.=" OR gruppe_kurzbz='".addslashes($row->gruppe_kurzbz)."'";
$sql_query.=" OR gruppe_kurzbz=".$this->db_add_param($row->gruppe_kurzbz);
}
$sql_query.=')';
}
@@ -376,7 +376,7 @@ class lehrstunde extends basis_db
{
$sql_query='';
foreach ($idList as $id)
$sql_query.=" OR ".$stpl_id."='".addslashes($id)."'";
$sql_query.=" OR ".$stpl_id."=".$this->db_add_param($id);
$sql_query=mb_substr($sql_query,3);
$sql_query_stdplan.=' WHERE'.$sql_query;
}
@@ -490,9 +490,9 @@ class lehrstunde extends basis_db
// Stundenplandaten ermitteln
// Abfrage generieren
$sql="SELECT * FROM ".$stpl_table." WHERE lehreinheit_id='".addslashes($lehreinheit_id)."'";
$sql="SELECT * FROM ".$stpl_table." WHERE lehreinheit_id=".$this->db_add_param($lehreinheit_id, FHC_INTEGER);
if ($uid!=null && !is_null($uid))
$sql.=" AND mitarbeiter_uid='".addslashes($uid)."'";
$sql.=" AND mitarbeiter_uid=".$this->db_add_param($uid);
//Datenbankabfrage
if (!$this->db_query($sql))
@@ -560,29 +560,29 @@ class lehrstunde extends basis_db
// Datenbank abfragen
$sql_query="SELECT $stpl_id AS id, lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde FROM $stpl_table
WHERE datum='".addslashes($this->datum)."' AND stunde='".addslashes($this->stunde)."' AND (ort_kurzbz='".addslashes($this->ort_kurzbz)."' ";
WHERE datum=".$this->db_add_param($this->datum)." AND stunde=".$this->db_add_param($this->stunde)." AND (ort_kurzbz=".$this->db_add_param($this->ort_kurzbz)." ";
if ($this->lektor_uid!='_DummyLektor')
$sql_query.=" OR (uid='".addslashes($this->lektor_uid)."' AND uid!='_DummyLektor') ";
$sql_query.=" OR (uid=".$this->db_add_param($this->lektor_uid)." AND uid!='_DummyLektor') ";
//Wenn eine Kollisionspruefung auf Studentenebene durchgefuehrt wird, werden die LVB nicht gecheckt
if($kollision_student=='false')
{
$sql_query.=" OR (studiengang_kz='".addslashes($this->studiengang_kz)."' AND semester='".addslashes($this->sem)."'";
$sql_query.=" OR (studiengang_kz=".$this->db_add_param($this->studiengang_kz)." AND semester=".$this->db_add_param($this->sem);
if($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
{
$sql_query.=" OR (gruppe_kurzbz='".addslashes($this->gruppe_kurzbz)."')";
$sql_query.=" OR (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz).")";
}
else
{
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
$sql_query.=" AND (verband='".addslashes($this->ver)."' OR verband IS NULL OR verband='' OR verband=' ')";
$sql_query.=" AND (verband=".$this->db_add_param($this->ver)." OR verband IS NULL OR verband='' OR verband=' ')";
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
$sql_query.=" AND (gruppe='".addslashes($this->grp)."' OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
$sql_query.=" AND (gruppe=".$this->db_add_param($this->grp)." OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
}
$sql_query.=")";
}
$sql_query.=") AND unr!='".addslashes($this->unr)."'";
$sql_query.=") AND unr!=".$this->db_add_param($this->unr);
if (!$erg_stpl = $this->db_query($sql_query))
{
@@ -621,9 +621,9 @@ class lehrstunde extends basis_db
$sql_query="SELECT
zeitsperre_id,zeitsperretyp_kurzbz,mitarbeiter_uid AS lektor,vondatum,vonstunde,bisdatum,bisstunde
FROM campus.tbl_zeitsperre
WHERE mitarbeiter_uid='".addslashes($this->lektor_uid)."'
AND (vondatum<'".addslashes($this->datum)."' OR (vondatum='".addslashes($this->datum)."' AND (vonstunde<='".addslashes($this->stunde)."' OR vonstunde IS NULL)))
AND (bisdatum>'".addslashes($this->datum)."' OR (bisdatum='".addslashes($this->datum)."' AND (bisstunde>='".addslashes($this->stunde)."' OR bisstunde IS NULL)));";
WHERE mitarbeiter_uid=".$this->db_add_param($this->lektor_uid)."
AND (vondatum<".$this->db_add_param($this->datum)." OR (vondatum=".$this->db_add_param($this->datum)." AND (vonstunde<=".$this->db_add_param($this->stunde)." OR vonstunde IS NULL)))
AND (bisdatum>".$this->db_add_param($this->datum)." OR (bisdatum=".$this->db_add_param($this->datum)." AND (bisstunde>=".$this->db_add_param($this->stunde)." OR bisstunde IS NULL)));";
if (!$erg_zs = $this->db_query($sql_query))
{
@@ -653,20 +653,20 @@ class lehrstunde extends basis_db
semester, verband, gruppe, gruppe_kurzbz, datum, stunde
FROM lehre.vw_reservierung
WHERE
datum='".addslashes($this->datum)."' AND
stunde='".addslashes($this->stunde)."' AND
(ort_kurzbz='".addslashes($this->ort_kurzbz)."' OR ";
datum=".$this->db_add_param($this->datum)." AND
stunde=".$this->db_add_param($this->stunde)." AND
(ort_kurzbz=".$this->db_add_param($this->ort_kurzbz)." OR ";
if ($this->lektor_uid!='_DummyLektor')
$sql_query.="(uid='".addslashes($this->lektor_uid)."' AND uid!='_DummyLektor') OR ";
$sql_query.="(uid=".$this->db_add_param($this->lektor_uid)." AND uid!='_DummyLektor') OR ";
$sql_query.="(studiengang_kz='".addslashes($this->studiengang_kz)."' AND semester='".addslashes($this->sem)."'";
$sql_query.="(studiengang_kz=".$this->db_add_param($this->studiengang_kz)." AND semester=".$this->db_add_param($this->sem);
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
$sql_query.=" AND (verband='".addslashes($this->ver)."' OR verband IS NULL OR verband='' OR verband=' ')";
$sql_query.=" AND (verband=".$this->db_add_param($this->ver)." OR verband IS NULL OR verband='' OR verband=' ')";
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
$sql_query.=" AND (gruppe='".addslashes($this->grp)."' OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
$sql_query.=" AND (gruppe=".$this->db_add_param($this->grp)." OR gruppe IS NULL OR gruppe='' OR gruppe=' ')";
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
$sql_query.=" AND (gruppe_kurzbz='".addslashes($this->gruppe_kurzbz)."')";
$sql_query.=" AND (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz).")";
$sql_query.="))";
if (!$erg_res = $this->db_query($sql_query))
@@ -701,34 +701,34 @@ class lehrstunde extends basis_db
$sql_query = "SELECT *
FROM ".$stpl_table."_student_unr
WHERE datum='".addslashes($this->datum)."' AND stunde='".addslashes($this->stunde)."' AND student_uid IN(
WHERE datum=".$this->db_add_param($this->datum)." AND stunde=".$this->db_add_param($this->stunde)." AND student_uid IN(
SELECT uid FROM public.vw_gruppen WHERE
";
$sql_query.="(studiengang_kz='".addslashes($this->studiengang_kz)."' AND semester='".addslashes($this->sem)."'
$sql_query.="(studiengang_kz=".$this->db_add_param($this->studiengang_kz)." AND semester=".$this->db_add_param($this->sem)."
AND studiensemester_kurzbz=(
SELECT tbl_studiensemester.studiensemester_kurzbz
FROM
public.tbl_studiensemester
WHERE
tbl_studiensemester.ende >= '".addslashes($this->datum)."'
AND tbl_studiensemester.start <='".addslashes($this->datum)."' LIMIT 1)";
tbl_studiensemester.ende >= ".$this->db_add_param($this->datum)."
AND tbl_studiensemester.start <=".$this->db_add_param($this->datum)." LIMIT 1)";
if ($this->gruppe_kurzbz!=null && $this->gruppe_kurzbz!='' && $this->gruppe_kurzbz!=' ')
$sql_query.=" AND (gruppe_kurzbz='".addslashes($this->gruppe_kurzbz)."')";
$sql_query.=" AND (gruppe_kurzbz=".$this->db_add_param($this->gruppe_kurzbz).")";
else
{
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
$sql_query.=" AND (verband='".addslashes($this->ver)."')";
$sql_query.=" AND (verband=".$this->db_add_param($this->ver).")";
else
$sql_query.=" AND (verband IS NULL OR verband='' OR verband=' ')";
if ($this->grp!=null && $this->grp!='' && $this->grp!=' ')
$sql_query.=" AND (gruppe='".addslashes($this->grp)."')";
$sql_query.=" AND (gruppe=".$this->db_add_param($this->grp).")";
else
$sql_query.=" AND (gruppe IS NULL OR gruppe='' OR gruppe=' ')";
}
$sql_query.=")) AND unr!='".addslashes($this->unr)."'";
$sql_query.=")) AND unr!=".$this->db_add_param($this->unr);
if (!$erg_stpl=$this->db_query($sql_query))
{