From the course: Learning Assembly Language

Unlock the full course today

Join today to access over 22,600 courses taught by industry experts or purchase this course individually.

Executing code from the data section

Executing code from the data section - Python Tutorial

From the course: Learning Assembly Language

Start my 1-month free trial

Executing code from the data section

- [Instructor] Okay, so we've seen how to do a buffer overflow and change the program flow. Let's take this one step further and execute code from our simulated packet. Let's change the packet. We can remove the data and code at the end of the program now as the complete exploit comes in the packet. The packet now follows the standard structure of an exploit. Initial data sufficient to exactly fill the buffer. An address to override the return address which is shown as returner and a payload. The value of return has been crafted to point to where our exploit payload code will be in the data segment. The payload starts with 68 texts. Followed by a data segment address 4O4O33. This is where the message in our payload will start. The payload then pushes another address... 4O1O34. And the instruction C3, which is a return. This address points to the invoke standard out in the application's code segment. Okay, let's…

Contents