-
Notifications
You must be signed in to change notification settings - Fork 0
Description
verademo-javascript-api-1//services/users.service.js
Lines 16 to 26 in 6916a54
| }; | |
| exports.userLogin = (data, callback) => { | |
| let hashedPassword = md5(data.password) | |
| console.log('hashed pass: '+hashedPassword) | |
| db.query( | |
| //bad code - SQLi | |
| `SELECT password from users where username='`+data.username+`' and password='`+hashedPassword+`'`, | |
| //good code | |
| //`SELECT * from users where username = ? and password = ?, |
Filename: users.service.js
Line: 21
CWE: 89 (Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection') ('SQL Injection'))
This database query contains a SQL injection flaw. The call to mysql.Connection.query() constructs a dynamic SQL query using a variable derived from untrusted input. An attacker could exploit this flaw to execute arbitrary SQL queries against the database. Avoid dynamically constructing SQL queries. Instead, use parameterized prepared statements to prevent the database from interpreting the contents of bind variables as part of the query. Always validate untrusted input to ensure that it conforms to the expected format, using centralized data validation routines when possible. References: CWE OWASP/nDon't know how to fix this? Don't know why this was reported?
Get Assistance from Veracode