Hallo Comunity
Als Anfänger ist man sich der Sicherheitslücken zuallermeist überhaupt nicht bewusst. Es gibt dazu zwar zuhauf Artikel im Inet zu finden aber welcher Anfänger versteht das schon wenn er sich das erste mal damit beschäftigt. Also schiebt man es erstmal ein Stück nach hinten.
Als mir bewusst wurde wie einfach die Übergabeparameter $Get in der URL manipulierbar sind, habe ich mir strikt angewöhnt solche nicht zu nutzen.
Oft kann man dann lesen nutze einfach $Post das wäre sicherer. Ein Trugschluss wie mir die Tage auffiel. Ein einfaches Addon für Firefox und schon kann man alle Formfelder manipulieren. Dies zwingt mich nun nochmals mein Code entsprechend abzuändern.
Die Sicherheitslücke liegt dabei nicht nur bei SQL-Injection sondern auch bei Manipulieren der Werte selbst. ZB könnte der Angreifer den Preis verändern (auch wenn dies ein Hidden-Field ist). Man sollte also nur Daten schicken welche bei einer Manipulation nix bringen würden, solche wie eine ID.
Sensible Daten wie Preis etc. müssen also per Datenbankabfrage auf der Seite wo sie hin gepostet werden nochmals geholt werden. Sie einfach nur mit mysql_real_escape_string() von Injections zu filtern und direckt weiter zu verarbeiten genügt nicht.
Dennoch bleiben da noch ein paar Fragen offen.
1. Genügt es die Daten mit der Funktion mysql_real_escape_string() zu filtern oder sollte man noch andere Funktionen zum filtern nutzen?
2. Relativ umständlich finde ich die doppelten Datenbankabfrage die aus obrigen Szenario resultieren. Sind Sessions da sicherer oder sollte man darauf wenn möglich doch lieber verzichten?
3. Was muss man bei normalen Cookies bedenken?
4. Und welche oft genutzten Sicherheitslücken gilt es noch zu beachten?
Als Anfänger ist man sich der Sicherheitslücken zuallermeist überhaupt nicht bewusst. Es gibt dazu zwar zuhauf Artikel im Inet zu finden aber welcher Anfänger versteht das schon wenn er sich das erste mal damit beschäftigt. Also schiebt man es erstmal ein Stück nach hinten.
Als mir bewusst wurde wie einfach die Übergabeparameter $Get in der URL manipulierbar sind, habe ich mir strikt angewöhnt solche nicht zu nutzen.
Oft kann man dann lesen nutze einfach $Post das wäre sicherer. Ein Trugschluss wie mir die Tage auffiel. Ein einfaches Addon für Firefox und schon kann man alle Formfelder manipulieren. Dies zwingt mich nun nochmals mein Code entsprechend abzuändern.
Die Sicherheitslücke liegt dabei nicht nur bei SQL-Injection sondern auch bei Manipulieren der Werte selbst. ZB könnte der Angreifer den Preis verändern (auch wenn dies ein Hidden-Field ist). Man sollte also nur Daten schicken welche bei einer Manipulation nix bringen würden, solche wie eine ID.
Sensible Daten wie Preis etc. müssen also per Datenbankabfrage auf der Seite wo sie hin gepostet werden nochmals geholt werden. Sie einfach nur mit mysql_real_escape_string() von Injections zu filtern und direckt weiter zu verarbeiten genügt nicht.
Dennoch bleiben da noch ein paar Fragen offen.
1. Genügt es die Daten mit der Funktion mysql_real_escape_string() zu filtern oder sollte man noch andere Funktionen zum filtern nutzen?
2. Relativ umständlich finde ich die doppelten Datenbankabfrage die aus obrigen Szenario resultieren. Sind Sessions da sicherer oder sollte man darauf wenn möglich doch lieber verzichten?
3. Was muss man bei normalen Cookies bedenken?
4. Und welche oft genutzten Sicherheitslücken gilt es noch zu beachten?