Recall & Review
beginner
What is Cross-Site Scripting (XSS) in Node.js applications?
XSS is a security flaw where attackers inject malicious scripts into web pages viewed by other users. In Node.js apps, this often happens when user input is not properly sanitized before rendering in the browser.
Click to reveal answer
beginner
How can SQL Injection affect a Node.js app?
SQL Injection happens when untrusted user input is directly used in database queries. Attackers can manipulate queries to access or change data they shouldn't. Using parameterized queries or ORM libraries helps prevent this.
Click to reveal answer
beginner
What is the risk of using outdated npm packages in Node.js?
Outdated packages may have known security flaws. Attackers can exploit these to harm your app or steal data. Regularly updating packages and checking for vulnerabilities keeps your app safer.
Click to reveal answer
intermediate
Explain the concept of 'Insecure Deserialization' in Node.js.
Insecure deserialization occurs when untrusted data is converted back into objects without proper checks. Attackers can craft data to execute harmful code or change app behavior. Always validate and sanitize data before deserializing.
Click to reveal answer
beginner
Why is improper error handling a security concern in Node.js?
If error messages reveal too much info (like stack traces or database details), attackers can learn about your app's internals and find weaknesses. Use generic error messages for users and log detailed errors securely.
Click to reveal answer
Which practice helps prevent SQL Injection in Node.js?
✗ Incorrect
Parameterized queries separate code from data, stopping attackers from injecting malicious SQL.
What does XSS allow an attacker to do?
✗ Incorrect
XSS lets attackers run harmful scripts in users' browsers by injecting code into web pages.
Why should you keep npm packages updated?
✗ Incorrect
Updating packages patches security holes that attackers might exploit.
What is a sign of improper error handling in Node.js apps?
✗ Incorrect
Detailed errors shown to users can reveal sensitive info useful to attackers.
Insecure deserialization can lead to:
✗ Incorrect
Attackers can craft data that runs harmful code when deserialized without checks.
Describe three common security vulnerabilities in Node.js and how to prevent them.
Think about how attackers exploit user input and dependencies.
You got /3 concepts.
Explain why proper error handling is important for Node.js security.
Consider what attackers can learn from error details.
You got /3 concepts.