Why you should Close Your Files | bin 0x02

Поділитися
Вставка
  • Опубліковано 8 вер 2024
  • #BinaryExploitation #FileDescriptor #Attack
    In this video, we're gonna look at how one can abuse file descriptors in some cases to get access to "sensitive" documents.
    🔗 Code + Build Instructions: old.hackercamp...
    🔗 Original Blog: www.sektionein...
    💬 Discord: / discord
    🐤 Twitter: / pwnfunction
    🎵 Track: Warriyo - Mortals (feat. Laura Brehm)
    NCS link: • Warriyo - Mortals (fea...

КОМЕНТАРІ • 527

  • @PwnFunction
    @PwnFunction  3 роки тому +1291

    Bois I've got covid, I'll be back soon.

    • @vasa_kot
      @vasa_kot 3 роки тому +78

      cool

    • @KrXYT
      @KrXYT 3 роки тому +65

      RIP

    • @KrXYT
      @KrXYT 3 роки тому +40

      the fact you commented 13 minutes ago is insane, ive gotten this in my recommended like every refresh for like the past week and just now decided to watch it

    • @feyg0
      @feyg0 3 роки тому +13

      F

    • @fdsf9886
      @fdsf9886 3 роки тому +8

      rip

  • @chezcake256
    @chezcake256 3 роки тому +125

    0:27 “guys I gotta close my keyboard hold on”

    • @jhonreydaffon8156
      @jhonreydaffon8156 3 роки тому

      Unplug it after using XD

    • @theepicbruhman2254
      @theepicbruhman2254 3 роки тому

      @@jhonreydaffon8156 just cut the wire

    • @Barrosy
      @Barrosy 3 роки тому

      Hold on... Lets close my network socket as well. 0:28

  • @giacomoflisi
    @giacomoflisi 3 роки тому +326

    This whole channel is so good, I'm glad i stumbled upon this gem of the internet today!

  • @Lovuschka
    @Lovuschka 3 роки тому +336

    "Why you should close your files." "Network sockets are a file"
    Okay, closed them. How do I connect to the internet again now?

    • @julians.2597
      @julians.2597 3 роки тому +63

      linux be like: "everything is a file"
      --> sudo shutdown now -h

    • @Handlessuck1
      @Handlessuck1 2 роки тому +37

      @@julians.2597 Wait if everythings a file am I a file?

    • @Rudxain
      @Rudxain 2 роки тому +12

      This is like OOP, everything is an object

    • @Handlessuck1
      @Handlessuck1 2 роки тому +19

      @@Rudxain Imagine programming with FOP

    • @Rudxain
      @Rudxain 2 роки тому +13

      @@Handlessuck1 That would be an interesting concept. Like accessing file metadata using computed property access. Setting permissions using object descriptors (file descriptors). Classes would be programs specifically designed to create a certain kind of file, so VIM is a class whose constructor returns a new plaintext file object.
      The only problem is that *EVERY* file is allowed to have own function properties, which means they can come bundled with method scripts that aren't inherited from the prototype, possibly allowing arbitrary code execution lol

  • @rjhornsby
    @rjhornsby 3 роки тому +55

    with sincere admiration, between the art style and the narrator’s voice I fully expected him to end with “now, fire ze missiles!”

    • @BlueTac1992
      @BlueTac1992 3 роки тому +1

      But I am le tired

    • @kevinalexander4959
      @kevinalexander4959 3 роки тому

      so old school before even UA-cam was out and flash cartoons were all the rave!

    • @BlueTac1992
      @BlueTac1992 3 роки тому

      @@kevinalexander4959 hell yeah, just like burnt face man

  • @ahmedlimam2241
    @ahmedlimam2241 3 роки тому +59

    I want youtube to start recommending this type of videos more! sadly I can't help but watch cat videos every now and then...

    • @codeIMperfect
      @codeIMperfect 3 роки тому +6

      Go to the 3 dot menu against those videos and select 'Not Interested'.
      I know it'll be hard but you gotta do it😥

  • @cat-.-
    @cat-.- 3 роки тому +13

    Bruh, YT recommended this video to me today, I saw the channel name, I saw the video title, and I immediately subscribed

  • @kennichdendenn
    @kennichdendenn 2 роки тому +106

    Thanks, Rust, for closing files on drop (standard: when the variable goes out of scope), as do many others. Sometimes I think RAII is kinda the wrong term, as closing/deallocating/whatever on dropping your value seem equally if not more important in practice.

    • @sephirothbahamut245
      @sephirothbahamut245 2 роки тому +3

      RAII has always been the wrong term, but it caught on. And I guess C(lose)O(n)D(estruction) would remind too much Call of Duty

    • @thewelder3538
      @thewelder3538 2 роки тому +3

      Yup, let's all have the compiler do stuff for us because it's too complex to do it ourselves!! It's what makes the difference between a good coder who is aware of such things and people who need a runtime to remember all the things they forget because resource management is too complex for them. You might as well just advocate for gameSpaceInvaders.create(); gameSpaceInvaders.run() and have the compiler generate the entire thing for you. Coding and coding well is a skill, but NOT today, it's, let the runtime handle that, import some else's library, job done.

    • @jort93z
      @jort93z 2 роки тому +10

      @@thewelder3538 It's a matter of efficiency. Why have people write the same code hundreds or thousands of times? Consumers (because that is who needs to pay for software at the end, even internal software) don't want to pay for developers writing boilerplate code over and over. You want working code the smallest possible amount of effort. Of course, it needs to be fast and safe as well, but nobody has time and money for developers to mess around and try to perfect every little thing.
      It's generally not that people couldn't do it, but simply that they don't want to.

    • @thewelder3538
      @thewelder3538 2 роки тому +1

      @@jort93z I'm not sure if you're actually arguing what you think you are. It's simple, if a class opens a file handle, it should close it. It has nothing to do with efficiency. Your arguing that the runtime should close the file handles that YOU forgot to close. This is like the ultimate lazy coders paradigm, where you rely on the runtime and compiler to fix all your bad code for you. Sure, there are always deadlines and stuff, but releasing a badly bugged product affects reputation WAY more than a release delay. The problem with many coders nowadays, is they have literally NO idea what is going on under the hood of the languages they are writing in. I think they should all do a stint writing x86 or ARM assembly because then you HAVE to take care and do things properly. None of this... whoopsie, I accidently left a file handle open, not to worry, the runtime will sort that for me, mentality. You do things right, or you resource leak and your program dies. Then, once you've got that level of understanding, apply it to a higher level and then you'll realise just how much nonsense it is letting a runtime close a file handle, just because it can. This applies to more than just file handles though, it applies to any resource. The same as a GOOD coder has no concept of a string, it's just a list of bytes. Dynamic containers, like vector/map/set etc, most have no idea what's actually going on. But work in assembly for a bit and then you realise how much pain and suffering these dynamic containers save you from.

    • @jort93z
      @jort93z 2 роки тому +10

      ​@@thewelder3538 "This is like the ultimate lazy coders paradigm, where you rely on the runtime and compiler to fix all your bad code for you"
      Well, or you look at it another way, you rely on the compiler/runtime, so you need to write less code for the same thing. Just because your code is less verbose, doesn't make it worse. If you know you can rely on the compiler/runtime, there is no need to write it out explicitly.
      Your problem is you seem to think that people just forget to close it. It isn't that people forget, but simply that people don't want to.
      Being stupid, and being lazy, are very different things. Generally, smart and lazy people are the best programmers.

  • @ChildishBerbino
    @ChildishBerbino 3 роки тому +63

    I appreciate you and your work so much. As someone with a learning disability, my learning curves are fucked to shit. Sometimes I'll go a month feeling like no progress had been made, then all in one jump every subject and related ones click. Watching your videos, speed this learning process up for me immensely, and I'm so grateful. I hope your Covid-19 is gone by now. We need you ❤️

  • @aleksandermirowsky7988
    @aleksandermirowsky7988 2 роки тому +5

    This video is literally the most informative piece of media about this topic in the entire platform. Instantly subscribed to the channel. Great stuff.

  • @iamworstgamer
    @iamworstgamer Рік тому +1

    bro uploaded this content for absolutely free. you are a legend

  • @enrique4012
    @enrique4012 3 роки тому +130

    That's why we use 'with open...' so it get closed when the code is finished.

    • @MakkaPakka7999
      @MakkaPakka7999 2 роки тому +11

      python

    • @synacktra
      @synacktra 2 роки тому +8

      that's why they made 'with' keyword so we don't fck up, another amazing thing is defer in golang.

    • @gorak9000
      @gorak9000 2 роки тому +4

      That's all fine and good in python, but there's no such thing in C, and all the "real" code that does actual work is written mostly in C

    • @techheck3358
      @techheck3358 2 роки тому +2

      @@gorak9000 you’re watching this on UA-cam, on a website written in html, with effects written in JavaScript, with a backend of C++. Take your elitism elsewhere

    • @gorak9000
      @gorak9000 2 роки тому

      @@techheck3358 Uh, I'm not sure where you got this sense of "elitism" from, but thank you for re-enforcing my point that not all software is written in Python, so saying "use 'with' in Python" is not a solution to this issue. I'm just trying to quell the "python fanbois" that no, there actually do exist other languages out there that don't have "auto" file closing. So many "coders" these days think they can string 5 lines of python together, so now they're "software developers". I interviewed 5 or 6 such people in the last couple of weeks. I don't know wtf they are teaching in CS these days, but it's either not getting through to people, or CS education has really taken a nosedive in the last 5 or 6 years. You ask these "software developers" basic data structures questions, or complexity (big oh) questions, and they look at you with a blank stare like you're talking a foreign language.

  • @TorutheRedFox
    @TorutheRedFox 2 роки тому +31

    Java actually has some edge cases that keeping a file open helps in, like, for example, temporarily adding a certificate to the certificate store without having permissions to actually write to it, because your CA is relatively recent and has compatibility issues with Java (talking about Let's Encrypt here lol)
    this works because Java keeps a copy of the file in memory until you close it that it writes any changes to, before dumping them into the file when you close it. but if that never happens, the file will stay resident in memory, and Java being Java will reuse that copy in memory rather than reloading it into memory when something else in the same vm tries to access that same file, that file being the Java certificate store in this case

    • @kebien6020
      @kebien6020 2 роки тому +2

      I thought buffered IO was a thing in most programming languages?

  • @Hobbitstomper
    @Hobbitstomper 3 роки тому +1

    Got worried that your last pinned message was 2 weeks ago saying you got COVID. Had to sort the comments by date to see if you made other replies since then. Saw one from last week and then one from today. Glad you're still with us. I hope you're feeling better.

    • @PwnFunction
      @PwnFunction  3 роки тому +3

      I'm good now, writing script for the next video :)

  • @mr_ehmed
    @mr_ehmed 3 роки тому +24

    Much awaited ❤ i hope this playlist grows n grows 😍

  • @doretox
    @doretox 3 роки тому +27

    thanks liveoverflow for introducing me to this channel

  • @wiri2391
    @wiri2391 2 роки тому +2

    Your visualisations are on point! Everything feels smooth. Thank you!

    • @3bdo3id
      @3bdo3id 2 роки тому

      That is not the case when you try doing it yourself!
      I am trying just right now and file 3 is not left behind, I think that is a patch of the ubuntu that made this for now but I may return to edit this comm if I figure out what is the wrong

  • @tanned_cosines_
    @tanned_cosines_ 3 роки тому +10

    i just started watching this series today
    wasn't expecting 3rd ep so soon
    btw

    • @callumery119
      @callumery119 3 роки тому +1

      Nice PFP bro

    • @tanned_cosines_
      @tanned_cosines_ 3 роки тому

      @@callumery119 commendable to you too, lol
      someone who notices :)

    • @nameless_9504
      @nameless_9504 3 роки тому +1

      U did it worng it's btw >& this 😂😂

  • @ligamo2615
    @ligamo2615 Рік тому

    This channel is actually amazing. I love it!

  • @bartoszstaszewski6325
    @bartoszstaszewski6325 3 роки тому +5

    This channel is amazing. I just love the graphics and how you explain those things. Wish you'd do more videos about linux filesystem, and low level stuff.

  • @isawadelapradera6490
    @isawadelapradera6490 3 роки тому +6

    use the with statement to ensure files close automatically
    [code]
    with open ("filepath") as file:
    process(file)
    [more code]
    like so, as soon as execution leaves the "with" block your files will be always closed, even during exceptions.

  • @seerlite5256
    @seerlite5256 3 роки тому +1

    EDIT: Turns out I was wrong, cat is not a shell builtin
    5:07 it doesn't work, but not because it's "an external program" (cat is a shell builtin). It's because by using the symlink in /proc/.../fd/ you're trying to open a _new_ descriptor for the symlink, different from the first one opened as root for the actual file.
    Using the redirection syntax works because then you're reading from the _existing_ descriptor and not opening a new one.
    EDIT: After listening to that bit again I realize you pretty much tried to say the same thing. I think the wording confused me for some reason. Anyway, great video!

    • @PwnFunction
      @PwnFunction  3 роки тому +1

      I should've said it better. Noted, thanks.

    • @Gramini
      @Gramini 3 роки тому +1

      Which shell has cat as a builtin? No shell I tested (bash, sh, dash, zsh) has has it, it's just a regular executable at /bin/cat (in my testing).

    • @seerlite5256
      @seerlite5256 3 роки тому +1

      @@Gramini Wow you're totally right. I assumed it was a shell builtin because it was such a simple program. I'm sorry, I should have looked into it before spreading misinformation

    • @gaiuszeno1331
      @gaiuszeno1331 20 годин тому

      ​@@seerlite5256Most implementations of cat are not simple programs as they have flags to symbolically print out non printable characters. The theoretical POSIX cat only requires copying from 1 or more files and/or stdin to standard out.
      You might be thinking of the echo command which is built into many shells and is relatively simple.

  • @winstonlopez6117
    @winstonlopez6117 3 роки тому +1

    Havent finished vid but at 1:22 the screen looks cool with the asian code running in background like the Matrix. NICE !

  • @suman-majhi
    @suman-majhi 3 роки тому +1

    So after this long time....this channel get recomend in everyone's homepage....I wish, I got this channel before

  • @SolarizedPhoenix
    @SolarizedPhoenix 2 роки тому

    This has legit made me start closing files, even though I dont work with anything that needs security.

  • @sawcondeez
    @sawcondeez 3 роки тому +1

    Great explanation and examples. Thanks for making this video!
    I like your terminal theme btw, very nice colours

  • @TheRealFrankWizza
    @TheRealFrankWizza 3 роки тому +6

    Devices are a file in the /dev/ directory, so on and so forth.

  • @tachonko5487
    @tachonko5487 3 роки тому +1

    Ok I just found your channel thanks to your XSS vid, and it’s amazing ! You really helps to understand some complicated contexts, especially for someone who is new to this environment. Keep up the good work 👌

  • @pasteancalin7826
    @pasteancalin7826 3 роки тому

    This just popped up in my feed. Watched 4 minutes and I love it. Subscribed 🔥🔥

  • @someguyfromanotherplanet5284
    @someguyfromanotherplanet5284 2 роки тому

    I love it that people call C a bad programming language then go on to write code like this without thoroughly checking.

  • @dsaha1656
    @dsaha1656 Рік тому

    this just blow my mind. How a simple mistake can open a backdoor to any system it ran on.

  • @SteveTheNerd
    @SteveTheNerd 3 роки тому +3

    Really good videos! It definitively makes me a better developer.
    I also like your video style with the hand drawn aestetics. What do you use to record your drawing? Just curious 😇

  • @user-vr4mv4pg5u
    @user-vr4mv4pg5u 3 роки тому

    man u are the best rare to find someone that explaines the subjects that good

  • @artyomkurguzkin5271
    @artyomkurguzkin5271 3 роки тому +1

    Seeing technical videos of such high quality is mind-blowing. My regards=)

  • @googleuser8512
    @googleuser8512 3 роки тому

    This is awesome. I'm so happy I got this recommended. Keep up the great work!

  • @XDjUanZInHO
    @XDjUanZInHO 3 роки тому +84

    Windows solves all of your issues by remembering you that if you don't close the file handler you won't be able to use the file >:D

    • @ErrorNoInternet
      @ErrorNoInternet 3 роки тому +1

      lmao

    • @idkidk9204
      @idkidk9204 3 роки тому

      lmao

    • @PyPylia
      @PyPylia 3 роки тому +7

      You can still read from a file handler on Windows even if it's open as write or read in another program. You just can't write to it if it's open as write in another program.

    • @Aidiakapi
      @Aidiakapi 3 роки тому +2

      @@PyPylia Whether you can depends on how the file has been opened. You can open a file for read and still block everyone else from accessing it.

    • @darxoonwasser
      @darxoonwasser 3 роки тому +2

      @@Aidiakapi Which is what PowerPoint does. So annoying

  • @g3tl0st30
    @g3tl0st30 3 роки тому +1

    @filedescriptor a huge fan of him, since long time.

  • @patrickdee7365
    @patrickdee7365 3 роки тому +2

    Very smooth and well explained love it!

  • @XThexFenderX
    @XThexFenderX 3 роки тому +2

    This is a hella cool video

  • @anirudhakumar2271
    @anirudhakumar2271 Рік тому

    Bruh. This is amazin, you killin it

  • @assetaden6662
    @assetaden6662 3 роки тому

    Respect for mahboiz who use with or using.

  • @userou-ig1ze
    @userou-ig1ze 3 роки тому +5

    on recommended today, immediately subbed. Is there a way to scan for open handles with elevated privileges, that are 'not supposed to be there'?

  • @samarthverulkar4529
    @samarthverulkar4529 2 роки тому

    This is channel is addictive

  • @MattMcT
    @MattMcT 2 роки тому

    So good as always, pwn! Hope you get better and get plenty of rest 🍻

  • @klaasweerstand1577
    @klaasweerstand1577 3 роки тому

    Thanks for the warning, I will keep it in mind.

  • @monsieuralexandergulbu3678
    @monsieuralexandergulbu3678 3 роки тому +1

    Nice drawings, i like your explanation, keep going!

  • @1337shadow
    @1337shadow 3 роки тому +2

    In python i always use:
    With open ("file.txt", "a") as f:
    If you do it like this the file closes when you're done.

  • @rogervanbommel1086
    @rogervanbommel1086 3 роки тому +1

    Thanks, made this ‘mistake’ a lot and never cared, thanks for explaining(am a python programmer)

    • @laurinneff4304
      @laurinneff4304 3 роки тому

      Python has the with statement, which makes this easier:
      with open("file") as file:
      # do stuff with file
      # file is auto-closed here

    • @rogervanbommel1086
      @rogervanbommel1086 3 роки тому

      @@laurinneff4304 yes, I know about this though I did not know why I should care

  • @beterax
    @beterax 3 роки тому +1

    Amazing visual style!

  • @thomas.n.jordan5093
    @thomas.n.jordan5093 3 роки тому +3

    so underrated, keep it up!

    • @niewazneniewazne1890
      @niewazneniewazne1890 3 роки тому

      It makes sense to me except the exploit part at 7:04, we are piping to stdin of newgrp an echo command into a setuid binary/binary with permissions to write "/etc/sudoers"?
      I don't get the shell script.
      Also the OSX case is part of the semingly same "mistake", except it doesn't use exec(); except exec() is never used, and the linker should run with permissions of the target binary.
      1:11 this is a very honest beginners mistake of "exec() runs a new program, so kernel has to clean up everything that made up the old process"(and this behavior can have usefull usecases).

  • @yaroslavpanych2067
    @yaroslavpanych2067 2 роки тому

    Definition of file - named region of memory. If it has name, and some memory associated, then it is file. Note that, there is no requirements for memory in this definition, neither nor requirements for name. As long as it refers to at least bit of any kind of memory, and it is somehow named (and that includes index-names), object is technically file! Even if object is possess properties that can classify it more precisely, it still considered file.
    This is basics, undisputed basics! And if video starts with demonstration of ignorance of basics, it ends for me at that point.

  • @heyarvee
    @heyarvee 3 роки тому +1

    Excellent explanation! 🔥 also, your terminal theme is sick! what theme is it?

  • @thewelder3538
    @thewelder3538 2 роки тому +3

    A File Descriptor is NOT a file handle. It has NEVER been a file handle. It is a collection of information about a file, that may or may not be opaque depending of the os/function used to obtain one. A handle may be a component of a descriptor. On Windows for instance, a HANDLE is opaque, I think it's a typedef to a void*, but it's actually also a collection of information, but it's STILL NOT file descriptor.

  • @Vlad-1986
    @Vlad-1986 3 роки тому

    This guy seems cool. Top class teaching.

  • @brold6111
    @brold6111 3 роки тому

    You deserve way more subbs lol. You convinced me from the first video. Great job.

  • @jakubsurdej4339
    @jakubsurdej4339 2 роки тому

    I love finding dota 2 soundtrack in random intros

  • @vorlock7149
    @vorlock7149 3 роки тому +4

    0:39 "Everything is not a file" is wrong and means that everything is something but a file. That would mean that file do not exist.
    The correct way would be: "Not everything is a file".

  • @theohallenius8882
    @theohallenius8882 3 роки тому +1

    It's hard to not subscribe, it's like another LiveOverflow channel.

  • @youri0soul
    @youri0soul 3 роки тому

    i finished this video subscribed to the channel went to check more from your channel then realised that i have watched all your videos already now i feel what crack addicts feel :(

  • @marusdod3685
    @marusdod3685 3 роки тому +3

    if you need the file for the entire length of the program, closing it is kinda redundant since the operating system already does it for you after you exit the process

    • @LupusMichaelis
      @LupusMichaelis Рік тому

      True, and that's why I thought the video would be pointless. But after watching, I realized that he's raising an actual point, pointing out the risk you have to leak down secrets and stuff to forked processes. Quite useful

  • @nikolaisafronov3452
    @nikolaisafronov3452 3 роки тому

    Wish you strength! Your videos are super, pls pls keep it up

  • @DarkMonsterGFX
    @DarkMonsterGFX 3 роки тому

    Amazing vid sir! Please, keep them coming! :D

  • @oliveira_mh
    @oliveira_mh 3 роки тому +1

    Awesome vídeo, thank you!

  • @milkibearmilkibear
    @milkibearmilkibear 2 роки тому

    Oh, that was good, I didn't knew that... THX!

  • @lionkor98
    @lionkor98 2 роки тому

    Any language without really easy-to-use RAII should be reconsidered, in my opinion

  • @kericlapboards7737
    @kericlapboards7737 3 роки тому

    Thank you for linking to the original blog!

  • @BCTAHbKA
    @BCTAHbKA 2 роки тому

    هذا أفضل فيديو على الإطلاق

  • @0xbyt3z
    @0xbyt3z 3 роки тому

    one of the best channels with quality content.

  • @jeanlasallevevo6315
    @jeanlasallevevo6315 3 роки тому +3

    Heyo, could you share your terminal colorscheme? I've been looking for a contrasty/vibrant colorscheme for quite some time and yours looks absolutely amazing.

  • @jankowalski-py1ey
    @jankowalski-py1ey 2 роки тому +2

    I need some clarification about the Apple bug - isn't the ability for a regular user to overwrite a root owned file with logs a huge issue already, even if you didn't have control of the contents?

  • @maorhamami8106
    @maorhamami8106 2 роки тому +1

    What about the time the process use the file? I mean it do close it but it takes time - users can still read the content during that time or am i missing something?
    Epic channel btw

  • @SEX_ON_DRUGS
    @SEX_ON_DRUGS 3 роки тому

    loving this series so far :)))))00

  • @whathefuckisthis
    @whathefuckisthis 3 роки тому +1

    So using the method you showed would the normal user only be able to perform actions on that file? Or does it expose bigger vulnerabilities, like manipulating other root files?
    This was a really cool video! Loved when it all tied together with a real world example

    • @hardcorshik31
      @hardcorshik31 2 роки тому +2

      You could edit the sudoers file and then you have admin access to the system

  • @pu239
    @pu239 3 роки тому

    That intro was really slick. Where and how did you make this?

  • @dimdimich
    @dimdimich 2 роки тому +1

    Always set FD_CLOEXEC on descriptors which you don't want to pass to a new process image.

  • @rubex.
    @rubex. 3 роки тому +2

    Great video, maybe boost the volume a bit in your next video.

  • @pocketmage124
    @pocketmage124 3 роки тому +1

    Two things:
    1) I love your animation, what program do you use?
    2) Is there a reason you chose japanese as a background? I'm curious...

    • @PwnFunction
      @PwnFunction  3 роки тому +4

      1. Adobe animate cc
      2. Imma weeb

  • @HaxorBird
    @HaxorBird 3 роки тому

    1:15 I was also thinking of this guy. Nice video btw

  • @a.k_theportal3085
    @a.k_theportal3085 2 роки тому

    the new liveoverflow

  • @user-mh4sc1mt4h
    @user-mh4sc1mt4h 2 роки тому

    I hope you will continue this series

  • @andrewlainson7954
    @andrewlainson7954 2 роки тому

    Love this content

  • @makaupp
    @makaupp 2 роки тому

    You are smart. Subscribed :)

  • @karthibalaji3817
    @karthibalaji3817 3 роки тому

    Awesome work mr.pwn !

  • @ArbaouiBillel
    @ArbaouiBillel 3 роки тому

    Amazing explanation keep going hero

  • @lahiruchathuranga343
    @lahiruchathuranga343 3 роки тому

    We need more..this is so addictive

  • @hupa1a
    @hupa1a 2 роки тому

    Very good one!

  • @SuryaTejaKarra
    @SuryaTejaKarra 3 роки тому

    Great find as always mate.

  • @MrNepal8848
    @MrNepal8848 3 роки тому +5

    so when you leave a file open, the root permission of that system can be accessed by another program having access to the running program?

    • @Christobanistan
      @Christobanistan 3 роки тому +5

      I think he's saying the process that opened it while elevated can continue to access it after changing to plain user. Perhaps some system API in OSX did this while starting a new process and didn't close the file, which would give the new process (now running as a user) access to the file.

    • @laurinneff4304
      @laurinneff4304 3 роки тому +3

      @@Christobanistan correct. The vulnerability was in dyld, macOS's dynamic linker (a program that adds the code for libraries your program uses to the code for your program). BTW, the equivalent on Linux is usually ld-linux

    • @Christobanistan
      @Christobanistan 3 роки тому +1

      @@laurinneff4304 Dang.

    • @PixeLabor
      @PixeLabor 3 роки тому +1

      This is very important and not clearly state in the video. The video can suggest that every file open by a running programm can be accessed

  • @MatildaHinanawi
    @MatildaHinanawi 2 роки тому +1

    Don't think you explained why the redirect is dependent on not closing the file. No way anything can just read from an opened file just because it's opened. So why then can we read despite it not being opened by or even by the shell?

  • @RAZREXE
    @RAZREXE 3 роки тому

    This channel is sooo dope

  • @conqu3red545
    @conqu3red545 3 роки тому

    I really like your video style

  • @fmobus
    @fmobus 2 роки тому

    that's a beautiful font

  • @nagitokomaeda3237
    @nagitokomaeda3237 3 роки тому

    OOOOOOOOH THAT SOOOOOONG I REMEMBER IT subscribed

  • @odddellarobbia4
    @odddellarobbia4 3 роки тому

    glad i found this on my recommendation

  • @robertchavana3961
    @robertchavana3961 2 роки тому

    I've usually got like three different text files open in the background, felt attacked when I read the title.

  • @andylib
    @andylib 3 роки тому

    Crazy stuff as always 🔥

  • @blueyay
    @blueyay 3 роки тому +2

    The colors and art style of this video are eye candy uwu

  • @mr2octavio
    @mr2octavio 3 роки тому

    I would've spent a little more time on the

  • @DarshanShah10
    @DarshanShah10 2 роки тому +1

    What are the fonts you use? Quite aesthetic!

  • @mihaleben6051
    @mihaleben6051 2 роки тому

    "Oops my computer crashed BECAUSE I CLOSED IT IDIOT is a valid argument to this" is a valid argument to this

    • @0LoneTech
      @0LoneTech 2 роки тому +1

      It isn't even a coherent sentence, let alone an argument.