- 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.
Quick Answer
The answer is insecure deserialization. This vulnerability occurs because the application takes untrusted JSON input and uses the ‘type’ field to dynamically instantiate a Java class without any validation or sanitization, allowing an attacker to supply a malicious class name—such as a known gadget class—that triggers remote code execution upon instantiation. On the Security+ SY0-701 exam, this scenario tests your understanding of how deserialization flaws bypass normal application logic, often appearing in questions about custom web apps that blindly trust user-supplied data to control object creation. A common trap is confusing this with injection attacks, but the core issue here is the unsafe reconstruction of objects from serialized data. Remember the memory tip: “If you let the user pick the class, you’re handing them the keys to the castle.”
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.
- ✗
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.
- ✓
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.
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.