-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Intentional vulnerable #32
base: main
Are you sure you want to change the base?
Conversation
app.get('/login', (req, res) => { | ||
const user = req.query.username; | ||
const pass = req.query.password; | ||
|
||
// Concatenation using a different pattern to obscure SQL injection vulnerability | ||
const query = ['SELECT * FROM users WHERE username = "', user, '" AND password = "', pass, '"'].join(''); | ||
|
||
db.get(query, (err, row) => { | ||
if (err) { | ||
res.status(500).send('Internal Server Error'); | ||
} else if (row) { | ||
res.send('Login successful!'); | ||
} else { | ||
res.send('Invalid credentials'); | ||
} | ||
}); | ||
}); |
Check failure
Code scanning / CodeQL
Missing rate limiting High
a database access
// Slightly obfuscated SQL Injection vulnerability | ||
app.get('/login', (req, res) => { | ||
const user = req.query.username; | ||
const pass = req.query.password; |
Check warning
Code scanning / CodeQL
Sensitive data read from GET request Medium
Route handler
// Concatenation using a different pattern to obscure SQL injection vulnerability | ||
const query = ['SELECT * FROM users WHERE username = "', user, '" AND password = "', pass, '"'].join(''); | ||
|
||
db.get(query, (err, row) => { |
Check failure
Code scanning / CodeQL
Database query built from user-controlled sources High
user-provided value
This query string depends on a
user-provided value
}; | ||
|
||
// Render profile with potential XSS | ||
res.send(renderProfile(username)); |
Check failure
Code scanning / CodeQL
Reflected cross-site scripting High
No description provided.