Skip to content
0:00 / 0:00

#bufferoverflow#stack#security

Running a Buffer Overflow Attack - Computerphile

Computerphile

2.6M subscribers • 70 videos on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • A classic. People kept recommending it from 2019 to 2022.
  • Presented by Dr. Mike Pound, Assistant Professor at the University of Nottingham

Intermediate. Assumes working knowledge.

2.1M views10 years ago2 recommendations

SecuritySystems programmingExploits and vulnerabilitiesMemory management

Dr. Mike Pound explains and demonstrates how a buffer overflow attack works on the stack to gain root access.

Making yourself the all-powerful "Root" super-user on a computer using a buffer overflow attack. Assistant Professor Dr Mike Pound details how it's done. Formerly titled "Buffer Overflow Attack" -Aug 2021 The Stack: youtu.be/7ha78yWRDlE Botnets: youtu.be/UVFmC178_Vs The Golden Key: iPhone Encryption: youtu.be/6RNKtwAGvqc 3D Stereo Vision: youtu.be/O7B2vCsTpC0 Brain Scanner: youtu.be/TQ0sL1ZGnQ4 facebook.com/computerphile twitter.com/computer_phile This video was filmed and edited by Sean Riley. Computer Science at the University of Nottingham: bit.ly/nottscomputer Computerphile is a sister project to Brady Haran's Numberphile. More at bradyharan.com

Why it's here

2 people recommend this

What people say. Recommended as an extremely well-made explanation of how buffer overflows happen and how they can be exploited.

u/DarthCrustin r/C_Programming • Recommends

On “How do I inject code with a buffer overflow attack?”

I'm not a big fan of Computerphile on YouTube, but I think this video is extremely well made and I believe he does what you're looking for here. link to this video If I understand your question correctly, you're going to need to insert the byte code into the buffer and then start execution at the beginning or the buffer. You can use a nop sled for spacing.

u/DnBenjaminin r/C_Programming • Recommends

On “Array with size set using a variable can fit more elements than should be possible”

You have discovered The Buffer Overflow. Here’s a good video on how it happens and how it can be exploited. link to this video It’s good to understand how your programs are organized and how they use memory. Here’s another related video: link to this video The second video is not about buffer overflows, but rather stack overflows (kind of the opposite problem), but it takes a little more time showing off some debugger usage. One way to protect against buffer overflows is **never trust user input**. You as the programmer knew exactly how many array locations would be overwritten (10), so you could refuse to allocate the array any smaller than that (either allocate the array as something like int arr[min(10, si…

u/Modi57in r/C_Programming • Mentions

On “Understanding buffer overflows?”

You aren't producing an overflow of any kind. At the moment, you are just printing uninitialized, which may be zero, or something (pseudo-)random. An overflow is, when you read/write in memory, outside of the allocated buffer. Because you declared that array directly in the function, it is put on the stack. But also on the stack is the return pointer, where your function returns to, whens it's done doing its stuff. If you really know what you are doing, you can manipulate that value and let that program jump and execute your (potentionally malicious) code. If you have about 17 minutes and are interested in further explanaition, this video of computerphile explains it rather well: link to this video