Тёмный

Running a Buffer Overflow Attack - Computerphile 

Computerphile
Подписаться 2,4 млн
Просмотров 2,1 млн
50% 1

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: • Reverse Polish Notatio...
Botnets: • Botnets - Computerphile
The Golden Key: iPhone Encryption: • The Golden Key: FBI vs...
3D Stereo Vision: • Stereo 3D Vision (How ...
Brain Scanner: • Brain Scanner - Comput...
/ computerphile
/ computer_phile
This video was filmed and edited by Sean Riley.
Computer Science at the University of Nottingham: bit.ly/nottscom...
Computerphile is a sister project to Brady Haran's Numberphile. More at www.bradyharan.com

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 1,2 тыс.   
@MaxJNorman
@MaxJNorman 8 лет назад
I really like this guy
@TheCFJB
@TheCFJB 5 лет назад
I'd 100% agree.
@gregoriysharapov1936
@gregoriysharapov1936 5 лет назад
Absolutely, max!
@benchiang8235
@benchiang8235 5 лет назад
Me too, he's cool.
@GodlyOne123
@GodlyOne123 5 лет назад
It's refreshing to see positivity and enthusiasm towards typically dry subjects. This whole channel is great, but this guy in particular is probably their most enjoyable to watch.
@ashleybishton742
@ashleybishton742 5 лет назад
Dude can hack anything I bet lol. He could devastate a system lol
@aadeshsalecha4951
@aadeshsalecha4951 8 лет назад
This was by far the best video..... Normally Computerphile tries to address a wider audience, but I personally would like to see more of these kind of in-depth videos.
@kipchickensout
@kipchickensout 5 лет назад
exactly
@CP-hd5cj
@CP-hd5cj 5 лет назад
Check out liveoverflow if you like this. He has tons of similar stuff, and decently in-depth
@dvorak2676
@dvorak2676 5 лет назад
this is an introduction
@iraianbu3388
@iraianbu3388 5 лет назад
May i know what content is on cat shell_code
@cheesescrust5399
@cheesescrust5399 4 года назад
Dvo rak yeah I learned how to do basic stack overflows and run stack overflows back in the XP days, but I never learned in depth, complex attacks. I learned enough to run a debugger, find the memory address, write a nopales, etc but I never got deep enough to learn heap spraying, etc. They can get really complex now to bypass ASLR and other measures. I am trying to revisit this and learn more!
@tristant9686
@tristant9686 8 лет назад
You can see he is very excited to tell this.
@minecraft9260
@minecraft9260 6 лет назад
Tristan T I'm excited to learn this.
@germangamingvideos6069
@germangamingvideos6069 5 лет назад
@@minecraft9260 Me too
@matze3596
@matze3596 5 лет назад
Frist time he can show what i spend his time on...Most people would not listen maybe cause they dont understand or maybe because they believe its something illegal.
@buzifalus
@buzifalus 5 лет назад
Because people are usually not interested or afraid of complex computer stuff
@iraianbu3388
@iraianbu3388 5 лет назад
May i know what content is on cat shell_code
@ElagabalusRex
@ElagabalusRex 8 лет назад
I would love to see a series on micro-architectures, machine code, and assembly
@TheRomichou
@TheRomichou 8 лет назад
+ElagabalusRex Agreed!
@Funderpanda
@Funderpanda 7 лет назад
and micro-waves!
@akam9919
@akam9919 6 лет назад
Yes!
@kanpitcha54
@kanpitcha54 6 лет назад
please!
@AbuDoujana
@AbuDoujana 6 лет назад
@stephen schneider it may be tricky but it is definitely not 'insanely hard'... U just need to know at least the basics of forward programming ( C programing for example) and you can start from there, i would say i love it more than any other field but everyone has an opinion
@edgeeffect
@edgeeffect 8 лет назад
The sledge/bomb animation is BRILLIANT!
@seanski44
@seanski44 8 лет назад
Thankyou! I was pleased with that one ;)
@FreeStuffPlease
@FreeStuffPlease 5 лет назад
It made me laugh :)
@ItsNotJustRice
@ItsNotJustRice 3 года назад
I know this particular video was years ago, but this guy is actually fun to watch. I'm terrible at learning, but he makes sense of a lot of things without dragging on the boring part.
@Stopinvadingmyhardware
@Stopinvadingmyhardware Год назад
Are you that mad at someone you don’t even know?
@Soedmaelk
@Soedmaelk Год назад
@@Stopinvadingmyhardware You replied to the wrong guy
@ButzPunk
@ButzPunk 8 лет назад
This was brilliant. More like it, please!
@cloveramv
@cloveramv 5 лет назад
Powerrrrrrrrrrrrrrrrrrrrrrr BUHAHAHAHAHAAHAHA whoami . . I am root baby.
@iraianbu3388
@iraianbu3388 5 лет назад
May i know what content is on cat shell_code
@colossalbreacker
@colossalbreacker 4 года назад
I'm a cs major, but I don't normally like watching cs related youtube channels. These videos are awesome though, some of them are things I thought I had a decent grasp on and I end up learning something. I also love how happy Dr. Pound seems when he is talking about something, you can tell he really likes what he does.
@Elite7555
@Elite7555 3 года назад
Absolutely brilliant demonstration. All universities that I know teach C/C++, but they don't teach the essence of software security, which should be pounded into every student's head right from the beginning.
@NightLife094
@NightLife094 2 года назад
In my university in germany, they taught us these. But i mean the courses are called cybersecurity and reverse engineering
@lawrencelim6890
@lawrencelim6890 Год назад
@@NightLife094same. The info was taught in an intro to cyber course which made us do a lab that required us to attain root access using buffer overflow just like in the video.
@Anvilshock
@Anvilshock 8 лет назад
Nice presentation, thanks! It would be even nicer to have the stack video segment made clickable, given RU-vid's tendency to "Suggest" everything but related videos.
@Computerphile
@Computerphile 8 лет назад
+Anvilshock I'll sort that! >Sean
@Anvilshock
@Anvilshock 8 лет назад
***** Much obliged, thanks!
@zavvie809
@zavvie809 8 лет назад
+Computerphile I suggest heap sort for that. :)
@MamboBean343
@MamboBean343 8 лет назад
+Computerphile Still not really fixed. It's currently neither a card or an annotation.
@ChaimS
@ChaimS 8 лет назад
+Anvilshock Also, it would be awesome if it was mentioned where in the video he talks about them, since we may not necessarily have 10-15 minutes to watch the whole video.
@IrishH2
@IrishH2 4 года назад
Fun fact, buffer overflows are where most of the famous glitches in the original Pokemon games come from. From Missingno. to fighting Professor Oak, to getting a Mew in Cerulean City. All done through buffer overflowing and putting numbers where they shouldn't be.
@williamdrum9899
@williamdrum9899 Год назад
Interesting. Those games were coded directly in assembly though so I don't think they used stack-allocated buffers.
@JohnDoe-m8i
@JohnDoe-m8i 11 дней назад
@@williamdrum9899 How else are they meant to store information?
@williamdrum9899
@williamdrum9899 11 дней назад
@@JohnDoe-m8i Back then it was easier to predefine your array sizes since you had complete control over the CPU and memory. The downside to this is that you had no segfaults or anything to stop a mistake like a buffer overrum
@sivalley
@sivalley 8 лет назад
To err is human, but to really foul things up requires the root password. -Unknown
@U014B
@U014B 8 лет назад
Love it.
@sophiacristina
@sophiacristina 4 года назад
It was Aristotle!
@kbs1212
@kbs1212 4 года назад
sivalley Stealing-no, borrowing this
@xBZZZZyt
@xBZZZZyt 4 года назад
Or SUDOer's password.
@masonhunter2748
@masonhunter2748 4 года назад
To err is human. -Grammarly
@geonerd
@geonerd 8 лет назад
Mike has a certain Dr. Evil vibe in that he clearly enjoys writing "Malicious Code." :)
@qgysugfq3935
@qgysugfq3935 Год назад
This hits especially hard since I just finished my assembly and computer systems class. Great video!
@dantesalighieri
@dantesalighieri 8 месяцев назад
The way this man explains things is absolutely DIAMOND.
@DFX2KX
@DFX2KX 8 лет назад
messing with, and forcibly messing with the stack is the source of a few old school console hacks if I recall, particularly on NES games. You write memory by doing very specific things to set certain memory values in an unusual way
@hamstsorkxxor
@hamstsorkxxor 8 лет назад
Pokemon! If I remember correctly, that missingno nonsense in Pokemon Red was a stack overflow.
@UmVtCg
@UmVtCg 8 лет назад
The game genie does this
@ns2304
@ns2304 2 года назад
Think its how PS1 and onwards did it as well. Gameshark and Gamemaster ripped the values off the game corresponding to a particular attribute. Then you tweak the code to get outcome like inf items, inf health etc. Never knew this was the science behind it hah
@jurepustoslemsek7882
@jurepustoslemsek7882 5 лет назад
I watched this a long time ago, but after taking an Assembly class in uni, I suddenly completely understand what he did and why it works! this is an absolutely amazing video as it actually gives an incentive to continue learning low-level programming and such.
@JaisMathews
@JaisMathews 3 года назад
It would have been pleasure to sit in his classes. We need more professors like this.
@jonahansen
@jonahansen 6 лет назад
Damn! Excellent presentation on how stack overflow exploits work! No hand-waving; a complete demonstration of how it's done, down to aligning the return address and the no-op sled mitigation.
@gassnake2004
@gassnake2004 8 лет назад
Great video! There's a lot of virus "concept" videos that explain how they work, but not many that show the actual implementation and writing of specific attacks. More please!
@smtkumar007
@smtkumar007 2 года назад
youtube algorithms are like now this guy has just finished watching bootstrap in 1 hours & that more than enough to recommend him buffer overflow attack videos
@xSCOOTERx2
@xSCOOTERx2 8 лет назад
Had this for a homework assignment. It was quite hard to understand how to manipulate the stack at first, but this video helped a lot.
@itissmallagain8002
@itissmallagain8002 3 года назад
currently have this as assignment
@ireacttoshit4861
@ireacttoshit4861 15 дней назад
@@itissmallagain8002 same here in 2024
@anyonetube
@anyonetube 4 месяца назад
the first 3 minutes of video give me more efficient information than any other videos i watched about this title
@furetosan
@furetosan 8 лет назад
Awesome video. Especially the bit about the no-op slope.
@cyberwithtom7714
@cyberwithtom7714 5 лет назад
for years ive been reading and trying to work out the ins and outs of bufferoverflow i can honestly say this is one of the most simple and effective videos out there on BO well done and Kudos loved watching it (for the 100th time)
@MiSt3300
@MiSt3300 4 года назад
Apart from the attack, it's so interesting to see how the computer actually processes the programme... I mean, I never really thought about it, that all the functions and returns and variables have to be stored somewhere and that it has to know how to execute it... I really like to think of a computer as a human being XD
@JaceLansing
@JaceLansing 4 года назад
Man! How am I only finding your channel now!? This was great. Thank you for taking the time to put this together.
@__-xl1zi
@__-xl1zi 5 лет назад
Everyone else: *makes a 20 char buffer* Mike: "We allocate a buffer that's 500 characters long"
@username17234
@username17234 5 лет назад
You need the buffer to be big enough to be able to comfortably hold your machine code plus a hefty padding for memory address variations.
@dicksonZero
@dicksonZero 5 лет назад
still wondering how he is going to type all 500 characters until he pulls out his python
@cheesescrust5399
@cheesescrust5399 4 года назад
Eduardo I didn’t think it matters. I thought even small buffers could be exploited because the exploit payload just overflows and gets thrown into the stack. As long as you nopsled is hit by the pointer it just keeps running until it hits the return address which jumps to the shell code? Is that not correct?
@rampage_sl
@rampage_sl 4 года назад
@@dicksonZero I see what you did there
@mu11668B
@mu11668B 4 года назад
Well... If I'm not writing codes for dev boards that has memory capped at few KBs, I usually allocate a lot more, like 4096 bytes. It has hardly any drawback for machines with GBs of RAM and lowers the risks of writing data beyond the buffer zone.
@lumin0l161
@lumin0l161 Год назад
Best explanation of a buffer overflow I’ve ever seen.
@x1g5dj7dh4
@x1g5dj7dh4 8 лет назад
This was amazingly informative, especially for someone not using Linux. Well done!
@lolbajset
@lolbajset 8 лет назад
I absolutely love videos on things like malware, exploits and similar stuff, feel free to upload more of it if you can :D
@34521ful
@34521ful 5 лет назад
Just a slight error for future viewers, at the 7:10 minute mark, he points from "a" to the start of "buffer". What he meant was that we are at "ebp" to the start of the buffer is what sub $0x1f4, %esp does :)
@mustafadurukan6893
@mustafadurukan6893 5 лет назад
So the buffer starts from esp minus 500 and the buffer progresses towards ebp, right?
@sweetspotendurance
@sweetspotendurance 8 лет назад
I am a C++ programmer and this is an awesome easy-to-understand introduction to gdb. Thanks for this video, I love low level C, bash, and Linux commands (like the Heartbleed video, for example)
@JuddMan03
@JuddMan03 8 лет назад
Gdb is damn good. Also try valgrind
@MrJoao6697
@MrJoao6697 8 лет назад
What a video! Great job on explaining this attack, I'll definitely be looking forward to learn more of this as I get into assembler at University!
@emrekantar5003
@emrekantar5003 Год назад
Might be by far the best explanation i’ve ever watched
@eliausi9696
@eliausi9696 8 лет назад
Welldone on explaining this so well
@johnconnor7978
@johnconnor7978 6 лет назад
The only truly knowledgeable bunch of geeks on the internet that also know how to explain what they know. You sirs earned by EIP hi5
@VaultRaider
@VaultRaider 8 лет назад
These types of videos are better than the robots/drones stuff
@anujmchitale
@anujmchitale 5 лет назад
Not for a person who isn't interested in SW security or programming in general.
@Aemilindore
@Aemilindore 8 лет назад
I truly love the method Cumputerphine explains things. These are very advanced concepts explained so simply. Hats off for your effort. I am a researcher in the field of WSN. But I truly love this type of work. I would love to know what research field are related to this type of work. Once again. Great explanation. Love your videos!
@HavelockBanana
@HavelockBanana 8 лет назад
yeah! A technical video :-) Nice to see some actual code on this channel (even though it's being explained in a simple way :) )
@nikhilnarayanan5949
@nikhilnarayanan5949 4 года назад
This channel is by far one of the best....I made a computer application similar to chain reaction using the swing framework of java....I got a stackOverFlow error because of infinite recursion....this video really sorted me out....thanks!!!😁😁😊
@another-person-on-youtube
@another-person-on-youtube 4 года назад
"Can't type while people are watching." I'm not the only one!
@sickerpuppies
@sickerpuppies 5 лет назад
"It's meant for ethical hacking, let's just make that clear" - Mike Pound, 2016
@ashleybishton742
@ashleybishton742 4 года назад
Only if you know how to use the scripts.
@charlieweberlv
@charlieweberlv 3 года назад
That’s like trying to say this is an ethical shot from a gun to somebody’s body, it’s a hack.
@thegoodkidboy7726
@thegoodkidboy7726 2 года назад
@@charlieweberlv People who find exploits and report them are important to the security of many systems. Companies hire penetration testers to try to break into their systems, so these issues can be fixed. Watch the footage of L0pht testifying before the US senate in 1998.
@davishall
@davishall 2 года назад
@@charlieweberlv Not at all. To be able to identify bugs, one must be able to think like a malicious hacker and have the same tools as a malicious hacker. Without ethical hacking, there would be a lot more unethical hacking.
@slingshot99
@slingshot99 2 года назад
@@charlieweberlv You have to be able to disassemble something to understand its flaws. That's what ethical hacking essentially does.
@Edgewalker001
@Edgewalker001 8 лет назад
This is actually very interesting, because the noop sled trick actually reminds me of something we use when looking for things in genetic code. I guess there is a lot of overlap that isn't immediately apparent between programming and genetics.
@MrTridac
@MrTridac 8 лет назад
+Edgewalker001 I learned programming first and then genetics, and all I see when I look at DNA is program code. It's a state machine, a sequencer and self modifying code at the same time. Awesome!
@GenGariczek
@GenGariczek 8 лет назад
More on similar topics please :)
@timm9301
@timm9301 5 лет назад
I have studied exploit dev for a number of years and this is by far one of the best explanations ever! Keep it up!
@hellterminator
@hellterminator 8 лет назад
And this, kids, is why you should always sanitize your inputs.
@michaeltorres1263
@michaeltorres1263 8 лет назад
+hellterminator HAHAHAHAAHA!
@SUFHolbek
@SUFHolbek 8 лет назад
+hellterminator Little Robby Drop Tables
@hellterminator
@hellterminator 8 лет назад
Simon WoodburyForget Interesting language. I'm probably gonna stick with C/C++, but Rust is definitely interesting.
@hypernova2906
@hypernova2906 8 месяцев назад
the stack content visualization and the no-op sled animation were really awesome
@navalkumarshukla9447
@navalkumarshukla9447 2 года назад
I really liked the way he taught, didn't get it,but liked it xD
@ne12bot94
@ne12bot94 6 лет назад
Excellent job on video, I still don't understand why ppl hate your video. Your is more detailed and professional , then the other I video saw on RU-vid.look like they don't know what there talking about.
@saultube44
@saultube44 7 лет назад
The guy is quite smart and he knows his stuff
@mad7227
@mad7227 10 месяцев назад
His best yet IMO. Love the level of detail and honesty enthusiasm of the topic 😁
@athanoslee
@athanoslee 7 лет назад
I like his playful manners and smiles. I think I have a crush.
@nofrag25
@nofrag25 6 лет назад
He s married bro
@firstnamelastname7319
@firstnamelastname7319 6 лет назад
I want him to overflow my buffer 😍
@jscorpio1987
@jscorpio1987 4 года назад
Thibaud so? Are we supposed to intensively research a person’s personal life now to make sure they’re absolutely 100% single before we’re allowed to have an innocent crush on them? It’s not as if you can control such feelings and it’s not like OP was exactly sending the guy a marriage proposal.
@kbs1212
@kbs1212 4 года назад
J T Maybe OP isn’t but I am. Marry me Mr. Pound
@untilted9126
@untilted9126 4 года назад
I do as well
@MarcinKonarski
@MarcinKonarski 8 лет назад
One of the best videos on Computerphile. Mike really knows his trade.
@MelBrooksKA
@MelBrooksKA 8 лет назад
+Marcin Konarski *hobby
@user-eh5wo8re3d
@user-eh5wo8re3d 8 лет назад
very nice Video. would love to See more of this sort in the future
@gegdim9307
@gegdim9307 8 лет назад
Fear not my friend! Botnets and iPhone decryption coming soon!
@user-eh5wo8re3d
@user-eh5wo8re3d 8 лет назад
Well that is a truly marvelous thing to hear. Am looking forward to it!
@jasonford2877
@jasonford2877 5 лет назад
This video explains it better than a $2000 course I've been doing in Cyber Security (which goes into far more than just BOF) Drawing it tremendously helped me understand it!
@tiannimyers1204
@tiannimyers1204 5 лет назад
The more I learn about computers, the more I realize how easy they are. Great video.
@hannahwhitham3539
@hannahwhitham3539 4 года назад
I'm so happy this channel exists
@DrRChandra
@DrRChandra 8 лет назад
On the original diagram: Functions do not (normally) go on the stack. The stack is only data (including return addresses). With architectures having hardware support for not executing data (often called an "NX" bit), such as a lot of the Intel processors, trying to execute a function on the stack with the NX bit set would cause an exception, which in Linux in turn would generate a signal (something like SIGSEGV), and without a signal handler would kill the process. (Yay, memory protection!) oh...and I think you mean backslash x ninety.
@Computerphile
@Computerphile 8 лет назад
+rchandraonline I've a feeling that's what Mike was talking about at the end.... >Sean
@DrRChandra
@DrRChandra 8 лет назад
***** , oh, yeah... As Mike says (paraphrasing), there are so many things which would make great videos on what goes on in GDB and assembly...simply fascinating how all that stuff was developed over the years.
@JAN0L
@JAN0L 8 лет назад
+rchandraonline Function code doesn't, but all the local variables used by the function go on stack, otherwise recursive functions wouldn't be possible.
@stensoft
@stensoft 8 лет назад
+rchandraonline For running shell (or other simple tasks), NX bit is quite easy to workaround with return-to-libc attack. But that can be hardened with address randomization.
@GegoXaren
@GegoXaren 8 лет назад
gcc -fstack-protector-strong -std=c11 foo.c -o foo
@DirkArnez
@DirkArnez 3 года назад
Very clearly explained... I have been looking for a tutorial like this for about ten years.
@Tommus1997
@Tommus1997 5 лет назад
"I'm assuming you know what a stack is." *defines function*
@Juasml
@Juasml 5 лет назад
When you know a lot about something, sometimes it's hard to tell when you're being overwhelming and when you're going too slow. I guess he just randomizes it to keep going.
@dderudito
@dderudito 4 года назад
Hahaha
@jag831
@jag831 3 года назад
Haha that's why I love this kind of videos. "Look at this ebp register, for example. B stands for base and B is the second letter of the latin alphabet. It is allocated in 0x6404whatever5A in memory"
@fetchstixRHD
@fetchstixRHD 3 года назад
To be fair, there was the video on stacks which anyone who wasn't familiar with could go and watch, so there isn't [wasn't] much point of repeating what's been done already.
@tommybenshaul3443
@tommybenshaul3443 6 лет назад
a very good video, explains beautifully the why stack works and how to exploit a buffer overflow
@5upl1an
@5upl1an 5 лет назад
The real question is, how can someone be so damn motivated at 7 in the morning?!
@RonaldMcPaul
@RonaldMcPaul 5 лет назад
Eating healthy breakfast cereals and grains.
@xxxXXXCH04XXXxxx
@xxxXXXCH04XXXxxx 3 года назад
@@RonaldMcPaul yummy
@Tithis
@Tithis 5 лет назад
Studying for a security certificate and was having a hard time understanding exactly what was going on with the way they explained it in their videos. Your video really helped me understand it better, mostly by visualizing how the memory is laid out.
@anirudhsarma4233
@anirudhsarma4233 7 лет назад
Can anyone explain why 10 duplicates of the return address was needed as "padding"?
@0noam
@0noam 4 года назад
it has taken me at least 5 times the duration of the video and a lot of zapping around to understand most of it. but it was extremely instructive, so thank you.
@ttttt_
@ttttt_ 8 лет назад
"there is nothing you can't do as root" except makepkg on arch :(
@nik123true
@nik123true 8 лет назад
nice one xD
@sauron1427
@sauron1427 7 лет назад
but you can create a user with whatever password you like, su into that user and run makepkg. you can still get ANYTHING done if you have root access.
@pedro.raimundo
@pedro.raimundo 7 лет назад
I LOLed.
@cybrhckr
@cybrhckr 6 лет назад
and some programmes does not allow you to run on root :D for security reasons
@Reth_Hard
@Reth_Hard 6 лет назад
You can't run VLC on root :( But you can patch it easily :)
@Nekology87
@Nekology87 2 года назад
wow! such an insightful glimpse at how computers "think" and Dr. Pound you are so charimastic ^___^ thank you Computerphile for this video!! I'm just begining my programing education and this fills my cup with drive to push through learning the basics knowing later i will be able to excecute as my will wills
@timt.4040
@timt.4040 6 лет назад
Very helpful! What is the gdb command (not shown on screen) to list the 200 registers at the stack point of -550?
@jbrhsn8406
@jbrhsn8406 4 года назад
Google it Pal!
@abindieflasche100
@abindieflasche100 4 года назад
@@jbrhsn8406 what is it
@zerozone1412
@zerozone1412 4 года назад
@Tim Thompson did you find out what the command was? I need it😫 ..... thanks
@jag831
@jag831 3 года назад
Something like "x/500xw $esp -550" could work. I may be wrong
@shumakriss
@shumakriss 8 лет назад
Thank you! I've never seen this explained in its entirety and there are lots nuances that have always inhibited my own educational endeavors. Knowing GDB, assembler, endianness, no-op sleds, etc were all concepts I understood but could never completely tie together. Excellent video.
@harleyspeedthrust4013
@harleyspeedthrust4013 7 лет назад
Ignorant friend: "Why would you ever use Assembly?" Me: "..."
@fernandojackson7207
@fernandojackson7207 2 года назад
Ok, I was finally able to translate from Brit: "Buffalo, Buffalo at Work" =="Buffer Overflow Attack" Great video and explanation.
@GegoXaren
@GegoXaren 8 лет назад
and this, kids, is why strcpy is removed from C11. Many of the string functions were removed and replaced with safe versions in C11.
@GegoXaren
@GegoXaren 8 лет назад
also use -fstack-protector, -fstack-protector-all or -fstack-protector-strong with gcc for non-time-critical stuff.
@anujmchitale
@anujmchitale 5 лет назад
strncpy is the replacement. The n is a parameter asking how much to copy. If more than the buffer length being used, the function itself won't compile.
@Denverse
@Denverse 4 года назад
Today is the day I finally exploited a full buffer overflow attack to gain shell. Thank you Mike. And the animation is so helpful.
@taubrafi
@taubrafi 8 лет назад
Kali!
@Zeldon567
@Zeldon567 3 года назад
As a frequent viewer of videogame speedruns, I know quite a bit about the uses of buffer overflow/underflow. Fun stuff.
@realeques
@realeques 8 лет назад
i love how he explains every topic like its the best in the world... i could use him as my personal coach !
@MeditatingDennis
@MeditatingDennis 3 года назад
I like how the guy gets excited and makes me excited aswell!!
@Dusk-MTG
@Dusk-MTG 4 года назад
*Segmentation fault* Me: "Oh damn, I fcked up." Peter Parker: "That's exactly what we wanted."
@ghnna
@ghnna 7 лет назад
this guys is my favourite out of all others on Computerphile tbh
@riyaz4455
@riyaz4455 8 лет назад
+Computerphile What is the GDB command used here "ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-1S0aBV-Waeo.html" What is the GDB command to list some blocks of memory..??? I have a session on the same topic and I really wanna use this example.....
@stephana7785
@stephana7785 4 года назад
Best explanation of shell code injection by far!
@bluekeybo
@bluekeybo 7 лет назад
How would the "hacker" get the correct return address? They'd have to run gdb and list the addresses like in the video? How'd they do it automatically without root access?
@aneeshjoshi6641
@aneeshjoshi6641 5 лет назад
I think: Since every process works assuming it has the full RAM and in C you can get the address of anything using & you can probably get it.
@chasehiatt5595
@chasehiatt5595 4 года назад
Gdb doesn't require root access
@bluekeybo
@bluekeybo 4 года назад
@@chasehiatt5595 interesting
@rrestoring_faith
@rrestoring_faith 3 года назад
gdb is just a debugging tool. Can run it on any executable if you have permissions to execute that executable.
@SaeedAlFalasi
@SaeedAlFalasi 4 года назад
Iv seen a bunch of videos on the same topic BUT THIS BY FAR is the best explanation !
@ryanofarrell186
@ryanofarrell186 8 лет назад
Video is 17:29 long. Mathematicians, unite!
@tennicktenstyl
@tennicktenstyl 8 лет назад
What's so special about this? I'm not familiar with numbers and stuff
@Keithfert490
@Keithfert490 8 лет назад
It's the smallest "taxi cab number": a positive integer expressible as the sum of two positive integer cubes in two different ways (1729=12^3+1^3=9^3+10^3).
@tennicktenstyl
@tennicktenstyl 8 лет назад
Oh, that's nice.
@sadrien
@sadrien 7 лет назад
Don't worry if you don't understand why that is important, because it really isn't.
@AndyChamberlainMusic
@AndyChamberlainMusic 7 лет назад
Keith its not the smallest taxi cab number lol it was just the number of a cab which some guy noticed was a boring number and then he told his even smarter friend that it was boring to which the smarter friend said na bro its the smallest number that you can get by adding two cubes in two different ways
@panman101mw3
@panman101mw3 6 лет назад
I don't know why, but this felt a lot more interesting than all the other topics he's talked about. Rock on!
@JadarDev
@JadarDev 8 лет назад
zsh is an older shell that doesn't have protections?! I use zsh all the time, I prefer it over bash because it has plugins.. How is that an old shell..?
@framegrace1
@framegrace1 8 лет назад
+JadarDev Yeah, is maybe the newest one. (Is younger than bash,ksh,etc...) But lots of exploits use it, not sure why. Maybe is just a hacker preference. (Like using rar instead of zip)
@unforkableonion5081
@unforkableonion5081 8 лет назад
+Marc Gràcia Those who are the geeks among geeks, use zsh...is a sign of distinction!! please try 7zip and forget the rest ;)
@michaelpound9891
@michaelpound9891 8 лет назад
Sh is also fine for exploits. You can't use bash though because it drops out of root as soon as it starts. Too secure!
@pat5star
@pat5star 5 лет назад
Michael Pound huh? sh is is just a link to bash by default. Or you can set sh to to point to your shell of preference, but as far as I know there isn’t any shell called sh.
@hassanussutteri170
@hassanussutteri170 5 лет назад
You can truly see the passion gleaming outta his face it's so obvious and i love that so much reminds me of myself :) he can barely stop smiling i love this guy!
@marsgal42
@marsgal42 8 лет назад
I'm guess I'm showing my age when I mention that this was how the Morris worm back in 1988 infected systems. :-)
@jag831
@jag831 3 года назад
Cool! I was wondering on actual, real cases in which this has happened
@dingdong3021
@dingdong3021 3 года назад
Seriously im going all around youtube looking for perfect explanation of buffer overflow. I always ignore this video thinking that it wont explain it. But man i was wrong. the best video about buffer overflow explaining things like nopsled deym. Tyyyyy
@Calin42
@Calin42 8 лет назад
when a video on the ROP chains? with ASLR on and nX :p
@ugaaga198
@ugaaga198 Год назад
I think its not possible to explain it better! EXCELLENT
@emrahakgul8296
@emrahakgul8296 8 лет назад
At the beginning, return address was deemed as 4 bytes. When nop operations were being counted, return address was deemed as 40 bytes. What was the reason for that?
@faizanshahansari1193
@faizanshahansari1193 5 лет назад
I think he flooded the memory with 10 return addresses so that at least one of them land on the return statement
@paladinpaterson5385
@paladinpaterson5385 7 лет назад
Been reading my textbook for a while wondering what the hell the author is talking about and you cleared it up in the first fifteen seconds. Thanks!
@amine250
@amine250 3 года назад
who's watching this after the discovery of the sudo exploit ? x)
@loneranger4282
@loneranger4282 3 года назад
what is the sudo exploit ?
@amine250
@amine250 3 года назад
@@loneranger4282 Barron Samedit
@15danie
@15danie 7 лет назад
Like how he not only talks about stuff but also demonstrates
@supernaturalswampaids8083
@supernaturalswampaids8083 8 лет назад
Cover the iPhone/Apple/FBI issue!
@Computerphile
@Computerphile 8 лет назад
+Reck Tominvayed Can you wait til Friday.... :) >Sean
@supernaturalswampaids8083
@supernaturalswampaids8083 8 лет назад
+Computerphile Yay! Thanks for the reply as well! I'm a huge fan! ....but I used to be a small air conditioner. Had to :P
@jasonneu81
@jasonneu81 7 лет назад
+Player Name If you used to be a small air conditioner and now you're a huge fan then you must have been an intermediate ventilation system at some point, right :D ?
@Acid113377
@Acid113377 8 лет назад
probably one of the best computerphile videos yet. Thank you Dr. Pound!
@hoptimas5415
@hoptimas5415 4 года назад
Thank you guys for the video!
@CreativeVery
@CreativeVery 6 лет назад
You know you're 1337 when you use Kali.
@aeinarrkrigsson
@aeinarrkrigsson 5 лет назад
Black arch ftw
@mustafakhalid9348
@mustafakhalid9348 5 лет назад
Newbies think it's cool
@alejandroflores7565
@alejandroflores7565 4 года назад
Actually it's very handy, i've been pentesting and bug hunting for a long time and Kali is always my go-to.
Далее
How TOR Works- Computerphile
14:19
Просмотров 1,7 млн
Buffer Overflow Hacking Tutorial (Bypass Passwords)
55:39
Wana Decrypt0r (Wanacry Ransomware) - Computerphile
15:19
Cross Site Request Forgery - Computerphile
9:20
Просмотров 764 тыс.
Log4J & JNDI Exploit: Why So Bad? - Computerphile
26:31
how do hackers exploit buffers that are too small?
8:25
Has Generative AI Already Peaked? - Computerphile
12:48
Cookie Stealing - Computerphile
16:12
Просмотров 1,1 млн
Buffer Overflow
5:58
Просмотров 44 тыс.
Diffie Hellman -the Mathematics bit- Computerphile
7:05
Somebody emailed me a trojan virus
14:06
Просмотров 783 тыс.