Don't make random HTTP requests.

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ม.ค. 2025

ความคิดเห็น • 270

  • @AhrenBaderJarvis
    @AhrenBaderJarvis 3 ปีที่แล้ว +183

    This is the BEST explanation of SSRF I've ever heard and I finally understand it now. Thank you.

    • @PwnFunction
      @PwnFunction  3 ปีที่แล้ว +21

      Means a lot, thanks!

    • @RAGHAVENDRASINGH17
      @RAGHAVENDRASINGH17 2 ปีที่แล้ว +1

      That's debatable

    • @algorythmis4805
      @algorythmis4805 2 ปีที่แล้ว +8

      @@RAGHAVENDRASINGH17 then debate

    • @vitaminncpp
      @vitaminncpp ปีที่แล้ว

      @@algorythmis4805 Where Link to the talk you mentioned in video

  • @avi12
    @avi12 3 ปีที่แล้ว +618

    This channel is heavily underrated

    • @kanekino9507
      @kanekino9507 3 ปีที่แล้ว +4

      Holy fucking shit yes

    • @NanoTrasen
      @NanoTrasen 3 ปีที่แล้ว +2

      It's like LiveOverflow, but before they went to shit.

    • @android-user
      @android-user 3 ปีที่แล้ว +1

      @@NanoTrasen what went wrong with them? :/

    • @manuyel4845
      @manuyel4845 3 ปีที่แล้ว +1

      @@NanoTrasen since when liveoverflow went to shit?

    • @nas73603
      @nas73603 3 ปีที่แล้ว +1

      @@manuyel4845 ikr like wut does he mean?

  • @floridamanfloridaman1687
    @floridamanfloridaman1687 2 ปีที่แล้ว +43

    the funny thing about this channel is that it always flew under my radar because i thought by the graphics in the thumbnails that it wouldn't dive too deep into the topics. I guess I'll never judge a book by its cover again. Real nice vid, keep it up!

  • @adygombos4469
    @adygombos4469 3 ปีที่แล้ว +25

    I love this videos. Every time I see one I understand around 30% of what he's saying but I'm still watching 'till the end.

  • @KentoNishi
    @KentoNishi 3 ปีที่แล้ว +38

    Just found your channel and I think it's heavily underrated. Keep making more videos plz, even tho I don't do security stuff myself I find it really interesting and your explanations are super easy to understand for noobs like me too. Love it!

    • @Ikxi
      @Ikxi 3 ปีที่แล้ว

      Lmao the LiveTL guy
      Hi

  • @sodiboo
    @sodiboo 3 ปีที่แล้ว +338

    I swear i've heard someone jokingly say "CRLF injection" before, and although i've seen that fuck with UI only intended for single lines (chat text boxes in some games, Muck for example and you can impersonate others in chat), but i never thought it would be an actual security vulnerability in a real application that can actually cause damage without another human element lol

    • @tauon_
      @tauon_ 3 ปีที่แล้ว

      Hi terrain!

    • @alb12345672
      @alb12345672 3 ปีที่แล้ว +5

      who needs cr lf when you have && and ; :lol

    • @SirusStarTV
      @SirusStarTV 3 ปีที่แล้ว

      Muck

    • @creepergamer2911
      @creepergamer2911 2 ปีที่แล้ว

      muck

  • @phanirithvij
    @phanirithvij 2 ปีที่แล้ว +12

    Great video, thank's for introducing SSRFs in a practical, hands on and easy to understand way.

  • @cybercdh
    @cybercdh 3 ปีที่แล้ว +16

    Really great video. I love your editing skills, so slick, nice job.

  • @sanderd17
    @sanderd17 3 ปีที่แล้ว +49

    11:50 rubocop reported that line for a reason apparently.

  • @basspotion846
    @basspotion846 3 ปีที่แล้ว +32

    This one is definitely make my day...!

    • @BigYoshi826
      @BigYoshi826 3 ปีที่แล้ว +2

      It kinda ruined my day

  • @luandasilva4639
    @luandasilva4639 2 ปีที่แล้ว +3

    this channel is as good as it gets man, props

  • @triularity
    @triularity 2 ปีที่แล้ว +15

    So remember when connecting to random URLs: Either bind your client to an IP which only has public internet access (i.e. via firewall settings); Use a client library which has an option to only connect to public addresses (or can do so via an access control callback); Or funnel all the requests through a proxy which denies access to any internal addresses.

    • @chilversc
      @chilversc 2 ปีที่แล้ว

      Envoy proxy is good for this, supports mTLS and access control.

  • @TShad0w-Sec
    @TShad0w-Sec 2 หลายเดือนก่อน

    I don't know why you guys stopped making such content. You were doing great. I am a fan. The way this channel goes on to explain, it is awesome

  • @ModernAtomX
    @ModernAtomX 2 ปีที่แล้ว +2

    I was in the middle of this video, but I set it down and when I came back, the video was off youtube. Glad to see its back so I can finish it lmao

  • @mohamedfatheem2872
    @mohamedfatheem2872 3 ปีที่แล้ว +2

    Amazing work my brother! Lots of Love! Keep making awesome contents like this.

  • @Evoleo
    @Evoleo 3 ปีที่แล้ว +8

    FINALLY guys he uploaded!

  • @Dziaji
    @Dziaji 3 ปีที่แล้ว +5

    Cool video, and your english is terrific. I almost didn’t notice that you weren’t a native english speaker.

  • @fmenguy
    @fmenguy 3 ปีที่แล้ว +4

    Thank you for these explanations. I was waiting for a video on this type of problem. Your diagrams and your speech (rather slow) are a plus for me which sucks in English: ').

  • @Henrix1998
    @Henrix1998 2 ปีที่แล้ว +15

    I'm constantly surprised by the amount of languages and frameworks that allow executing any string you give them

    • @MechanicalMooCow
      @MechanicalMooCow 2 ปีที่แล้ว +4

      just webdev things

    • @JMurph2015
      @JMurph2015 2 ปีที่แล้ว

      I think it's the hacky way around having proper abstractions for modules/extensions in your codebase. Want to have a middleware system without properly defining the interfaces? No problem, just give your users a hook that's passed into the eval() function as it processes requests! Problem solved!

  • @hexrays6150
    @hexrays6150 3 ปีที่แล้ว

    I have been waiting for a new video from this channel. Very good content and explanation, nice animation and voice

  • @chiefkeeflover4
    @chiefkeeflover4 3 ปีที่แล้ว +1

    Your channel has helped me out greatly. Tysm!

  • @Ikxi
    @Ikxi 3 ปีที่แล้ว

    You give me such LiveOverflow vibes haha
    I like it

  • @potatoonastick2239
    @potatoonastick2239 3 ปีที่แล้ว

    Good vid bud, thanks for making it! And have a nice day

  • @giaphatha88
    @giaphatha88 3 ปีที่แล้ว +2

    This is top tier contents, keep it up!!!!

  • @verolyn8459
    @verolyn8459 3 ปีที่แล้ว

    Probably the Best Explanation So far, Thanks bud

  • @samuelnarciso9110
    @samuelnarciso9110 3 ปีที่แล้ว +2

    Este compa es la pinga, me fascinan tus vídeos

  • @ilikememes9052
    @ilikememes9052 3 ปีที่แล้ว +4

    I am from a software engineering background got interested in cybersecurity too now.

  • @michaelhackman3195
    @michaelhackman3195 3 ปีที่แล้ว +2

    Keep it up! Love your videos

  • @liesdamnlies3372
    @liesdamnlies3372 3 ปีที่แล้ว +22

    2:38 Hold-up a second. That’s a Python REPL, but my god it’s beautiful. How was this magic accomplished?!

    • @PwnFunction
      @PwnFunction  3 ปีที่แล้ว +22

      Bpython Interpreter

    • @liesdamnlies3372
      @liesdamnlies3372 3 ปีที่แล้ว

      @@PwnFunction Thank you so much. This is way more comfy than the stock interpreter. :D

    • @alb12345672
      @alb12345672 3 ปีที่แล้ว

      @@liesdamnlies3372 If you do something like path = require("path") in the node repl you get some minimal documentation (e.g. just a list of methods)

  • @b391i
    @b391i 3 ปีที่แล้ว +1

    Awesome as usual like Fireship 😁

  • @sugiii9616
    @sugiii9616 3 ปีที่แล้ว +56

    "Kinda like, you know, when you were young and you want those beers but you were underage"
    No, sir, I dont. I'm an European

    • @fitmotheyap
      @fitmotheyap 3 ปีที่แล้ว

      Europe ftw

    • @P4INKiller
      @P4INKiller 3 ปีที่แล้ว +3

      _A_ European.

    • @sugiii9616
      @sugiii9616 3 ปีที่แล้ว +1

      ​@@P4INKiller un Européen* één Europeaan* und Europäer* un Europeo* un Europeista* un European* um Eurpeu* ktoś Europejczyk* (idk my Polish sucks ?) Unu Eŭropujo/Unu Eŭropio*
      And sorry mates I dont have keyboard for Czech, Ukrainian, etc.

    • @fitmotheyap
      @fitmotheyap 3 ปีที่แล้ว +1

      @@sugiii9616 европјанец(this is in macedonian,idk about other slavic)

    • @sugiii9616
      @sugiii9616 3 ปีที่แล้ว

      @@fitmotheyap Thank you sir! I know how to read your alphabet for 2 weeks hehe 😎😎

  • @hakura88
    @hakura88 3 ปีที่แล้ว

    I love your videos. keep your work up it's amazing.

  • @daltonb
    @daltonb 2 ปีที่แล้ว +1

    Excellent explanation earned my follow!

  • @SlySportz
    @SlySportz 2 ปีที่แล้ว

    Really enjoying your channel my friend. Keep it up

  • @tiscrispin
    @tiscrispin 2 ปีที่แล้ว

    Oh my, this was an insightful one :D

  • @superhero1
    @superhero1 3 ปีที่แล้ว +1

    Great video my friend! ❤️

  • @barack454
    @barack454 3 ปีที่แล้ว +3

    at 12:53 you are giving redis port 6379 but in terminal when you check at 13:18 port number is 1337 that it is connected to
    could you please explain this

    • @colorspace5541
      @colorspace5541 3 ปีที่แล้ว +5

      port 1337 is what the "outside" ncat server listens to, and as he said in 12:58, this was just the proof of concept.
      He sent this instruction to the redis server on port 6479:
      "Execute the linux ID command (returns current shell user-id or short UID) and post the result to the ncat server running on port 1337"

  • @Milten130
    @Milten130 2 ปีที่แล้ว +1

    This video somehow shows as uploaded 6 months ago. Good explanation

  • @ShouldBeKnown
    @ShouldBeKnown 2 ปีที่แล้ว +4

    where are the comments?

  • @dummyna2335
    @dummyna2335 2 ปีที่แล้ว

    Bro, you're a legend.

  • @resphantom
    @resphantom 2 ปีที่แล้ว +13

    One of the reasons you should enable password authentication on your Redis and separate your automation from your environments.
    Here is one of the biggest risk in some companies, having a central user that has admin access to an entire Kubernetes or ECS cluster. If the credentials or token of this user becomes compromised, the attacker will essentially have full control over your entire cluster.
    We should probably also separate hackers into 2 categories:
    - People who want to do damage
    - People who want to gather valuable information
    *Hacker (Gatherer)*
    Large quantities of categorized accurate data is extremely valuable. Many companies big or small store general user data, such as overall sales data to determine which products does a majority of their clients like and try to cater to the larger audience.
    There are usually big data based systems that uses these datasets to build statistical models to help make sense of a majority of this data.
    Now for the hacker gathering data, if they somehow got a hold of these datasets, they could sell it to the competitors of the company they stole from, thus now using that data to push specific products out to the same customers faster, making themselves look better. A strange strategic tactic of stealing another company's customer base.
    *Hacker (Attacker)*
    The common malicious Attacker could attempt a similar thing but with a different route. They can simply be paid by a company to shut down or to compromise their competitors.
    For one if they somehow got access to those same datasets, they could simply permanently delete that data, crippling the vision of the competitor. When a company does not know whats happening in their own sales, they may bring out products that the clients won't buy, costing the competitor insane amounts of lost revenue.
    Or if the attacker somehow got access to the system, they could be paid by a company to simply cripple critical systems of their competitor. If the competitor can't make sales or has a crappy service, then the customer base would most likely flock to whatever works.
    *Conclusion*
    Think of it this way, if you suddenly can't use Google, what other search engine would you use?
    Probably bing or duckduckgo, right?

  • @FedoraRose
    @FedoraRose 3 ปีที่แล้ว +3

    Finally a new video :D

  • @SurajGaud
    @SurajGaud 3 ปีที่แล้ว +3

    Quality content

  • @abdullahessam6998
    @abdullahessam6998 ปีที่แล้ว

    Hello, I would like to know if there is a way to predict the semi-random numbers to get profits from betting applications and semi-crash??😢

  • @salluc1712
    @salluc1712 3 ปีที่แล้ว +2

    Keep it up that's amazing thank you

  • @MrNicKO81
    @MrNicKO81 2 ปีที่แล้ว

    cool! very inresting, i feel a little smarter already, thx ;)

  • @ashvinbhuttoo
    @ashvinbhuttoo 2 ปีที่แล้ว

    Great content, subbed! 🐧

  • @Aolpha
    @Aolpha 3 ปีที่แล้ว +7

    Welcome back
    Hope you fine and dandy?

    • @PwnFunction
      @PwnFunction  3 ปีที่แล้ว +7

      I'm good, hope you're well too

  • @agoogleuser5420
    @agoogleuser5420 2 ปีที่แล้ว +1

    I finally understand why Roblox doesn’t allow requests to their own domain through Roblox game servers.

  • @laurinneff4304
    @laurinneff4304 3 ปีที่แล้ว +3

    How did you get the docs in your Python REPL at 2:44?

  • @hundredchaos7831
    @hundredchaos7831 3 ปีที่แล้ว

    Finally you are back ☺️

  • @dorb1337
    @dorb1337 3 ปีที่แล้ว

    YOU ARE THE REAL MVP.

  • @randomguy3784
    @randomguy3784 3 ปีที่แล้ว

    Excellent video!

  • @mrala
    @mrala 3 ปีที่แล้ว

    awesome job man

  • @olo90
    @olo90 3 ปีที่แล้ว +3

    Any chance you can cover the Twitch hack? Would be nice to get some more info there

  • @dinoscheidt
    @dinoscheidt 3 ปีที่แล้ว +5

    3:07 “there is an old talk, but still great” Talk is from Jan 9, 2020 👀 … one really has to awe that in tech we move so fast that a year old talk is considered old. Borderline outdated. Now the doctors office that happily works with best practices learned at college 15 years ago needs to defend against this world. 😅 ehm… yeah, my bet is on black

    • @PwnFunction
      @PwnFunction  3 ปีที่แล้ว +6

      That video was re-uploaded in 2020, but the first video surfaced in 2017. You can also see "2017" in the top left corner ;)

    • @dinoscheidt
      @dinoscheidt 3 ปีที่แล้ว

      @@PwnFunction Ok ok, fine its 4 instead of 2 years - still far off 15 years 😬….. 🐌

  • @lowborn7231
    @lowborn7231 3 ปีที่แล้ว

    Where are the videos? Did you forgot you have a channel? I'm waiting new content :(

  • @triularity
    @triularity 2 ปีที่แล้ว

    Along side the newline injection vulnerability, it seems Redis should abort the connection the moment it gets an invalid line. This likely would have also prevented this particular exploit.

  • @badreddinechamkhi3785
    @badreddinechamkhi3785 3 ปีที่แล้ว +24

    hey man we are waiting for the binary exploitation series !

  • @reizinhodojogo3956
    @reizinhodojogo3956 2 ปีที่แล้ว

    a guy made a video of bed trapping someone but he forgot to censor about 1 or more frame(s), the guy is lucky i wont use his (idk what) for any bad

  • @jayshah5695
    @jayshah5695 2 ปีที่แล้ว

    the netcat technique was great, would u make a video on all the use cases it enables ?

  • @Hextator
    @Hextator 2 ปีที่แล้ว

    When I was still a teenager I found out that a website I used for an online game could be used to send e-mails to anyone AS anyone registered on the website. I never reported it because it never occurred to me how big of a deal that is at the time, and I forgot to write down how I did it, which goes against the whole "it's not science if you don't write it down" belief I've been operating on for the past 16 or so years ;/

  • @krystofoxik
    @krystofoxik 3 ปีที่แล้ว

    Great content!

  • @hanabi6841
    @hanabi6841 3 ปีที่แล้ว

    can you demo how we bypass ssl pinning windows application?

  • @zyansheep
    @zyansheep 2 ปีที่แล้ว +1

    All the comments are gone :(
    At least the video is back!

  • @insanity2753
    @insanity2753 3 ปีที่แล้ว

    Great video, thank you.

  • @josephseed3393
    @josephseed3393 2 ปีที่แล้ว

    Isn't the JSONified class also insecure deserialization? Ruby executes whatever it sees in the function of that class, so that is insecure deserialization right? The complete vulnerability chain in this case would then be SSRF + CRLF + Insecure Deserialization

  • @tatianatub
    @tatianatub 2 ปีที่แล้ว

    if i had found this channel when i was highschool i'd have ended up going to juve

  • @FelixHdez
    @FelixHdez 2 ปีที่แล้ว

    Old talk ?? It was like 16 months old when this vid was made

  • @nakulgopal60
    @nakulgopal60 3 ปีที่แล้ว +1

    Your content is really good , also animation is great. It'll be great if you make a video on how you research all this thing , how to approach the research and what sources are best.

  • @Sparkette
    @Sparkette 2 ปีที่แล้ว +10

    Which of the Community Guidelines did this allegedly violate?

    • @dxxx.
      @dxxx. 2 ปีที่แล้ว

      Shush....

    • @drishalballaney
      @drishalballaney 2 ปีที่แล้ว

      Same question

    • @hipster2283
      @hipster2283 2 ปีที่แล้ว +1

      He said there was a joke that violated guidelines that has been removed

    • @Sparkette
      @Sparkette 2 ปีที่แล้ว

      @@hipster2283 What was the joke?

    • @hipster2283
      @hipster2283 2 ปีที่แล้ว

      @@Sparkette not sure, the video got taken down before I watched it

  • @realcartoongirl
    @realcartoongirl 2 ปีที่แล้ว +1

    my brain is to dumb to process this

  • @optimiserlenergie1094
    @optimiserlenergie1094 3 ปีที่แล้ว

    Redis does not requires authentication ?

  • @june4171
    @june4171 2 ปีที่แล้ว

    i died when u compared sitting out side of the liqour store to ssrf

  • @davidlee588
    @davidlee588 11 หลายเดือนก่อน

    As a hello-world engineer, I cannot fully get what this video means, but I know this is good. What should I learn in order to understand this video?

  • @mohamed-0101-i8e
    @mohamed-0101-i8e 3 ปีที่แล้ว

    Cn I ask you what's the tool that you used for the diagram In 1:52 ?

  • @hengyongming3676
    @hengyongming3676 3 ปีที่แล้ว +1

    Finally waited so long for this video

  • @itsmerg5273
    @itsmerg5273 3 ปีที่แล้ว +6

    you have such quality content but you should upload more

  • @wusluf
    @wusluf 3 ปีที่แล้ว

    What tool do I need to make visualization like the one at 1:53?

  • @rexyfahrezi
    @rexyfahrezi 3 ปีที่แล้ว

    that's awesome!

  • @Verrisin
    @Verrisin 2 ปีที่แล้ว +1

    ok, so... just route all "external-origin" url requests through adapters that only lead directly outside ... ? - essentially, through the "public-ip router" ...

    • @Verrisin
      @Verrisin 2 ปีที่แล้ว

      yeah, in fact, no need to error-pronely sanitize my urls - just load them all through a proxy which runs outside of the internal network. ... I think that solves it perfectly.

  • @Afitz200
    @Afitz200 2 ปีที่แล้ว

    Back from the dead!

  • @Linuxdirk
    @Linuxdirk 2 ปีที่แล้ว

    sigh ... Why the heck are SSRFs are still possible? It's 2022 for ducks sake!

  • @binedstudios
    @binedstudios 2 ปีที่แล้ว +2

    this is helpful

  • @Jakemontana91
    @Jakemontana91 3 ปีที่แล้ว +1

    Im new to this stuff and learning, but what is the difference between an SSRF and a CSRF? Thanks for the knowledge!

    • @lonelybookworm
      @lonelybookworm 3 ปีที่แล้ว

      SS = Server Side
      CS = Cross Site

  • @kenGPT
    @kenGPT 3 ปีที่แล้ว

    Stok sent me, you got my sub.

  • @realslimchaggy
    @realslimchaggy 3 ปีที่แล้ว

    yo bro ho does every body got free websites.. of course not every one have wifi and money so how can they create a server for free.. please answer my question and tell me how can I build a server (linux) for free

  • @MarcusAndersonsBlog
    @MarcusAndersonsBlog 2 ปีที่แล้ว +5

    Self generated code execution is considered a extremely useful feature in interpretive languages, and I don't see it disappearing. However one does wonder if it's a fools errand arising out of lazy thinking. You can add a lot of power for very little effort this way but the unnoticed security envelope (usually) requiring executable code to sit in OS protected memory is bypassed in any kind of interpreter. This violates the implied security model of the Von-Neuman/Harvard architectures. So the security model never taking into account interpreters is actually responsible for the problem to start with.
    Browsers should never have been enabled to run interpreted scripts either (go ahead and laugh, but I'm deadly serious). I was pretty amazed when HTML appeared in the 1980s as uncompiled & unencrypted, but when Netscape introduced Javascript I pretty well fell off my chair. My suspicions were confirmed when I subsequently learned HTML was invented by a self taught non-computer professional.
    The danger of interpreters were already quite apparent to me after just 4 months into my IT career on the DecSystem-10. The TECO editor (aka 'vi') used a privileged operation that could allow TECO code to receive passwords in a fake login attempt. Only a privileged program like TECO could do this, but TECO was an editor with its own interpretive language. All SSRFs work this same way. Interpreters that allow (new) code execution are a really really bad idea. There is simply no need for it, although, its makes a FEW difficult things much much easier without having to write code for, at the expense of violating the fundamental computer architecture security model.

  • @Nirgranth
    @Nirgranth 3 ปีที่แล้ว

    01:18
    that takes screenshots of other websites? how do you do this?

    • @PwnFunction
      @PwnFunction  3 ปีที่แล้ว

      Easiest way is to use a headless browser. Checkout pptr.dev project.

    • @Nirgranth
      @Nirgranth 3 ปีที่แล้ว

      @@PwnFunction thanks its easy to use

  • @bwbs7410
    @bwbs7410 2 ปีที่แล้ว

    “I just learned ruby last night” LMAOO hard flex

  • @Asrashas
    @Asrashas 2 ปีที่แล้ว

    Dumb question and not really related to the topic but: Is there a tool to make isometric graphs like at around 2:00? That looks pretty neat.

  • @iraklisskepasianos5095
    @iraklisskepasianos5095 3 ปีที่แล้ว +1

    Great video as always! Could you please send the link of the github repo with the SSRF examples?

  • @TrashwareArt
    @TrashwareArt 3 ปีที่แล้ว

    Are you interested in working for the monero research labs?

  • @omarelfarsaoui5498
    @omarelfarsaoui5498 3 ปีที่แล้ว

    Awesome 👏🏻

  • @lmlagg
    @lmlagg 2 ปีที่แล้ว

    Wait that outro... It sounds... Familiar...

  • @MrAnderson3330
    @MrAnderson3330 3 ปีที่แล้ว

    What does this mean for it's ipo day

  • @st0ox
    @st0ox 3 ปีที่แล้ว

    Man, I like these flaps.

  • @deinpapa3769
    @deinpapa3769 2 ปีที่แล้ว

    like blind sql / http header injection?

  • @int4_t
    @int4_t 3 ปีที่แล้ว

    I miss the old drawing style videos

  • @kasrow12
    @kasrow12 3 ปีที่แล้ว

    Where is your intro? It was awesome.