No video

First Stack Buffer Overflow to modify Variable - bin 0x0C

  Рет қаралды 192,644

LiveOverflow

LiveOverflow

Күн бұрын

We will write our first Buffer Overflow for the stack0 level of exploit-exercises.com.
stack0: exploit.education/protostar/s...
Intel Reference: intel.de/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-instruction-set-reference-manual-325383.pdf
=[ ❤️ Support ]=
→ per Video: / liveoverflow
→ per Month: / @liveoverflow
=[ 🐕 Social ]=
→ Twitter: / liveoverflow
→ Website: liveoverflow.com/
→ Subreddit: / liveoverflow
→ Facebook: / liveoverflow
=[ 📄 P.S. ]=
All links with "*" are affiliate links.
LiveOverflow / Security Flag GmbH is part of the Amazon Affiliate Partner Programm.
#BinaryExploitation #BufferOverflow

Пікірлер: 158
@barclayiversen376
@barclayiversen376 8 жыл бұрын
I cannot express enough gratitude for how much I love these videos. Live0verflow is the only person ON PLANET EARTH explaining exploitation this well.
@RealYukiSan
@RealYukiSan 8 ай бұрын
in the 8:00 section do you know why the integer variable needed to be placed in the higher offset instead of just the current RSP offset ? I am a little bit confused 😔 and would appreciate it if someone enlightened me 😁
@Occcc12
@Occcc12 7 жыл бұрын
This is some of the best stack explanation I have seen, allowing the viewers to easily follow along with the diagram and the gdb. Thanks a lot!
@hahoangmanh2086
@hahoangmanh2086 6 жыл бұрын
that stack illustration is brilliant
@peideng1318
@peideng1318 6 жыл бұрын
just wanna say thank you to the author. this series of video is even more informative than the $1000 course I purchased before
@LiveOverflow
@LiveOverflow 6 жыл бұрын
If you don't mind, which course?
@peideng1318
@peideng1318 6 жыл бұрын
yup, OSCP certification training course. Lab hours are included of course.
@nikunjchapagain5654
@nikunjchapagain5654 6 жыл бұрын
Are they provided by the OSCP guys? Mind dropping the link? I am looking forward to do it. Thanks
@qaguado97
@qaguado97 8 жыл бұрын
Thanks for making those videos, I hadn't found such a good hacking related channel ever
@jancheck
@jancheck 8 жыл бұрын
Thank you for these videos! They keep getting better and better :)
@samberg248
@samberg248 8 жыл бұрын
Amazing vids man. I hope you get way more views, you definitely deserve it.
@dawidskrodzki
@dawidskrodzki 8 жыл бұрын
Hey man, I am loving your videos. Fantastic content and great production quality. Thanks a lot for this and please keep it up. :)
@stratan9707
@stratan9707 8 жыл бұрын
This playlist is pure gold. I wish you could make videos on topics such as ELF Code Injection, Packers, Crypters one day. Keep up the great work bud!
@cat47
@cat47 Ай бұрын
conway's game of life pfp??
@whocares3061
@whocares3061 7 жыл бұрын
Just for the record: I did this on Ubuntu and used gcc to compile the code. When i tried to exploit the exec the error " *** stack-smashing detected *** ... terminated" showed up. The solution: When compiling use the "-fno-stack-protector" argument to aviod extra protection.
@boweneveritt3400
@boweneveritt3400 5 жыл бұрын
USE GDB
@EvilSapphireR
@EvilSapphireR 5 жыл бұрын
The extra protection is the addition of a stack canary value for anyone curious.
@anandrajaram21
@anandrajaram21 3 жыл бұрын
I dont even know how many times I have watched this. But every time I watch it, I manage to learn something new. How??? I watched the video 10 times to fully understand
@cangozpinar
@cangozpinar Жыл бұрын
Amazing illustrations. Thank you very much, it couldn't have been explained better.
@DarshitSuratwala
@DarshitSuratwala 4 жыл бұрын
Great video. Thanks for explaining with the help of animations, really helped me to understand.
@livingcodex9878
@livingcodex9878 4 жыл бұрын
FINALLY I understand buffer overflows and what they have to do with the IP register :)
@th3xer0
@th3xer0 7 жыл бұрын
The stack animation is great! Thanks.
@515sensei
@515sensei 5 жыл бұрын
That's goddamn best tut on youtube ever. Keep it up, man!
@issacccom
@issacccom 3 жыл бұрын
When professor says do your own research instead of teaching the real stuff, here I come :)
@freeman1884
@freeman1884 6 жыл бұрын
Fantastic content! But I would prefer if you draw the stack upside down, since it starts at a higher-numbered address, and ends at a lower-numbered address.
@Leo-sg5qd
@Leo-sg5qd 3 жыл бұрын
I saw something wrong with the value of esp at 6:30, but so thank you about this video, very basic and clear, i lost much time to meet this video!
@androidhack450
@androidhack450 3 жыл бұрын
I just set a break point at the * Test eax, eax * and then set it's value to 0, and it magically worked!!
@SR-er6hx
@SR-er6hx 3 жыл бұрын
"Don't be a script kiddie" - Every master once a script kiddie.
@thecrazzxz3383
@thecrazzxz3383 3 жыл бұрын
I leave this comment to prove that during my life, i've watched this video "First Stack Buffer Overflow to modify Variable - bin 0x0C" and i've done this level
@Edw590
@Edw590 3 жыл бұрын
Wow......... this is SO AMAZING!!!!!! THANK YOU MAN!!!!!!!!
@Edw590
@Edw590 3 жыл бұрын
*_Just a tip for whoever is doing stack2 exercise:_* you can escape characters on the environment variable on without Python but using Bash by doing the following: WHATEVER=$'\x41\x42\x43\x44' result of echo $WHATEVER: ABCD PS: you can also use \u0041 and so on, but then you need to see the ways of escaping characters. \u is for UTF-16 (or UTF-8), for example. \U I believe is for UTF-32 (or UTF-16 or UTF-8). And there may(must?) be other ways. You can also escape in octal, for example.
@RealYukiSan
@RealYukiSan 8 ай бұрын
Woahh awesome trick, very helpful and save a lot of my time!
@VoOoLoX
@VoOoLoX 8 жыл бұрын
Nice video :) You should have way more subscribers
@LiveOverflow
@LiveOverflow 8 жыл бұрын
+VoOoLoX Thank you! You can help by sharing this with your friends ;)
@VoOoLoX
@VoOoLoX 8 жыл бұрын
+LiveOverflow I know i already shared your channel with few of my friends
@robinhood3841
@robinhood3841 4 жыл бұрын
10:53 in this scenario you just simply need to echo those characters that over flow the address and pipe it to wc -c to count how many characters and multiplay it with A :)
@billybabcokcs8224
@billybabcokcs8224 6 жыл бұрын
How can I love the video not just like it ?
@mattt2684
@mattt2684 6 жыл бұрын
Can you make a video on writing shellcode for buffer overflows?
@Edw590
@Edw590 3 жыл бұрын
I believe this is what you mean? You probably don't need it anymore, but others might, so I decided to still answer. This is the video, hopefully (in playlist mode): kzfaq.info/get/bejne/frmcm7xlut-cg3U.html
@coolakhil123
@coolakhil123 8 жыл бұрын
I cannot thank you enough for the nice stack animation! At 06:14 , esp has value 0xbffff7d8 and is subtracted 0x60 , the video shows that esp now becomes 0xbffff770, but doing "hex(0xbffff7d8 - 0x60)" in python gives '0xbffff778'. Any hints would be helpful!
@LiveOverflow
@LiveOverflow 8 жыл бұрын
+Akhil I may have screwed up this when I made the video. Thanks for watching my videos so closely!
@coolakhil123
@coolakhil123 8 жыл бұрын
+LiveOverflow. Thanks for the clarification. I am trying to learn as much as I can from your awesome videos. Cheers :)
@bbit-solutions7004
@bbit-solutions7004 7 жыл бұрын
+Akhil Sharma You forgot the "and"-operation in the line before, where the last 4 bits of esp are set to 0, so that the value of esp before the subtraction is 0xbffff7d0 +LiveOverflow Thank you for your videos. They're really great!
@effeKtSVK
@effeKtSVK 5 жыл бұрын
I've had this exact problem and I found out that the `and esp, 0xfffffff0` operation does this. If I understood correctly BBIT-Solutions' comment, it just serves as a "clean up" so that the address ends with 0. LiveOverflow also mentioned it at 4:48. Please correct me if I'm wrong.
@JulianSchimmelpfennig
@JulianSchimmelpfennig 11 ай бұрын
The video is amazing and the explanations as well. Thank you :) I would prefer to see that the Stack in the visualisation grows downwards as we "start" at the highest memory address and then move the stack pointer to lower address. And I think there is something messy with the addresses of the base pointer, when I compare it to the maped address space you showed earlier in this video. The newer comments here seem to be confused as well so maybe a update on that video would be helpful for all of us who are new to that topic :) @5:37 the base pointer ebp = 0xbffff900. At 3:49 in the mapped address space, the start and end address of the stack are 0xbffeb000 and 0xc000000 respectively. I thought the base pointer points at the highest address of the stack - why isn't that here? And why is the stack pointer address at 05:41 0xbffff7dc, at 05:43 0xbffff7e4 and at 05:47 back to 0xbffff7dc? At 6:07 you say we overwrite ebp with the value of esp, but you did the reverse: you overwrote esp with the value of ebp. Or what did you mean with "value"? But tbh at 10:09 I was just mindblown. For the first time I really understood what a Stack Buffer overflow is. Thank you! And it would have been helpful to enumerate the memory addresses in you visualisation at 5:49 to have one row with the memory address and the other row with the content in there.
@mankan3765
@mankan3765 6 жыл бұрын
You are best
@dennisasamoah2213
@dennisasamoah2213 5 жыл бұрын
this is great
@saeedradmehr1976
@saeedradmehr1976 6 жыл бұрын
Good video
@kenichimori8533
@kenichimori8533 6 жыл бұрын
Straight proof
@squidgaurd6927
@squidgaurd6927 Жыл бұрын
ok, i have decided i will study this video until i understand it
@vequeemnheveque3778
@vequeemnheveque3778 8 жыл бұрын
The best video
@bitcode_
@bitcode_ 8 жыл бұрын
thanx
@cendexflovan7360
@cendexflovan7360 3 ай бұрын
So, the task sold is to share to stack0 a big amount of "AAA" to rewrite zero variable.
@hacker2ish
@hacker2ish 6 жыл бұрын
8:30 If esp is a register, that contains an address then adding 0x1c to it will us directly the address at offset 0x1c. Why then do we need to use bracket notation if we want to store the address itself in eax and not the value that it points to?
@semitangent
@semitangent 5 жыл бұрын
I'm curious about the stuff that is in the stack frame memory region before we write our As, Bs, and Cs into it. Presumably it is just junk from some previous program that happened to use that part of memory before or even random stuff from turning on our machine. Now, if we write the pattern of letters into memory and not properly clean it up, it should still be there somewhere, right? Is it at all possible to try to access data in memory that served as a stack frame of some prior program? Or does memory virtualization prevent that one can reliably find that region of (physical) memory ever again?
@MichalMonday
@MichalMonday 6 жыл бұрын
Thanks a lot for the presentation but I have few questions trying to understand it... Is the following representation of "leave" and "ret" instructions correct? leave is like: mov esp, ebp mov ebp, [esp] add esp, 0x8 ret is like: mov eip, [esp] // move value at current stack pointer to eip (that value was stored at top of the stack when "call" instruction was used) add esp, 0x8 Would it be possible to actually use the instructions above instead of "leave" and "ret"? And why both instructions increase esp register by 8 instead of 4 which would be expected knowing that registers are 4 bytes in size? Is it the way how 32-bit system can be ran on 64-bit processor? Meaning that if I ran the same program (recompiled?) using old 32-bit processor then "leave" and "ret" would actually increase esp by 4?
@th3xer0
@th3xer0 7 жыл бұрын
What software did you use for creating the stack animation?
@kushsharma1017
@kushsharma1017 3 жыл бұрын
6:38 new ebp is pointing to the old ebp.Not able to digest it. Can anyone give a simple explanation for it @liveoverflow
@brd5548
@brd5548 3 жыл бұрын
It's a little bit ambiguous. But by "new ebp is pointing to the old ebp" at 6:38, he meant that the memory ebp is pointing to now stores the value of ebp of the previous function. More specifically, at 6:38, value of ebp is 0xbffff7d8, which means it now points to memory address 0xbffff7d8, and at this address, the memory stores value 0xbffff900. And remember that "push ebp" at first line of the main function disassembly? It just pushed value of ebp into stack, value of ebp at that time was still the "old one", which was 0xbffff900. Hope I can help to explain well. Just remember that value of these pointer registers stand for memory address they are pointing to.
@gonska9188
@gonska9188 Жыл бұрын
yeah, i got stuck there for 3 months don't worry :)
@semskn5455
@semskn5455 2 жыл бұрын
I replaced the gets function with scanf and hoped to observe the same thing as in the video because I've heard people say that scanf is also an insecure function, but it never overflowed, what do you think?
@pauribelles7920
@pauribelles7920 5 жыл бұрын
I have a problem. My gcc has registered the 0x0 of the int modified variable at esp-0x54. What means that it's even more deeper on the stack than the buffer. So then, I cannot affect the variable.
@LiveOverflow
@LiveOverflow 5 жыл бұрын
I would recommend to not compile it yourself, but find and use the protostar VM
@pauribelles7920
@pauribelles7920 5 жыл бұрын
@@LiveOverflow I found an easy solution for this by just grouping the data on a struct, and worked. But you're right, I'm going to start using it. By the way, if you are reading this, the exploit exercicies links are down
@lynd6121
@lynd6121 Жыл бұрын
Thank you very much for your awesome videos !! if anyone doesn't mind, at 6:36 why is ebp still pointing to the old value of ebp even after overwriting it with esp ? doesn't it point to the memory address it has as value (in general) ? your help is much appreciated !
@gonska9188
@gonska9188 Жыл бұрын
i don't know why but a lot of people get very confused right there including me, caller(function that callled current function) ebp got pushed on the stack so its on the stack and it is also the top of the stack because its the only thing in stackframe right now so esp is pointing to it, then new ebp is made to point to esp which points to the old ebp and then esp is decremented sub esp xxx for local variables
@nivmoshe5536
@nivmoshe5536 5 жыл бұрын
There is no longer a website running on www.exploit-exercises.com do you have another link to download the image of the exploit-exercises ?
@RyanMurphyx
@RyanMurphyx 5 жыл бұрын
drive.google.com/drive/u/0/folders/0B9RbZkKdRR8qbkJjQ2VXbWNlQzg
@GRBtutorials
@GRBtutorials 5 жыл бұрын
web.archive.org/web/20171027043402/exploit-exercises.com/
@gabriellove4361
@gabriellove4361 6 жыл бұрын
To crack stack 1I ran it in gdb and found it was comparing 0x61626364 with $eax, I then ran the stack1 program with test values AAAA, AAAAAAAAA... to see at what point i would overflow into the register it was checking i eventually ran it with AAAAAA and saw the message saying "try again you got 0x414141... i then went back and ran the program with the values AAAA...dcba and it worked, is this an effective way of breaking the c program or should i have done it using a different method?
@X3eRo0
@X3eRo0 6 жыл бұрын
I cant understand. Please guide me so that i can gather some basic knowledge and come back
@ShortGiant1
@ShortGiant1 5 жыл бұрын
Amazing! Can we donate (buy you a beer?)
@arandomstranger6954
@arandomstranger6954 4 жыл бұрын
Don't know if you still need this, but he has a patreon and a channel membership
@ShortGiant1
@ShortGiant1 4 жыл бұрын
@@arandomstranger6954 yeah was a member for a while :) thanks.
@wizkobenaempire3277
@wizkobenaempire3277 8 жыл бұрын
i like the fonts you use.. can you please name them
@hilmyhaidar1002
@hilmyhaidar1002 6 жыл бұрын
you are cool
@carlosribeiro1866
@carlosribeiro1866 6 жыл бұрын
Great video, but at 6:12 you said mov esp,ebp and its mov ebp,esp ( since you are using the intel syntax that is not correct, as you already know) its just a note ;)
@LiveOverflow
@LiveOverflow 6 жыл бұрын
huh? I'm rewatched the part like 5 times and I'm sure I said "mov ebp,esp"? Or what do you mean?
@carlosribeiro1866
@carlosribeiro1866 6 жыл бұрын
I know what is going on ... You are moving into ebp esp and you said that, but if you read using the intel syntax ( dest , source ) you should say mov esp "into" ebp ) ... Or am i wrong ?
@LiveOverflow
@LiveOverflow 6 жыл бұрын
I say: "Now we overwrite EBP with the value from ESP. move ebp, esp". I don't get it? First I say what the instruction does, and then I mention the instruction again.
@alexandraleal4935
@alexandraleal4935 6 жыл бұрын
I understand you both, its very confusing, but is just a interpreting thing
@LiveOverflow
@LiveOverflow 6 жыл бұрын
I don't understaaaaaand :D I didnt say it the wrong way around, did I? Or am I looking at the wrong minute?
@alojzybabel4153
@alojzybabel4153 4 жыл бұрын
03:14 Can it be set as default forever so that I wouldn't have to type-in that command every time I run GDB? :q
@MichalMonday
@MichalMonday 5 жыл бұрын
I come back to this video sometimes for the stack frame animation. It all made sense and I think I understood what is pushed/popped from the stack and in what order. Today I looked at stack example from this book (page 130, figure 6-5): www.electroons.com/8051/ebooks/expert%20C%20programming.pdf and the order seems "flipped". Did the author make mistake or in some circumstances the order is just different? I mean, order of stack frame contents in relation to order of stack frames themselves is different. It looks like in the book the return address is pushed onto the stack as the last thing (which seems weird considering it actually happens first).
@deepwaterDW
@deepwaterDW 2 жыл бұрын
That's just due to different memory layout. Sometimes the stack grows towards the end, sometimes at the start of the address space.
@cvionis
@cvionis 2 жыл бұрын
I know this is a little late, but for anyone else who is wondering why this is the case, it's simply a matter of which computer architecture you're working with.
@victorcybersecurity2268
@victorcybersecurity2268 5 жыл бұрын
If you are looking for the website, here you go; www.exploit.education
@ddjazz
@ddjazz 5 жыл бұрын
Could someone explain why the buffer is 64 bytes but 0x60 size is reserved on the stack? Shouldnt that be 0x40 just for the buffer?
@EvilSapphireR
@EvilSapphireR 5 жыл бұрын
Did you find a answer to this question? My guess would be the binary automatically allocates some extra space for protection against buffer overflows even when accounted for the other variables to be pushed to the stack.
@gonska9188
@gonska9188 Жыл бұрын
0x60 is hexadecimal notation so in decimal it is 96. Why 96? there is some other things that stack needs to store.
@ianjones7440
@ianjones7440 7 жыл бұрын
this is still a bit murky... so you push on the stack and push the modified variables address where?
@ianjones7440
@ianjones7440 7 жыл бұрын
Video was excellent tho
@markusjohansson2945
@markusjohansson2945 6 жыл бұрын
When something is pushed on to the stack, the stack pointer isn't incremented, it's decremented?
@markusjohansson2945
@markusjohansson2945 6 жыл бұрын
Yes, that's right.
@gonska9188
@gonska9188 Жыл бұрын
@@markusjohansson2945 yeah kinda brainfucks
@quangvo4563
@quangvo4563 3 жыл бұрын
Does this exploit have to be compiled inside the given Linux VM to work ?. I tried to compiled the source code on my Mac and seems like the same technique doesn't work anymore
@yashsingh94
@yashsingh94 3 жыл бұрын
I think your system has to be 32bit but not sure
@jeyko666
@jeyko666 4 жыл бұрын
but the stack grows down ? why is it up in the video ???
@negativegravity9470
@negativegravity9470 5 жыл бұрын
Noob here. Isn't it setting ESP value into EBP?? You said the opposite at 7:05 but at 4:30 the Intel document states that ESP is set to EBP
@E1adi
@E1adi Жыл бұрын
Why does the program allocates 0x60 (96) bytes on the stack while the summed size of the variables is 64+4=68 bytes??
@gonska9188
@gonska9188 Жыл бұрын
0x60 is hexadecimal notation so in decimal it is 96. Why 96? there is some other things that stack needs to store.
@morsiskoPC
@morsiskoPC 6 жыл бұрын
And what with the stack canaries? Why the protection doesn't work there?
@LiveOverflow
@LiveOverflow 6 жыл бұрын
This is an oldschool example before stack canaries. But in episode 0x23 we compile this challenge on a more modern Ubuntu Linux, with stack cookies, and try to exploit it again ;)
@morsiskoPC
@morsiskoPC 6 жыл бұрын
Oh ok that makes sense, thanks for really quick answer :)
@thedarkside0007
@thedarkside0007 6 жыл бұрын
cant i just change the value from gdb using set command ?
@yehmon6117
@yehmon6117 6 жыл бұрын
you could. the obvious implication, then, is that you have to run the program with gdb (or any debugger).
@shubhamsingh-fc2ge
@shubhamsingh-fc2ge 4 жыл бұрын
Why did u only use x/24wx for examining the esp and not x/32wx or x/28wx
@coder_rc
@coder_rc 3 жыл бұрын
Did you understood after 9 months?
@amberchen7817
@amberchen7817 Жыл бұрын
@@coder_rc Did you get this after 2 year? I'm still confused :(
@coder_rc
@coder_rc Жыл бұрын
@@amberchen7817 I think it's better if you start with a blog post on buffer overflows on linux
@qyezdcion6699
@qyezdcion6699 7 жыл бұрын
Sorry but, I can't understand you at 9:50. How did you counted these rows? Thank you.
@LiveOverflow
@LiveOverflow 7 жыл бұрын
"4 characters here". AAAA -> 0x41414141. "Then 4 times 4 that's 16 for a row". so 16 bytes per full row. We have 3 rows that are filled full with 4. "And with the next fill row we can ...". So the fourth full row would write over the 0x00000000.
@qyezdcion6699
@qyezdcion6699 7 жыл бұрын
LiveOverflow Thank you very much:).
@bits_for_bytes
@bits_for_bytes 5 жыл бұрын
Is anybody else getting: Program exited w/ code 013 Error while running hook_stop: The program has no registers now. :(
@bits_for_bytes
@bits_for_bytes 5 жыл бұрын
got it.. I had to add the second memory address break point. back to work :)
@RealYukiSan
@RealYukiSan 8 ай бұрын
9:00 char buffer char[64]; I take it to mean 64 bytes, Why is there no 0x40 hex value on the shown disassembly output that corresponds to the number 64 in decimal?
@RealYukiSan
@RealYukiSan 8 ай бұрын
0x60 - 0x5c = 0x4 96 - 90 = 4 is that actually mean the int size is 4 byte?
@LiveOverflow
@LiveOverflow 8 ай бұрын
yes! 32bit integer is 4 bytes
@Magmachu
@Magmachu 5 жыл бұрын
why can't we dynamically modify the "modified" variable?
@katschmidt6419
@katschmidt6419 5 жыл бұрын
The website for protostar is down
@checkmate6732
@checkmate6732 5 жыл бұрын
exploit.education/protostar
@bjarnestronstrup9122
@bjarnestronstrup9122 5 жыл бұрын
My solution, bash only :) enjoy ; echo $(for x in $(seq 64) ; do printf A ; done ; echo 0666) | ./binary
@ichigo_nyanko
@ichigo_nyanko 2 жыл бұрын
if you should never use gets why does it exist to use?
@derby234able
@derby234able 6 жыл бұрын
When I tried it I observed that in my case the input buffer came after the modified variable, resulting in me not being able to overwrite the buffer. Basically the stack looked like this (from bottom to top): 0x00000000 ('modified') 0x41414141 (input buffer) ... I tried it on my own machine instead of a virtual machine so maybe that's the reason why ? But I guess it should work on any machine right ?
@solomontan1524
@solomontan1524 6 жыл бұрын
Machst du auch ein solches Video auf Deutsch? Wäre geil.
@LiveOverflow
@LiveOverflow 6 жыл бұрын
+Solomon Tan Dafür habe ich leider keine Zeit
@solomontan1524
@solomontan1524 6 жыл бұрын
Schade drum. Übrigens, deine Videos sind die besten. Die gefallen mir sehr. :) Gut gemacht! Hast du Patreon? Ich unterstütze gerne.
@coder_rc
@coder_rc 3 жыл бұрын
Those who didnt understood this video can read this article by null byte and comeback to here
@zliang111
@zliang111 7 жыл бұрын
Why is Eax compared to Eax shouldn't the be equal?
@LiveOverflow
@LiveOverflow 7 жыл бұрын
Please add the time, I don't have time to rewatch a 10min video and guess what you are referring to
@zliang111
@zliang111 7 жыл бұрын
yeah sorry about that i kinda sent the questions in sucession so it is at 8:40
@LiveOverflow
@LiveOverflow 7 жыл бұрын
stackoverflow.com/questions/13064809/the-point-of-test-eax-eax
@scuroguardiano5511
@scuroguardiano5511 5 жыл бұрын
I just typed to it 66 As xD
5 жыл бұрын
I cannot acces to protostar
@checkmate6732
@checkmate6732 5 жыл бұрын
exploit.education/protostar
@smart_bar
@smart_bar 2 жыл бұрын
lol vtf is that stack still don't understand
@KansasFashion
@KansasFashion 5 жыл бұрын
Over C++ 11, there is no function get
@oneloveafrica8860
@oneloveafrica8860 Ай бұрын
in today there is pwndbg for that trick 🤣🤣🤣🤣
@Edw590
@Edw590 3 жыл бұрын
*_A question. I've been on stack1 exercise._* And I've been for the last half-hour or something XD. Trying to understand the endianness and I think I finally got it but I'm unsure and I'd like anyone to tell me if I'm right or not, please. So for stack1 I wrote as input string "ABCDBBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKLLLLMMMMNNNNOOOOPQRSdcba" and ABCD, PQRS and dcba seem to be in opposite order in IDA's Stack View (using IDA Freeware 7.0 - AMAZING program for Windows, Linux and Mac). BUT...... It's only in opposite order in THAT LINE of 4 bytes (32 bits). So my guess is: the CPU reads the first ABCD all at once and writes starting at D through A. The same for the others... Then the same for PQRS which starts on S through P, and then it gets to dcba and it writes a, b, c and d in memory --> all this starting ALWAYS on the lower addresses first. Address Value FDB477C 44434241 FDB4780 42424242 FDB4784 43434343 FDB4788 44444444 FDB478C 45454545 FDB4790 46464646 FDB4794 47474747 FDB4798 48484848 FDB479C 49494949 FDB47A0 4A4A4A4A FDB47A4 4B4B4B4B FDB47A8 4C4C4C4C FDB47AC 4D4D4D4D FDB47B0 4E4E4E4E FDB47B4 4F4F4F4F FDB47B8 53525150 FDB47BC 61626364 So it's all in the "correct" order LINE BY LINE but in the opposite order IN THE SAME LINE - because it reads 32 bits at a time and switches the bytes at those 32 bits. Then reads the next 32 bits and switches the bytes again. But it's reading every 32 bits in the "correct" order! Now... Is this right? I'd love it to be, so it would mean I got this hahaha. EDIT: from here I think I'm correct, but I'd still like a confirmation: www.scadacore.com/tools/programming-calculators/online-hex-converter/. EDIT 2: with this helping much on the positive side: stackoverflow.com/questions/2846914/what-is-meant-by-memory-is-8-bytes-aligned (in this case it would be on a 64-bits CPU, not on a 32-bits one). EDIT 3: I think the inside the parenthesis on EDIT 2 is wrong. I think I should say not depending on CPU bits, but on the data being read. If it's only 1 byte (character), 2 bytes, 4 bytes or 8 bytes (or 16 in case of SSE instructions acording with a StackOverflow user) - that's what I think that defines the alignement. That would say the number of nibbles to be swapped. Not sure though. EDIT 4: Nope, I think it's wrong... :´-(
@ApexArtistX
@ApexArtistX 5 жыл бұрын
Can u crack anti debugger apps .
@robinhood3841
@robinhood3841 4 жыл бұрын
Depending on the app and what anti debuging techniques it using
@bobhardcore6707
@bobhardcore6707 5 ай бұрын
mind ones business not the other
@adam-nw5cn
@adam-nw5cn 2 жыл бұрын
why is this hard to follow :(
@johnybtech4019
@johnybtech4019 4 жыл бұрын
">alert('super')
@d1rtyharry378
@d1rtyharry378 4 жыл бұрын
youtube doesnt allows your script huh? sad :(
@coder_rc
@coder_rc 3 жыл бұрын
@@d1rtyharry378 i am waiting for haha react button on youtube replies
@darkemperor2286
@darkemperor2286 5 жыл бұрын
oh...my...god...is to much bug
@prabhakaranm7571
@prabhakaranm7571 4 жыл бұрын
Hi
@ragnarlothbrok367
@ragnarlothbrok367 7 жыл бұрын
cant understand a shit from assembler, and i thought JS is a fucking nightmare...
@LiveOverflow
@LiveOverflow 7 жыл бұрын
+Ragnar Lothbrok you should watch the angularJS JavaScript sandbox escape series I did ;)
@ragnarlothbrok367
@ragnarlothbrok367 7 жыл бұрын
Sure man, I plan to watch all your vids even though some are too damn smart for me.Cheers
@gonska9188
@gonska9188 Жыл бұрын
i can't even say in words how 6:30 annoying and not understandable it was for me
@wolfrevokcats7890
@wolfrevokcats7890 Жыл бұрын
8:50 nice trick everytime breakpoint was hit define hook-stop info registers x/24wx $esp x/2i $eip end
@wizkobenaempire3277
@wizkobenaempire3277 8 жыл бұрын
i like the fonts you use.. can you please name them
Buffer Overflows can Redirect Program Execution - bin 0x0D
7:23
LiveOverflow
Рет қаралды 103 М.
The Circle of Unfixable Security Issues
22:13
LiveOverflow
Рет қаралды 113 М.
Gym belt !! 😂😂  @kauermotta
00:10
Tibo InShape
Рет қаралды 18 МЛН
UNO!
00:18
БРУНО
Рет қаралды 2,2 МЛН
Mom's Unique Approach to Teaching Kids Hygiene #shorts
00:16
Fabiosa Stories
Рет қаралды 36 МЛН
Buffer Overflow Hacking Tutorial (Bypass Passwords)
55:39
David Bombal
Рет қаралды 71 М.
Compilers, How They Work, And Writing Them From Scratch
23:53
Adam McDaniel
Рет қаралды 133 М.
Running a Buffer Overflow Attack - Computerphile
17:30
Computerphile
Рет қаралды 2 МЛН
How To Protect Your Linux Server From Hackers!
20:38
LiveOverflow
Рет қаралды 297 М.
Generic HTML Sanitizer Bypass Investigation
14:05
LiveOverflow
Рет қаралды 140 М.
A Competition for Unreadable Code?
12:33
LaurieWired
Рет қаралды 158 М.
Basic Buffer Overflow - VulnServer TRUN
1:03:04
John Hammond
Рет қаралды 195 М.
Binary Exploitation Deep Dive: Return to LIBC (with Matt)
2:12:41
John Hammond
Рет қаралды 186 М.
Gym belt !! 😂😂  @kauermotta
00:10
Tibo InShape
Рет қаралды 18 МЛН