[NodeJS]MySQL Injektion

  • Sonstige

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von LaMiy.

    [NodeJS]MySQL Injektion

    Guten Morgen,

    da ich derzeit ein wenig mit NodeJS experimentiere, würde mich interessieren, wie ich hier SQL Injektion verhindern kann. Habe schon im Internet gesucht, habe aber noch ein paar Fragen.

    Hier mal ein kleiner Beispielcode:

    Quellcode

    1. username=req.body.username;
    2. var data={
    3. query:"select * from user where name='"+username+"'",
    4. connection:connection
    5. }


    Das wäre anfällig für SQL Injektion oder?

    Würde das hier schon ausreichen, um SQL-Injektion zu verhindern?

    Quellcode

    1. username=req.body.username;
    2. var data={
    3. query:"select * from user where name='"+mysql.escape(username)+"'",
    4. connection:connection
    5. }


    Laut NodeJS Dokumentation sind Multiple Abfragen aber standardmäßig sowieso deaktiviert. Damit wäre ein großteil der SQL-Injektion doch eh schon nicht möglich oder? Also dass man z.B. noch eine DELETE Abfrage mithängt.


    Support for multiple statements is disabled for security reasons (it allows for SQL injection attacks if values are not properly escaped). To use this feature you have to enable it for your connection:


    Das Einzige, was vermutlich ohne Escapen möglich wäre, wäre sowas wie OR 1=1 oder?

    Reicht das simple Escapen aus? Benötigt man das Escapen bei NodeJS?

    Danke im Voraus!