SQL 인젝션, '?'
imaginaring:
사용자가 입력한 값이 그대로 SQL 쿼리에 포함되며 악의적인 SQL 코드가 실행되는 공격 예를 들어, 다음과 같은 코드가 있다고 가정해보자const userId = req.query.id; // 사용자 입력const sql = `SELECT * FROM users WHERE id = '${userId}'`;connection.query(sql, (err, result) => { if (err) throw err; console.log(result);}); 만약 userId에 1 OR 1=1 과 같은 값을 입력하면 쿼리는 다음과 같이 변형된다SELECT * FROM users WHERE id = '1 OR 1=1';이 쿼리는 항상 참 (1=1)이므로, 데이터베이스의 모든 데이터를 반환할 수 있다..