Bird
Raised Fist0
Testing Fundamentalstesting~20 mins

Security testing basics in Testing Fundamentals - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Security Testing Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Understanding SQL Injection

Which of the following best describes what an SQL Injection attack is?

AAn attack where malicious SQL code is inserted into input fields to manipulate the database.
BAn attack that floods the server with too many requests to cause a denial of service.
CAn attack that intercepts data packets between client and server to steal information.
DAn attack that exploits weak passwords to gain unauthorized access.
Attempts:
2 left
💡 Hint

Think about how attackers might use input fields to harm databases.

❓ Predict Output
intermediate
1:30remaining
Output of Security Test Log Filtering

Given the following Python code that filters security logs for failed login attempts, what will be the output?

Testing Fundamentals
logs = ["login success", "login failed", "password reset", "login failed"]
failed_attempts = [log for log in logs if "failed" in log]
print(len(failed_attempts))
A1
B3
C0
D2
Attempts:
2 left
💡 Hint

Count how many log entries contain the word 'failed'.

❓ assertion
advanced
2:00remaining
Validating Password Complexity Assertion

Which assertion correctly checks that a password string contains at least one uppercase letter, one lowercase letter, and one digit?

Aassert all(c.isupper() or c.islower() or c.isdigit() for c in password)
Bassert password.isupper() and password.islower() and password.isdigit()
Cassert any(c.isupper() for c in password) and any(c.islower() for c in password) and any(c.isdigit() for c in password)
Dassert password.contains(uppercase) and password.contains(lowercase) and password.contains(digit)
Attempts:
2 left
💡 Hint

Check if at least one character of each type exists in the password.

🔧 Debug
advanced
2:00remaining
Debugging Authentication Test Code

What error will this Python test code raise when run?

Testing Fundamentals
def test_login():
    username = "user1"
    password = "pass123"
    assert login(username, password) == True

def login(user, pwd):
    return user == "user1" and pwd == "pass1234"
ANo error, test passes
BAssertionError
CNameError
DTypeError
Attempts:
2 left
💡 Hint

Check the password comparison in the login function.

❓ framework
expert
2:30remaining
Choosing the Best Security Testing Framework Feature

Which feature is MOST important in a security testing framework to detect Cross-Site Scripting (XSS) vulnerabilities?

AAbility to inject and detect malicious scripts in web input fields
BCapability to perform load testing under heavy traffic
CSupport for automated UI responsiveness testing
DIntegration with version control systems for code commits
Attempts:
2 left
💡 Hint

Think about what XSS attacks do to web applications.

Practice

(1/5)
1. What is the main goal of security testing in software development?
easy
A. To test if the software looks good on all devices
B. To check if the software works fast enough
C. To verify the software's spelling and grammar
D. To find and fix weaknesses that could let attackers harm the software

Solution

  1. Step 1: Understand the purpose of security testing

    Security testing aims to find weak points that attackers could exploit.
  2. Step 2: Compare options to the goal

    Only To find and fix weaknesses that could let attackers harm the software talks about finding and fixing weaknesses to protect software.
  3. Final Answer:

    To find and fix weaknesses that could let attackers harm the software -> Option D
  4. Quick Check:

    Security testing = find weaknesses [OK]
Hint: Security testing finds weak spots to protect software [OK]
Common Mistakes:
  • Confusing security testing with performance testing
  • Thinking security testing checks UI design
  • Mixing security testing with spell checking
2. Which of the following is the correct way to describe a security test case?
easy
A. Check if the login page accepts only valid usernames and passwords
B. Check if the page loads within 2 seconds
C. Check if the font size is consistent across pages
D. Check if the software supports multiple languages

Solution

  1. Step 1: Identify what a security test case checks

    Security test cases verify protection against unauthorized access or attacks.
  2. Step 2: Match options to security focus

    Check if the login page accepts only valid usernames and passwords tests login validation, which is a security check; others test performance, UI, or localization.
  3. Final Answer:

    Check if the login page accepts only valid usernames and passwords -> Option A
  4. Quick Check:

    Security test case = validate access control [OK]
Hint: Security tests check access and data protection [OK]
Common Mistakes:
  • Choosing performance or UI tests as security tests
  • Ignoring the focus on unauthorized access
  • Confusing localization with security
3. Consider this simple security test code snippet in Python:
def test_password_length(password):
    return len(password) >= 8

result = test_password_length('pass123')
print(result)

What will be the output when this code runs?
medium
A. True
B. False
C. Error
D. None

Solution

  1. Step 1: Understand the function logic

    The function returns True if password length is 8 or more, else False.
  2. Step 2: Check the input password length

    'pass123' has 7 characters, which is less than 8, so function returns False.
  3. Final Answer:

    False -> Option B
  4. Quick Check:

    Password length 7 < 8 = False [OK]
Hint: Count characters to check length condition [OK]
Common Mistakes:
  • Assuming 'pass123' length is 8
  • Confusing True/False return values
  • Expecting an error due to missing input validation
4. You have this test code to check if a user input is safe:
def is_safe_input(user_input):
    if ''))

What is the problem with this test?
medium
A. It does not print anything
B. It will cause a syntax error because of quotes
C. It only checks for exact '<script>' but misses other attack forms
D. It always returns True regardless of input

Solution

  1. Step 1: Analyze the input check logic

    The function looks only for the exact string '<script>' in input.
  2. Step 2: Consider other attack variations

    Attackers can use variations like uppercase, spaces, or encoded forms that this check misses.
  3. Final Answer:

    It only checks for exact '<script>' but misses other attack forms -> Option C
  4. Quick Check:

    Exact string check misses variants [OK]
Hint: Check for all attack patterns, not just exact strings [OK]
Common Mistakes:
  • Thinking the code has syntax errors
  • Assuming it blocks all script attacks
  • Believing it never returns False
5. You want to test a web app for SQL injection vulnerabilities. Which approach best combines manual and automated security testing?
hard
A. Use an automated scanner to find injection points, then manually try custom payloads to confirm and explore
B. Only run automated scanners and trust their results
C. Manually type random SQL commands without tools
D. Ignore SQL injection and focus on UI bugs

Solution

  1. Step 1: Understand the strengths of automated and manual testing

    Automated tools quickly find many injection points; manual tests explore complex cases.
  2. Step 2: Evaluate options for best practice

    Use an automated scanner to find injection points, then manually try custom payloads to confirm and explore combines both methods effectively; others ignore manual checks or focus on unrelated issues.
  3. Final Answer:

    Use an automated scanner to find injection points, then manually try custom payloads to confirm and explore -> Option A
  4. Quick Check:

    Combine tools + manual tests for best security [OK]
Hint: Combine tools and manual tests for thorough security [OK]
Common Mistakes:
  • Relying only on automated tools
  • Skipping manual testing
  • Ignoring SQL injection risks
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard