[PHP] MongoDB & NoSQL injection

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Archiebald
  • Registratie: Juni 2006
  • Laatst online: 08:05
Ik ben bezig om een aantal MySQL tabellen over te zetten naar MongoDB.
En nu ben ik aan het kijken naar hoe het zit met het beveiligen tegen NoSQL injection in Mongo. We werken in PHP.
Waar je bij MySQL mysql_real_escape_string() kunt gebruiken, is er niet zo'n escape functie voor Mongo.

Na het zoeken in de docs van Mongo zelf, kwam ik op deze paginas uit:
http://us.php.net/manual/en/mongo.security.php
http://www.idontplaydarts...njection-in-php-at-least/

Begrijp ik dus goed dat Mongo beveiligt is tegen injection door (string) voor de variabele te zetten in de criteria bij find()?

Ik vraag me serieus af of de beveiliging tegen injection bij Mongo écht zo makkelijk te implementeren is? De applicatie wil ik goed beveiligen, en mijn gevoel zegt dat dit wel heel makkelijk (misschien te makkelijk) is als beveiliging.

Acties:
  • 0 Henk 'm!

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 21-08 23:06

HMS

Dat zou goed kunnen, bij bijvoorbeeld prepared statements hoef je ook geen escaping te doen.

Acties:
  • 0 Henk 'm!

  • Rorando
  • Registratie: April 2007
  • Laatst online: 21-09 20:40
In de 2e link die jij zelf hebt gepost staat het gewoon uitgelegd, omdat Mongo geen sql gebruikt kan je moeilijk de querys aanpassen. de enige zwakke plek is het meesturen van een object ( array ). door te type casten zorg je ervoor dat dat ook niet lukt en kan door de gebruiker de query niet aangepast worden

Acties:
  • 0 Henk 'm!

  • Archiebald
  • Registratie: Juni 2006
  • Laatst online: 08:05
Rorando schreef op dinsdag 20 maart 2012 @ 13:22:
In de 2e link die jij zelf hebt gepost staat het gewoon uitgelegd, omdat Mongo geen sql gebruikt kan je moeilijk de querys aanpassen. de enige zwakke plek is het meesturen van een object ( array ). door te type casten zorg je ervoor dat dat ook niet lukt en kan door de gebruiker de query niet aangepast worden
Ja oké, dan lees ik het dus goed.. Bedankt voor jullie antwoord! :)