This type of memory is volatile and loses data when power is off.
What is RAM (Random Access Memory)?
This is the purpose of the stack in memory operations.
What is storing temporary variables, function parameters, and return addresses?
This occurs when data goes past an input variable, overwriting adjacent memory.
What is a buffer overflow?
whoami?
What is a linux command that shows the current logged-in user.
This command in GDB prints 4 bytes as hexadecimal values.
What is x/4xb $esp?
This is the difference between Machine Language and Assembly Language.
What is Machine Language is binary code executed by the CPU, while Assembly Language is a human-readable representation of machine code?
This is how a CALL instruction works.
What is pushing the return address onto the stack and jumping to a function?
This is how you find the offset to EBP in a buffer overflow.
What is calculating the difference between EBP and the input start address?
ls -l
What is a linux command listing files with detailed information including permissions?
The ASCII string represented by 0x41 0x42 0x43 0x44.
What is "ABCD"?
This is how the CPU executes an instruction.
What is the Fetch-Decode-Execute cycle?
This is the function of a MOV instruction.
What is moving data from one location to another?
This is a sequence of operating instructions that serve no function except leading to shellcode in an exploit.
What is a NOP sled?
chmod 600 filename
What is a linux command that changes file permissions so only the owner can read and write
This is how you print a string stored at a memory address.
What is x/s address?
The ASCII character 'A' is represented in hexadecimal as this.
What is 0x41?
0x08048400 <main>: push ebp
0x08048401 <main+1>: mov ebp,esp
0x08048403 <main+3>: sub esp,0x20
Using the above code determine the size of the stack in bytes.
What is 32 Bytes (20 hex)
This protection mechanism randomizes memory addresses to prevent predictable buffer overflow exploits.
What is ASLR (Address Space Layout Randomization)?
gcc -o program program.c
What is a command that compiles a C program into an executable.
This is how you set a breakpoint at a function in GDB.
What is break function_name?
These are the three types of program errors.
What are Syntax Error, Runtime Error, and Logic Error?
Daily Double
This is the difference between JMP, CALL, and RET instructions in assembly.
What is JMP jumps unconditionally, CALL pushes the return address and jumps to a function, and RET pops the return address from the stack and returns to the caller?
(Daily Double)
This is why an attack fails if the return address does not point inside the buffer.
What is because it will not execute the shellcode in memory?
find /home -name "*.c"?
What is a command finds all .c files in the /home directory and lists them.
Allows a program to execute with the privileges of the file owner?
What is the setuid permission?