CSC 472 — Practice Quiz 2 — Review (Classes 1–11)

Individual quiz link

Practice Quiz 2 — Review (Classes 1–11)

30 multiple-choice questions, 1 point each. Closed notes: no slides, no AI tools, no talking. Your instructor will tell you when to start and when to stop. Pick the single best answer for each question, then press Submit quiz.

Your answers are saved in this browser as you go, so a refresh or a dropped connection will not lose your work. If you submit more than once, every submission is recorded.

 

Question 1 1 point

In this course, what is the key difference between correctness and security?

Question 2 1 point

A denial-of-service (DoS) attack primarily violates which property of the CIA triad?

Question 3 1 point

Per the course's generative-AI policy, how should you treat an answer an AI tool gives you (for example a gadget address or an offset it suggests)?

Question 4 1 point

By the cdecl convention, after a function returns, which register holds its return value?

Question 5 1 point

Which general-purpose register is conventionally used as the counter for loop and string operations, decremented on each iteration?

Question 6 1 point

x86/IA-32 is little-endian. The opposite ordering, big-endian, is also commonly called:

Question 7 1 point

On x86, the cmp instruction decides whether a later conditional jump is taken by setting bits in which register?

Question 8 1 point

What does the ret instruction do at the machine level?

Question 9 1 point

Under the cdecl calling convention, in what order are a function's arguments pushed onto the stack?

Question 10 1 point

In cdecl, who removes the arguments from the stack after the call returns?

Question 11 1 point

In a typical 32-bit cdecl stack frame, what is stored at [ebp+4]?

Question 12 1 point

Which sequence is the standard function prologue that establishes a new stack frame?

Question 13 1 point

The x86 leave instruction is equivalent to which pair of operations?

Question 14 1 point

Which gdb command prints the chain of stack frames (the call backtrace)?

Question 15 1 point

On 32-bit Linux using the int 0x80 convention, which system-call number is placed in EAX to invoke execve?

Question 16 1 point

To invoke execve("/bin/sh", ...) via int 0x80, what must EBX point to?

Question 17 1 point

Which tool traces the sequence of system calls a running program makes?

Question 18 1 point

Why must injected shellcode be position-independent?

Question 19 1 point

When shellcode sets up "/bin/sh" for execve, why is the string stored with a trailing NUL byte?

Question 20 1 point

In this month's labs, why is gets(buf) the root cause of the overflow, and what is the standard fix?

Question 21 1 point

Which gcc flag was used so the overflow could reach the saved return address without tripping a stack-smashing guard?

Question 22 1 point

A NOP sled on x86 is built by repeating which single-byte opcode?

Question 23 1 point

In a return-to-shellcode attack (Class 9), where is the overwritten return address made to point?

Question 24 1 point

With NX/DEP enabled (-z noexecstack), what happens when execution returns into shellcode placed on the stack?

Question 25 1 point

In Return-Oriented Programming, what is a gadget?

Question 26 1 point

In a return-chaining ROP exploit that passes arguments on the stack, what is the purpose of a pop; ret gadget inserted between two chained function calls?

Question 27 1 point

On x86 with NX support, where is the per-page No-eXecute (NX) bit stored?

Question 28 1 point

What best describes a zero-day vulnerability?

Question 29 1 point

In the Class 11 demo, why is rop2.c compiled as a statically linked binary?

Question 30 1 point

In string and memory-copy operations, which register conventionally holds the destination pointer?