Server-Side Template Injections Explained

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

КОМЕНТАРІ • 185

  • @brunocarrazza500
    @brunocarrazza500 4 роки тому +77

    I missed you so much, you are such a inspiration for me continuing researching and learning hacking stuff

  • @DrProductivity
    @DrProductivity 4 роки тому +26

    Dude I love your videos!
    I am a Software Engineer and you videos gave me an easy first look into some security topics

  • @RoiEXLab
    @RoiEXLab 4 роки тому +14

    Love the Mr. Robot reference

  • @bhoomikag2883
    @bhoomikag2883 4 роки тому +23

    Crazy! Great content and loved the background music XD

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

    glad to see you back after a while..be continue as soon as you can

  • @uhhuhh9996
    @uhhuhh9996 4 роки тому +12

    Solid video, never thought of making function calls from within templates. You explained it well, and the drawing make it super easy to follow along! Keep it going man

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

    This is so far, one of my favorite internet videos. Amazing to this channel popped up on my UA-cam feed. Thanks for sharing, brilliant video!

  • @gFamWeb
    @gFamWeb 4 роки тому +4

    I've watched a handful of videos on this channel so far and the majority of them were new methods of hacking I was completely unaware of! great job!

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

    literally this is the best channel in UA-cam

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

    Great content! Been waiting for another video for a while now, but it's finally here! :D

  • @HaxorBird
    @HaxorBird 4 роки тому +41

    Long time no see :]

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

    you give off a kind of LiveOverflow vibe and i love it

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

    you are now my new fav channel for when I go back to the basics you make it so much more fun!

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

    Lesson: sanitize user input.
    Golden contents!

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

    the quality of these videos are just excellent, lots of love dude, keep posting more like these :)

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

    I like you attitude,your accent and voice and also the content you deliver keep making such things for us thank you

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

    Thanks a LOT for that python knowledge! I'm stuck on a python CTF challenge for a long time, and now i made a huge step. Still not done but now I have acces to sys, not to os.

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

    0:33 nice reference

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

    So glad to see you are back!!! Missed your videos!

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

    I work with flask professionally I never did this error but this is good to keep in mind thank you

  • @joshaprior3699
    @joshaprior3699 4 роки тому +13

    Missed you

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

    Thank you. I have been struggling to get my head around this 1 for days

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

    Nice of you to play my all time favorite song ever in the background

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

    The king is back

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

    Seen something very useful after months... Thanks man

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

    This is so well done. Great videos on your channel.

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

    glad to see you back

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

    This was eyeopening. Well done. Subbed.

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

    0:37 I like the Mr. Robot names you used in there

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

    Top notch presentation! 👌
    Keep up the great work man!

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

    If you want to know which class of __subclasses__() contains sys/os, you can simply execute the following code and get the position of the module in the subclasses list:
    class_l = ''.__class__.__base__.__subclasses__()
    for i, val in enumerate(class_l):
    try:
    val.__init__.__globals__['sys']
    print(i, val)
    except:
    pass

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

    Please Make Alot Of Videos! I love learning things like this! 🤩

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

    Those tweets on the example website are too funny

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

    great work!! short and sweet, keep it going please!

  • @ferr3iro145
    @ferr3iro145 4 роки тому +16

    That was amazing
    And im not even a Python coder

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

    Dude this is cool. Really well explained

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

    0:36 i like the Mr Robot allusions

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

    DAAAAD WHERE HAVE YOU BEEN I MISSED YOU

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

    Can this be bypassed by exec(compile(“import os; os.system(‘id’)”))

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

    Love your videos man!

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

    man please dont stop ur videos please

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

    like the way you explained and this theme for displaying code

  • @jomy10-games
    @jomy10-games 3 роки тому

    Very interesting video. Also perfect length!

  • @moeg3457
    @moeg3457 4 роки тому +12

    The most interesting things is the beautiful simple website style design you making.
    I wonder what are you using to make these simple website (Front-end) for the back-end its clear you are using python flask.

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

      I mostly use Python with Flask for backend because it has a very simple boilerplate code to get started with. For the frontend, I mostly write CSS from scratch. It's probably not the best thing, I should prolly write a small CSS library to keep the styles consistent across videos, but they look mostly the same because I have memorized styles with colors I usually go with.

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

      ​@@PwnFunction Thank you so much for the reply. I really appreciate that.

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

    Your videos are amazing and hilarious! Keep it up! :)

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

    The legend is back

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

    Such an awesome explaination. Thanks man

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

    That was an amazing video! Thank you.

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

    Great explaination with great art works

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

    Immediately press like button before watching...

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

    The math teacher I’ve always wanted

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

    Love the Mr. Robot references.

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

    wonderful video mate ... explained very well

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

    Simple and Solid Explanation ❤

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

    Nice video dude keep up

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

    You're back!😄

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

    LOL I FLINCHED WHEN HE SAID "SUPRISE MOTHER FU". pls keep teaching

  • @SayantanHack
    @SayantanHack 7 місяців тому

    Such a great video in very low audio humiliate the home theater`s full vol sound.

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

    hes backkkkk!!!!!11!!!!!11!1!

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

    Cool video, but
    When you say that jinja limits the templates, so that you cannot import, instead of doing "import os; os.system('id')", you could try "__import__('os').system('id')".
    [ I don't know if that works, just a suggestion to include in the video ]

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

      Yes, I've tried using the special methods, jinja errors out, doesn't seem to let you import at all :(

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

    Thanks for sharing this, it's very insightful! Looks like it's time for me to review my code lol

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

    Welcome Back !

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

    rap @ 6:13

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

    Love you so much, thanks do great video's :D

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

    Very Educational video
    keep it up

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

    Loved it!!! Great video!

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

    In germany 7*7 is 'feiner sand' (fine sand) cause 7 sounds like the verb to sieve

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

    boy o boi , i got so many bugs in live applications after learning basics from here

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

    Lov ur all topics 😍😎😎

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

    Great explanation...you are amazing...

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

    Great teaching, expecting more... From u

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

    3:15 British people getting stabbed like:
    "Oit there mate, bit rude to put that knoife in me chest innit?"
    LMAO

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

    I think this would be good to watch after the entire Log4J part :P

  • @ANKITPATEL-ju7ro
    @ANKITPATEL-ju7ro 4 роки тому

    Thanx alot for the awsome videos brother.

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

    Missed you !

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

    this video is awesome thanks!

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

    7*7=SSTI 😅
    Another great video

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

    I love those Mr Robot references 🤣

  • @rahulrajkumar1110
    @rahulrajkumar1110 5 місяців тому

    Best explanation!

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

    Very useful thank you for this

  • @Love-do6ei
    @Love-do6ei 2 роки тому

    Bril jus bril bro! ❤️

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

    LMAO Surprise!!! Way To Good 👍 Keep The Videos Coming 😉

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

    Well made video!

  • @sotig.9857
    @sotig.9857 4 роки тому

    Awesome Content 🔥

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

    I would argue that services that still use server side rendering these days aren't worth attacking...

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

    I like your videos.
    keep it up :)

  • @mr.d.editzx
    @mr.d.editzx Рік тому

    The way python sir enters😌😂

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

    Is gadget which your are talking. related to gadget chain?

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

    Me realising my website is vulnerable to this via a cookie

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

    what do you mean when you say to not make (input + code) together?

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

    thanks bro for that video!

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

    Your video is so awesome

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

    Hi ! Thx for the video, I love that format really nice !
    I have question, I still don't understant how did you get from .__base__.__subclasses__() to .__base__.__subclasses__()[141] where did you find the 141 value ? Also how did you know that 'warnings.catch_warnings' contain an "import sys" ? Thank you :)

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

    i tried your code on ipython and it doesnt work, because the 142 subclass is not the same as you and it doesnt include a class importing sys
    a more generic approach would be to use list comprehension to get the package you wish but i dont know if that would be exec in jinga:
    [x.__init__.__globals__["sys"] for x in ''.__class__.__base__.__subclasses__() if '__globals__' in dir(x.__init__) and "sys" in x.__init__.__globals__][0].modules["os"].yournastythings
    also, nice video :)

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

    Greeeeeat 🎉

  • @N10-b8f
    @N10-b8f 3 роки тому

    Damn. This is so cool!

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

    Does jinja filter out __import__?

  • @mohanraj-kr9xg
    @mohanraj-kr9xg 3 роки тому

    Your intro music is cool

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

    Technically the reason why the first attempt didn't work was because you had a statement in a place where jinja expected an expression but yes __ import __ also doesn't work in this case