- A
SQL injection
Why wrong: SQL injection involves injecting malicious SQL code into queries via user input. The scenario does not involve any database interactions or SQL commands; it involves instantiating arbitrary classes from user-supplied data, which is characteristic of insecure deserialization, not SQL injection.
- B
Cross-site scripting (XSS)
Why wrong: Cross-site scripting (XSS) is a client-side vulnerability where an attacker injects malicious scripts into web pages viewed by other users. This scenario involves server-side code execution through unsafe class instantiation, not injection of scripts into a web page, so XSS is not the correct classification.
- C
Insecure deserialization
Correct. Insecure deserialization occurs when an application deserializes untrusted data, allowing an attacker to control serialized objects or, as in this case, the class name to be instantiated. This can lead to remote code execution, denial of service, or privilege escalation.
- D
Directory traversal
Why wrong: Directory traversal is an attack that exploits insufficient input validation to access files outside the web root directory. This scenario does not involve file path manipulation; it involves the insecure instantiation of arbitrary classes from untrusted data, which is a deserialization issue.
SY0-701 Threats, Vulnerabilities, and Mitigations Practice Question
This SY0-701 practice question tests your understanding of threats, vulnerabilities, and mitigations. Read the scenario carefully and evaluate each option against the stated constraints before committing to an answer. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.
A security analyst is reviewing the source code of a custom web application. The application receives JSON data from users, which includes a 'type' field. The application uses the 'type' field to determine which Java class to instantiate, and then calls a method on that object. The application does not validate or sanitize the 'type' field. An attacker sends a crafted JSON payload that causes the application to instantiate an unexpected class, leading to remote code execution. Which type of vulnerability does this example describe?
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
Insecure deserialization
Option C is correct because the application deserializes untrusted JSON data and uses the 'type' field to dynamically instantiate a Java class without validation. This is a classic insecure deserialization vulnerability, where an attacker can supply a malicious class name (e.g., a gadget class like `Runtime` or a custom class) that, when instantiated and its method called, executes arbitrary code on the server. The lack of input sanitization on the 'type' field directly enables remote code execution via object instantiation.
Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
SQL injection
Why it's wrong here
SQL injection involves injecting malicious SQL code into queries via user input. The scenario does not involve any database interactions or SQL commands; it involves instantiating arbitrary classes from user-supplied data, which is characteristic of insecure deserialization, not SQL injection.
When this WOULD be correct
A web application takes user input and directly concatenates it into a SQL query without sanitization, allowing an attacker to manipulate the query to access or modify database data.
- ✗
Cross-site scripting (XSS)
Why it's wrong here
Cross-site scripting (XSS) is a client-side vulnerability where an attacker injects malicious scripts into web pages viewed by other users. This scenario involves server-side code execution through unsafe class instantiation, not injection of scripts into a web page, so XSS is not the correct classification.
When this WOULD be correct
A web application reflects user input in HTML output without proper encoding. An attacker submits a script in a comment field, and when other users view the comment, the script executes in their browsers, stealing session cookies. This is a stored XSS vulnerability.
- ✓
Insecure deserialization
Why this is correct
Correct. Insecure deserialization occurs when an application deserializes untrusted data, allowing an attacker to control serialized objects or, as in this case, the class name to be instantiated. This can lead to remote code execution, denial of service, or privilege escalation.
Related concept
Read the scenario before looking for a memorised answer.
- ✗
Directory traversal
Why it's wrong here
Directory traversal is an attack that exploits insufficient input validation to access files outside the web root directory. This scenario does not involve file path manipulation; it involves the insecure instantiation of arbitrary classes from untrusted data, which is a deserialization issue.
When this WOULD be correct
A web application takes a filename parameter from user input and uses it to read a file without proper validation, allowing an attacker to use '../' sequences to read files outside the intended directory, such as /etc/passwd.
Option-by-option analysis
Why each answer is right or wrong
Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The SY0-701 exam frequently reuses these exact scenarios with slightly different constraints.
✓Insecure deserializationCorrect answer▾
Why this is correct
Correct. Insecure deserialization occurs when an application deserializes untrusted data, allowing an attacker to control serialized objects or, as in this case, the class name to be instantiated. This can lead to remote code execution, denial of service, or privilege escalation.
✗SQL injectionWrong answer — click to see why▾
Why this is wrong here
The vulnerability involves instantiating arbitrary Java classes from user-controlled JSON data, which is a classic insecure deserialization flaw, not SQL injection, as no database queries are involved.
★ When this WOULD be the correct answer
A web application takes user input and directly concatenates it into a SQL query without sanitization, allowing an attacker to manipulate the query to access or modify database data.
Why candidates choose this
Candidates may confuse any injection-style vulnerability with SQL injection, especially when the attack involves crafted input leading to unintended behavior.
✗Cross-site scripting (XSS)Wrong answer — click to see why▾
Why this is wrong here
The vulnerability involves instantiation of arbitrary Java classes from user-supplied type field, leading to remote code execution, which is classic insecure deserialization. Cross-site scripting (XSS) involves injecting malicious scripts into web pages viewed by other users, not server-side object instantiation.
★ When this WOULD be the correct answer
A web application reflects user input in HTML output without proper encoding. An attacker submits a script in a comment field, and when other users view the comment, the script executes in their browsers, stealing session cookies. This is a stored XSS vulnerability.
Why candidates choose this
Candidates may confuse any input-based attack with XSS, especially when the description involves user-supplied data leading to code execution, but XSS is client-side script execution, not server-side code execution via object instantiation.
✗Directory traversalWrong answer — click to see why▾
Why this is wrong here
Directory traversal involves manipulating file paths to access unauthorized files, not instantiating arbitrary classes from user input. The vulnerability here is about insecure deserialization, where untrusted data controls object instantiation.
★ When this WOULD be the correct answer
A web application takes a filename parameter from user input and uses it to read a file without proper validation, allowing an attacker to use '../' sequences to read files outside the intended directory, such as /etc/passwd.
Why candidates choose this
Candidates may confuse the concept of 'type' field controlling class instantiation with file path manipulation, or they might think any injection that leads to code execution is a directory traversal.
Analysis generated from the official SY0-701blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”
Common exam traps
Common exam trap: answer the scenario, not the keyword
The trap here is that candidates may confuse insecure deserialization with injection attacks (SQLi or XSS) because the attacker is 'injecting' a class name, but the core mechanism is the unsafe deserialization of untrusted data to instantiate objects, not injecting code into a query or script context.
Trap categories for this question
Command / output trap
SQL injection involves injecting malicious SQL code into queries via user input. The scenario does not involve any database interactions or SQL commands; it involves instantiating arbitrary classes from user-supplied data, which is characteristic of insecure deserialization, not SQL injection.
Scenario analysis trap
SQL injection involves injecting malicious SQL code into queries via user input. The scenario does not involve any database interactions or SQL commands; it involves instantiating arbitrary classes from user-supplied data, which is characteristic of insecure deserialization, not SQL injection.
Detailed technical explanation
How to think about this question
In Java, insecure deserialization often exploits the `ObjectInputStream.readObject()` method or frameworks like Jackson or Fastjson that use polymorphic deserialization. Attackers leverage 'gadget chains'—a series of classes in the classpath (e.g., CommonsCollections) that, when deserialized, trigger unsafe operations like `Runtime.exec()`. A real-world example is the 2015 Apache Commons Collections vulnerability (CVE-2015-7501), where deserializing a crafted object allowed remote code execution on many Java applications.
KKey Concepts to Remember
- Read the scenario before looking for a memorised answer.
- Find the constraint that changes the correct option.
- Eliminate answers that are true in general but not in this case.
TExam Day Tips
- Watch for words such as best, first, most likely and least administrative effort.
- Review why wrong options are wrong, not only why the correct option is correct.
Key takeaway
Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.
Real-world example
How this comes up in practice
A developer is choosing between AES-256 (symmetric) and RSA-2048 (asymmetric) for encrypting a large file that will be sent to a partner. Symmetric encryption is fast but requires key exchange; asymmetric is slower but solves the key distribution problem. A hybrid approach — encrypt the file with AES, encrypt the AES key with RSA — is standard. Questions like this test whether you understand when each approach applies.
What to study next
Got this wrong? Here's your next step.
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
- →
Threats, Vulnerabilities, and Mitigations — study guide chapter
Learn the concepts, then practise the questions
- →
Threats, Vulnerabilities, and Mitigations practice questions
Targeted practice on this topic area only
- →
All SY0-701 questions
1,152 questions across all exam domains
- →
Security+ SY0-701 study guide
Full concept coverage aligned to exam objectives
- →
SY0-701 practice test guide
How to use practice tests most effectively before exam day
Related practice questions
Related SY0-701 practice-question pages
Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.
General Security Concepts practice questions
Practise SY0-701 questions linked to General Security Concepts.
Threats, Vulnerabilities, and Mitigations practice questions
Practise SY0-701 questions linked to Threats, Vulnerabilities, and Mitigations.
Security Architecture practice questions
Practise SY0-701 questions linked to Security Architecture.
Security Operations practice questions
Practise SY0-701 questions linked to Security Operations.
Security Program Management and Oversight practice questions
Practise SY0-701 questions linked to Security Program Management and Oversight.
Security+ social engineering questions
Practise SY0-701 questions linked to Security+ social engineering questions.
Security+ cryptography practice questions
Practise SY0-701 questions linked to Security+ cryptography.
Security+ IAM questions
Practise SY0-701 questions linked to Security+ IAM questions.
Security+ risk management questions
Practise SY0-701 questions linked to Security+ risk management questions.
Security+ incident response questions
Practise SY0-701 questions linked to Security+ incident response questions.
Security+ malware questions
Practise SY0-701 questions linked to Security+ malware questions.
Security+ vulnerability management questions
Practise SY0-701 questions linked to Security+ vulnerability management questions.
Practice this exam
Start a free SY0-701 practice session
Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.
FAQ
Questions learners often ask
What does this SY0-701 question test?
Threats, Vulnerabilities, and Mitigations — This question tests Threats, Vulnerabilities, and Mitigations — Read the scenario before looking for a memorised answer..
What is the correct answer to this question?
The correct answer is: Insecure deserialization — Option C is correct because the application deserializes untrusted JSON data and uses the 'type' field to dynamically instantiate a Java class without validation. This is a classic insecure deserialization vulnerability, where an attacker can supply a malicious class name (e.g., a gadget class like `Runtime` or a custom class) that, when instantiated and its method called, executes arbitrary code on the server. The lack of input sanitization on the 'type' field directly enables remote code execution via object instantiation.
What should I do if I get this SY0-701 question wrong?
Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.
What is the key concept behind this question?
Read the scenario before looking for a memorised answer.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →
Keep practising
More SY0-701 practice questions
- An HR analyst must send a salary file to an external auditor. The auditor only needs names, departments, and salary tota…
- An investigator receives a suspect laptop drive that may be used in court. Which approach best supports a forensically s…
- An investigator must collect data from a suspected insider-threat laptop so the evidence could be used in an HR and lega…
- An NDR tool shows a production web server sending small, periodic DNS queries to random-looking subdomains under a domai…
- An investigator needs to make a forensic image of a suspect laptop without changing the original drive contents. Which t…
- An operations team manages Linux servers over SSH. The security team wants to stop direct management access from employe…
Last reviewed: Jun 11, 2026
This SY0-701 practice question is part of Courseiva's free CompTIA certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SY0-701 exam.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.