dedlfix: mehrdimensionales array in einem input möglich?

Beitrag lesen

Tach!

unserialize kann u.U. PHP-Objekte zu vorhandenen Klassen instantiieren.
Mit dekodiertem JSON ist das m.W. nicht möglich.

JSON kennt keinen Klassennamen, insofern kann man auch nur allgemeine Objekte daraus erstellen. Um mit PHPs unserialize() gezielt Objekte andere Klassen als vorgesehen zu erstellen, ist möglich. Aber um das ausnutzen zu können, muss man Wissen über den Code haben, um einen existierenden Klassennamen zu bekommen und diese Klasse muss dann auch noch gleichnamige Methoden haben, die im weiteren Verlauf von der anderen Klasse hätten aufgerufen werden sollen. Wenn die nun tun, was man als Angreifer will, hat man gewonnen. Das ist aber kein ganz einfaches Unterfangen. Besser als solche wichtigen Daten manipulierbar über den Client zu schleifen ist dann doch Alternativen zu suchen, beispielsweise serverseitige Sessions.

dedlfix.