2017 OWASP Top 10: Insecure Deserialization

Поділитися
Вставка
  • Опубліковано 9 вер 2024

КОМЕНТАРІ • 44

  • @MaxChadwick
    @MaxChadwick 5 років тому +14

    The example provided isn't really an example of insecure deserialization. If the application is relying on a cookie to determine the user's role within the application that would be broken access control.
    A more realistic example would be something like:
    - The application expects the cookie to contain a serialized UserState object with things like the user's preferences. Pseudo code something like: {o:UserState:{a:viewPreferences:{view:list,numberPerPage:30,sort:Price}}}
    - The application unserializes the cookie and calls some methods on the UserState object
    - Instead of a serialized UserState object, the attacker sends a serialized object of an unexpected type: e.g. {o:DatabaseConnection:{a:properties:{query: DROP DATABASE foo;}}}
    - The application unserializes the unexpected object type and calls methods on it leading to unexpected code execution.
    Also note there are automated ways to check this. For example, you could run the value of all the Cookies set against you against a RegEx to see if they look like serialized objects.

    • @devcentral
      @devcentral  5 років тому +1

      Hi Max...thanks for the comment and the additional data. Just for clarification, I was using the "super cookie" example (Attack Scenario #2) that OWASP uses in their literature here: www.owasp.org/index.php/Top_10-2017_A8-Insecure_Deserialization
      In this example, a PHP forum uses PHP object serialization to save a "super" cookie, containing the user's user ID, role, password hash, and other state... An attacker changes the serialized object to give themselves admin privileges...

    • @MaxChadwick
      @MaxChadwick 5 років тому +2

      @@devcentral After I wrote this comment I looked at the OWASP doc and saw the content was based off that. It seems like OWASP themselves actually don't fully understand the vulnerability. twitter.com/maxpchadwick/status/1092818227829317639?s=20

    • @devcentral
      @devcentral  5 років тому

      @@MaxChadwick thanks for the reply and the clarification. I'll certainly look into this. Appreciate the ongoing discussion and clarification...the end goal is to explain the issue of this security risk, so we need to make sure that is done clearly and effectively (and accurately!!). Thanks again!

    • @LunaCorbden
      @LunaCorbden 5 років тому +2

      Thanks for this deeper explanation. This makes more sense. The largest threat here is unauthorized code execution, which is very serious indeed.

  • @venkateshbogadhi4652
    @venkateshbogadhi4652 5 років тому +5

    Nice Video...Thanks for it
    Can you make a video on different types of Insecure Deserialization with examples: i.e,
    Blind Deserialization
    Asynchronous Deserialization
    Deferred Execution Deserialization

  • @logiciananimal
    @logiciananimal 5 років тому +2

    The bit about the classification of the vulnerability sort: if, say, cookie content is used to recreate a server side object in, e.g, Java or .NET, then that's the risk for insecure deserialization.

    • @devcentral
      @devcentral  5 років тому

      Thanks for the additional info...great stuff!

  • @PrashantSharma-ql4yb
    @PrashantSharma-ql4yb 4 роки тому +2

    Beautifully explained, thank you!

  • @EM-do1yi
    @EM-do1yi 2 роки тому +1

    Great video, TY!

  • @seaniwild2495
    @seaniwild2495 5 років тому +5

    Thanks for sharing! I want to explain the mechanism a tiny bit more; ie. one way would be if the attacker changes the serialised user name to "Alice:Admin:123:xyz --#" then when that's deserialised the bits of her name get split on the colons and populate the other fields. Everything after the # is a comment and ignored. it grants full access tho is tricky to put into practice. Thanks again :)

    • @devcentral
      @devcentral  5 років тому

      thanks for the added info!

  • @kunalkishore799
    @kunalkishore799 6 років тому +3

    Awesome series !!!

    • @devcentral
      @devcentral  6 років тому

      glad you enjoy the videos!

  • @rawshn
    @rawshn 4 роки тому

    Did nobody else notice and wonder about how he made the video? We are seeing content from left to write and that is only possible if he is writing from right to left because the camera appears to be in front of him?

  • @Z0nd4
    @Z0nd4 4 роки тому +1

    Excelent video and explanation

  • @Eric-nm7ff
    @Eric-nm7ff 4 роки тому +2

    I hate to ask, but in what universe would you rely on input from the user to determine their role?

  • @swapnils3486
    @swapnils3486 5 років тому +2

    This example looks more like an example of IDOR (Insecure Direct Object Reference) than of Insecure Deserialization.

    • @devcentral
      @devcentral  5 років тому +3

      Thanks for the comment Swapnil...Just for clarification, I was using the "super cookie" example (Attack Scenario #2) that OWASP uses in their literature here: www.owasp.org/index.php/Top_10-2017_A8-Insecure_Deserialization
      In this example, a PHP forum uses PHP object serialization to save a "super" cookie, containing the user's user ID, role, password hash, and other state... An attacker changes the serialized object to give themselves admin privileges...
      Other people have commented on this as well...I'll make sure we use a better (more clear) example next time around. Thanks again!

  • @luqmaanhadia1168
    @luqmaanhadia1168 4 роки тому +1

    Really awesome video, I do have a question, if an attacker is able to change prices, is it regarded as objects deserlisation

  • @syedumararfeen8146
    @syedumararfeen8146 4 роки тому

    Thanks.

  • @iyer_anoop
    @iyer_anoop 5 років тому +2

    Nice series, it helped me understand the top 10s especially Insecure Deserialization. Thanks.

  • @na0m1fes51
    @na0m1fes51 5 років тому +1

    thanks for sharing dude i just subscribed

  • @bigmarkua
    @bigmarkua 4 роки тому

    Thanks

  • @admanbomb
    @admanbomb 6 років тому

    Hi, Great videos, I have a question do you guys know of or are making a video on how to perform a pen test based on OWASP Top 10? That would be awesome.

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

    thx for this video! - i'm wondering how you managed that mirror-writing...

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

      Here's an explanation of how it all works: devcentral.f5.com/s/articles/lightboard-lessons-behind-the-scenes

  • @user-go9nj8is9v
    @user-go9nj8is9v 5 років тому +1

    Awesome Series! thanks for all the information !

  • @jeffschulman
    @jeffschulman 6 років тому +1

    Great overview! Thanks for posting!

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

    How is he writing backwards?

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

      Thanks for the note and this is how we produce these: ua-cam.com/video/U7E_L4wCPTc/v-deo.html

  • @willkrummeck
    @willkrummeck 5 років тому +1

    nice serial ;)

  • @Alkiiis
    @Alkiiis 4 роки тому

    How common are insecure deserialization issues?

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

      It's hard to say because it's difficult to automatically scan for them. The OWASP organization says that this risk was added because of the feedback it got during the "TopTen" survey they did for the 2017 list. But, they also say that, with improved toolsets to find this risk in the future, the risk might make it higher on the list next time around.

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

    dont be insecure

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

    table.tex().reverse();

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

    1234