DOM Clobbering, Prototype Pollution and XSS - "sanity" Walkthrough [Amateurs CTF 2023]

Поділитися
Вставка

КОМЕНТАРІ • 29

  • @axxo1337
    @axxo1337 10 місяців тому +3

    Great stuff ❤

  • @KK-yv4ku
    @KK-yv4ku 11 місяців тому +5

    You are the best bro❤

    • @_CryptoCat
      @_CryptoCat  11 місяців тому

      Awww thank you mate! 💜

  • @Microsoftie
    @Microsoftie 11 місяців тому +3

    I’ve been watching your videos for a few weeks now and I am so happy I found your channel. Your videos are outstanding, and it is much easier for me to understand with the English accent :).
    Keep doing your thing CryptoCat, I look forward to your next video!

    • @_CryptoCat
      @_CryptoCat  11 місяців тому +1

      Thank you so much! 💜

    • @Microsoftie
      @Microsoftie 11 місяців тому +1

      No, thank you!

    • @_CryptoCat
      @_CryptoCat  11 місяців тому

      @@Microsoftie 🥰

  • @BaMB00Z420
    @BaMB00Z420 11 місяців тому +4

    Most underrated security channel by far.

    • @_CryptoCat
      @_CryptoCat  11 місяців тому

      🙏🙏🙏

    • @Microsoftie
      @Microsoftie 11 місяців тому +1

      Agreed. The content is top notch.

  • @hssain.aitkadir
    @hssain.aitkadir 6 місяців тому +2

    awesome one dude.

  • @mpiie2.086
    @mpiie2.086 11 місяців тому +2

    Nicee keep explain about ctf ctf ❤

    • @_CryptoCat
      @_CryptoCat  11 місяців тому

      Thanks! Sure will 🥰

  • @sweetygremlin5960
    @sweetygremlin5960 11 місяців тому +2

    You are number one in my cyber security learning since my first watched video on your channel!

    • @_CryptoCat
      @_CryptoCat  11 місяців тому

      Awwww love to hear that, thanks mate! 🥰

  • @comosaycomosah
    @comosaycomosah 11 місяців тому +2

    Just found you and pumped youre well spoken and easy to understand. Like everyone is saying super underrated channel bro keep it up!

    • @_CryptoCat
      @_CryptoCat  11 місяців тому

      Thanks mate, super appreciated 🥰

  • @sgrum0x
    @sgrum0x 11 місяців тому +2

    Great video! I had some fun experimenting with the browser. It turns out that "debug.sanitizer" is actually a call to the getter function stored in the prototype. As a result, when you overwrite it, you lose the ability to access the #sanitizer property of the object.

    • @_CryptoCat
      @_CryptoCat  11 місяців тому

      Aghh this comment go stuck in the the "held for review" section for a few days 😅 I'm still a little confused because normally when we do prototype pollution, e.g. {'__proto__':{'crypto':'cat'}} it would inject a property called "crypto" (with a value of "cat") into every object, but it wouldn't overwrite other properties that we didn't specify in the prototype pollution payload?

    • @sgrum0x
      @sgrum0x 11 місяців тому

      @@_CryptoCat Sorry, I misspoke. In this case, we are replacing the prototype of the Debug class with the object {crypto: "cat"}. By doing this, we lose the sanitizer get method that was in the legitimate prototype. Therefore, the call to debug.sanitizer returns undefined, which evaluates as false. The fact that properties are usually "added" rather than replaced, I believe, is because the object {crypto: "cat"} itself has a __proto__ that points to Object.prototype. When we replace this object to the __proto__ of another object, we are extending the prototype chain by adding an extra link, creating a chain like this: Victim_object -> {crypto:"cat"} -> Object.prototype. So we essentially retain every basic function of Object. In this challenge, however, the original prototype chain is Debug_object -> Debug.prototype -> Object.prototype. So when we replace Debug.prototype with {crypto: "cat"}, we permanently lose the get method.

  • @0xbro
    @0xbro 11 місяців тому +2

    I wasn't aware of the payload generator. I'll definitely give it a try next time I came across a similar vulnerability. Have you attempted to uncover the vulnerability using DOM Invader instead? However, cool challenge 😎

    • @_CryptoCat
      @_CryptoCat  11 місяців тому +1

      I didn't try DOM Invader, that would of been a cool addition to the video.. next time! 🙂

  • @xB-yg2iw
    @xB-yg2iw 11 місяців тому +2

    Great writeup

  • @kerbalette156
    @kerbalette156 11 місяців тому +2

    This is an awesome explanation. Can I ask how long it took to figure it all out?

    • @_CryptoCat
      @_CryptoCat  11 місяців тому +1

      Thanks! Good question 🤔 I didn't keep track really (was working on other web challs as well) but I did spend a few hours on this one (with some collaboration with team members) but I was doing the writeup as I went which slows me down quite a bit.

  • @harkiharki22
    @harkiharki22 11 місяців тому +1

    u have telegram? i wanna talk to u