heute steh ich irgendwie aufm schlauch. mir ist heute was aufgefallen und ich wollte fragen, ob das sogar eine sicherheitslücke sein kann.
mal angenommen man hat ein skript ungefähr in der art:
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM NAME="anmeldeformular" ACTION="eintragen.php" METHOD=POST>
<input type="checkbox" name="bereich[]" value="Sport"> Sport<br>
<input type="checkbox" name="bereich[]" value="Kultur"> Kultur<br>
<input type="checkbox" name="bereich[]" value="Freizeit"> Freizeit<br>
<input type="checkbox" name="bereich[]" value="Soziales"> Soziales<br>
<input type="checkbox" name="bereich[]" value="Gesundheit"> Gesundheit<br>
<input type="checkbox" name="bereich[]" value="Schule"> Schule<br>
<input type="checkbox" name="bereich[]" value="Umwelt"> Umwelt<br>
<INPUT TYPE=SUBMIT NAME="button" VALUE="Absenden" ID="button">
</FORM>
</BODY>
</HTML>
Der dazugehörige PHP-Code wäre:
<?php
include("db_connect.php");
$bereich1 = $_POST["bereich"];
$bereich2 = implode ("<br><br>", $bereich1);
$eintrag = "INSERT INTO ehrenamtswegweiser (bereich1) VALUES ('$bereich2')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Ihre Tätigkeitsbereiche wurden erfolgreich in die Datenbank eingetragen";
}
else
{
echo "Fehler beim Speichern der Tätigkeitsbereiche.";
}
?>
Also kurz gesagt: Man wählt checkboxen aus und die werden dann einfach jeweils durch <br> getrennt in die datenbank geschrieben. so jetzt meine frage. mal angenommen irgendein freak kommt auf die idee die html datei offline zu speichern und modifiziert sie folgendermaßen:
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM NAME="anmeldeformular" ACTION="eintragen.php" METHOD=POST>
<input type="checkbox" name="bereich[]" value="Sport"> Sport<br>
<input type="checkbox" name="bereich[]" value="Kultur"> Kultur<br>
<input type="checkbox" name="bereich[]" value="Freizeit"> Freizeit<br>
<input type="checkbox" name="bereich[]" value="Soziales"> Soziales<br>
<input type="checkbox" name="bereich[]" value="Gesundheit"> Gesundheit<br>
<input type="checkbox" name="bereich[]" value="Schule"> Schule<br>
<input type="checkbox" name="bereich[]" value="Umwelt"> Umwelt<br>
[COLOR=tomato]<input type="checkbox" name="bereich[]" value="irgendetwasverbotenes"> irgendetwasverbotenes<br>[/COLOR]
<INPUT TYPE=SUBMIT NAME="button" VALUE="Absenden" ID="button">
</FORM>
</BODY>
</HTML>
mal angenommen er leitet nun das skript per action="www.blablabla.de/eintragen.php" direkt auch auf die eintragen.php. würde die eintragen.php nun auch die zeile
[COLOR=tomato]<input type="checkbox" name="bereich[]" value="irgendetwasverbotenes"> irgendetwasverbotenes<br>[/COLOR]
mit dem verbotenen inhalt aus der offline html-datei in die mysql datenbank eintragen.
sorry, ist ein wenig unverständlich aber ich hoffe ihr könnt mir dennoch helfen. (das problem hat mir 1 bier und 1 asperin gekostet ::'-( )
mal angenommen man hat ein skript ungefähr in der art:
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM NAME="anmeldeformular" ACTION="eintragen.php" METHOD=POST>
<input type="checkbox" name="bereich[]" value="Sport"> Sport<br>
<input type="checkbox" name="bereich[]" value="Kultur"> Kultur<br>
<input type="checkbox" name="bereich[]" value="Freizeit"> Freizeit<br>
<input type="checkbox" name="bereich[]" value="Soziales"> Soziales<br>
<input type="checkbox" name="bereich[]" value="Gesundheit"> Gesundheit<br>
<input type="checkbox" name="bereich[]" value="Schule"> Schule<br>
<input type="checkbox" name="bereich[]" value="Umwelt"> Umwelt<br>
<INPUT TYPE=SUBMIT NAME="button" VALUE="Absenden" ID="button">
</FORM>
</BODY>
</HTML>
Der dazugehörige PHP-Code wäre:
<?php
include("db_connect.php");
$bereich1 = $_POST["bereich"];
$bereich2 = implode ("<br><br>", $bereich1);
$eintrag = "INSERT INTO ehrenamtswegweiser (bereich1) VALUES ('$bereich2')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{
echo "Ihre Tätigkeitsbereiche wurden erfolgreich in die Datenbank eingetragen";
}
else
{
echo "Fehler beim Speichern der Tätigkeitsbereiche.";
}
?>
Also kurz gesagt: Man wählt checkboxen aus und die werden dann einfach jeweils durch <br> getrennt in die datenbank geschrieben. so jetzt meine frage. mal angenommen irgendein freak kommt auf die idee die html datei offline zu speichern und modifiziert sie folgendermaßen:
<HTML>
<HEAD>
</HEAD>
<BODY>
<FORM NAME="anmeldeformular" ACTION="eintragen.php" METHOD=POST>
<input type="checkbox" name="bereich[]" value="Sport"> Sport<br>
<input type="checkbox" name="bereich[]" value="Kultur"> Kultur<br>
<input type="checkbox" name="bereich[]" value="Freizeit"> Freizeit<br>
<input type="checkbox" name="bereich[]" value="Soziales"> Soziales<br>
<input type="checkbox" name="bereich[]" value="Gesundheit"> Gesundheit<br>
<input type="checkbox" name="bereich[]" value="Schule"> Schule<br>
<input type="checkbox" name="bereich[]" value="Umwelt"> Umwelt<br>
[COLOR=tomato]<input type="checkbox" name="bereich[]" value="irgendetwasverbotenes"> irgendetwasverbotenes<br>[/COLOR]
<INPUT TYPE=SUBMIT NAME="button" VALUE="Absenden" ID="button">
</FORM>
</BODY>
</HTML>
mal angenommen er leitet nun das skript per action="www.blablabla.de/eintragen.php" direkt auch auf die eintragen.php. würde die eintragen.php nun auch die zeile
[COLOR=tomato]<input type="checkbox" name="bereich[]" value="irgendetwasverbotenes"> irgendetwasverbotenes<br>[/COLOR]
mit dem verbotenen inhalt aus der offline html-datei in die mysql datenbank eintragen.
sorry, ist ein wenig unverständlich aber ich hoffe ihr könnt mir dennoch helfen. (das problem hat mir 1 bier und 1 asperin gekostet ::'-( )
Kommentar