This is gold, I'm glad this was randomly recommended to me
@stevenclive89103 жыл бұрын
Same!
@stein18853 жыл бұрын
Same!
@jack_papel3 жыл бұрын
Same!
@port00753 жыл бұрын
Same!
@LetrixAR3 жыл бұрын
Same!
@manavnaik16073 жыл бұрын
I’m definitely not infosec, your videos attract people and you are definitely a special channel for being able to pull anyone into the topic
@PwnFunction3 жыл бұрын
🙏
@Matt234883 жыл бұрын
Developer here, your video was randomly recommended to me, and while I'm familiar with many injection-type attacks, I hadn't actually seen this one before. Thanks for the info, that was really interesting.
@spythere2 жыл бұрын
You actually made me realise that my Express app is insecure in the context I woudn't have even think of. I was explicitly assuming all parameters would be as strings, not arrays. Fortunately it's nothing severe and it doesn't crash the server, it just throws 500 anyways but it's good to be aware. :)
@CaveVenom16 жыл бұрын
This is great content, you'll go places.
@SuperMarkusparkus5 жыл бұрын
las palmas
@iloos74573 жыл бұрын
And you were right
@h.celine93033 жыл бұрын
PHP backend dev here, info sec only as hobby. Thank you so much for this. You've gained a loyal subscriber.
@MrDelayX3 жыл бұрын
Another interesting angle I only recently learned of about messing with query parameters is that (at least in PHP) ending a parameter with square brackets (like "e[]=cats ) will cause the type of $_GET['quote'] (without the brackets) to no longer be a scalar string but rather an array, which can also mess logic up if not properly checked/handled.
@DonovanDMC2 жыл бұрын
This is pretty standard, and how you usually pass around arrays in forms & query parameters Despite there not being a standard, generally normal parameters without square brackets should only be present once, while with square brackets they can be repeated many times to add values to the array with that name
@Fred-yq3fs2 жыл бұрын
Dev here. This was recommended at random, and it's spot on. You have a knack to teach things, which is not the most common thing! Pace, focus, depth... I've subscribed to your channel. Keep it up.
@Eudoffels5 жыл бұрын
This really is an amazing video dude, please do not stop creating content
@patricknelson3 жыл бұрын
Lesson: If you’re not escaping output and casting/coercing data on input then you’re doing it wrong. i.e. Always escape content to the correct encoding when outputting (e.g. escape HTML entities when output to HTML, encode URL/URI entities when intended for a URI parameter, etc). Also, always force the type when taking input and also perform some basic validation. E.g. if it’s a string, cast it to a string, validate it and/or compare it to a set of known possible values and so on (that’s just a limited example). Basically…. Treat ALL input as hostile.
@lugoheriberto3 жыл бұрын
im a dev and i watch ur videos.. was not shared by a infosec friend, but rather i subscribe to infosec to keep myself on my toes.
@HollandseKip2 жыл бұрын
As a developer, I'm always looking to learn new stuff. Cheers for adding another bit of info to my life. Subbed!
@willjohnson45793 жыл бұрын
Recently got a project where I need to consider this kinda thing, so glad you came up in my recommended
@shahzaibkhan99025 жыл бұрын
One of the finest content I have ever found on KZbin. Please don't stop making videos. I will patron you.
@weagarwal99814 жыл бұрын
You explain it so well. Don't stop creating content! InfoSec Community loves you!
@defenestrated233 жыл бұрын
"Parse, don't validate." This is why it's so important to coerce requests into structured data where invariants are enforced, rather than manually checking for bad behavior.
@sangnguyen6631 Жыл бұрын
I'm not InfoSec, but the way you explain is really clearly and I love it. Keep going sir!
@tenshii_923 жыл бұрын
I love the subtle Matrix reference with the names.
@codeIMperfect3 жыл бұрын
And I thought nobody else noticed lol
@mika26663 жыл бұрын
Not in the infosec community but still in uni (gonna do software dev after), really helpful video for when doing critical work to keep these things in mind, thank you
@TarekSiddiki6 жыл бұрын
Keep it up! Great content, I wd say the best content for me on sec-field so far!
@chomo54andbabyaisha974 жыл бұрын
You can also test what the server does, if you comma separate variable values like this ?to=name1,name2,name3 which usually means an array Since it is something that can break a page if you are not expecting an array it is also something that should be tested for
@thomasi.49813 жыл бұрын
I coded a few rudimentary webservers from scratch and in one where I used query parameters, I came across the conundrum of how to address multiple matches, among other syntactic oddities. Interesting to see that this question can be highly significant.
@popxkorn816 жыл бұрын
Great videos! You are a natural at explaining the topics in an easy to understand manner and at a perfect pace. The Hacker101 videos are nice, but they go way too fast and not enough depth. You doing this perfectly! You might consider redoing their videos in a new series breaking them down into smaller chunks. Great work, please keep them coming. You might setup a patreon as well. I’d glad support you financially
@ShotgunAFlyboy3 жыл бұрын
I work for a team that's vaguely in the infosec world, but actually am a fullstack web dev, so your message hit its mark.
@max2134213 жыл бұрын
You can tell the effort put into this video was not a small amount. Really good job, made it easy to understand fully
@minhuang88482 жыл бұрын
What's wild is how (I'd assume) PwnFunction seems to be a non-native speaker. Only really started questioning this fact after they said occurrence and parameter, but stress aside, his pronunciation is pretty on point. Or maybe they are a native speaker... in which case they still are in the 99th percentile of English speakers, lol. Definitely a bit jelly here.
@SCMowns3 жыл бұрын
Nice overview of a simple CSRF attack. This form of attack is marked on the top 25 most dangerous software weaknesses in 2020. It is also an easy attack to resolve.
@Sebastian-hg3xc3 жыл бұрын
I didn't see any CSRF attacks in this video.
@nandoflorestan2 жыл бұрын
This is not about CSRF, that's something else entirely
@ES-cf4ph2 жыл бұрын
Definitely something I will search for in the web applications I am developing at work! Thanks for the great content!
@singularity11303 жыл бұрын
Web developer trying to get better. You came up recommended after a Nextjs Auth with Firebase tutorital and have been binging. Love the content and looking forward to making my applications more secure. Thank You!
@vijaylokare26723 жыл бұрын
Great explanation bruh ....... keep making such videos !!! Love from INDIA, Mumbai :)
@emj-music3 жыл бұрын
Great content. Made me understand it. Here before 100k!
@PwnFunction3 жыл бұрын
Glad it helped
@TRACTOOOOOOOOOR2 жыл бұрын
The algorithm has blessed me with this video
@filipmajetic11742 жыл бұрын
I feel like the default behavior of a web framework should be to throw an error in this case, and force you to specify which behavior you want if you really need it.
@MagicGonads2 жыл бұрын
unchecked exceptions can also be a vulnerability on their own (although in the web context having your request fail is pretty normal so it shouldn't break applications)
@surya-ur5vv4 жыл бұрын
The best youtuber award goes to @PwnFunction You are awssome keep doing this type of content
@deepeddyrecords59333 жыл бұрын
Excellent! Infosec here for sure, but I will be sharing this with my developers.
@TheChemicalWorkshop3 жыл бұрын
you make a small website for every video? that definetly earned my sub !
@SpaYco3 жыл бұрын
dude makes videos while sick, that alone shows the effort, also he did more than one webpage for this
@TheChemicalWorkshop3 жыл бұрын
@@SpaYco either way subscribed to him
@Monawwar3 жыл бұрын
I don’t think they are new websites, probably just modified the “hosts” file. But I liked the content. 👍
@videotoblin3 жыл бұрын
@@Monawwar still had to write the PHP/Flask
@heitortremor3 жыл бұрын
I work with bare-metal hardware programming, I don't do anything with high-level stuff like HTTP or PHP or what-have-you. My programming is almost all Assembly or C for microcontrollers. This is still very interesting and good stuff. Thanks to KZbin for the recommendation!
@jimhalpert98033 жыл бұрын
So basically you've done the hardest stuff possible in programming
@bigbooduh3 жыл бұрын
First time here you really did a great job in this tutorial. Thanks for this
@mohammadsharif91923 жыл бұрын
now this is the type of content I'm looking for !! great job
@thHartBeaT2 жыл бұрын
explaination is clean, easy to understand and enjoyable.
@muizzraheem59373 жыл бұрын
This is really awesome 😎... I love your videos ❤️❤️
@bopon40903 жыл бұрын
As an entry-level backend developer, I didn't know about this attack. Thanks
@Barrosy3 жыл бұрын
10:17 nowdays developers are more aware. Even in my studies they teach me how to prevent direct parameter passing with SQL by using placeholder variables instead. This way SQL injection might be prevented. There are countless other methods developers can work around this, it's just an example. It doesn't take away the fact that a lot of old bricks (websites that made the web exist in the end) of the internet still contain a massive amount of errors when these things weren't as clear yet in the time the internet rose up.
@shivamgoyal98446 жыл бұрын
Awesome Video :) I was quite confused with HPP attack. Please make more videos like this on XXE, SSRF :D
@dexdevlon5 жыл бұрын
I am a developer, and your vids are watched by devs too
@cxp65896 жыл бұрын
Awesome video like always:). Keep em coming!
@DEADCODE_2 жыл бұрын
Man I swear you're brilliant
@mitchelline6 жыл бұрын
Sick video, keep up the good work!
@0xVikas3 жыл бұрын
This is amazing content! subscribed
@nahmedfaisal6 жыл бұрын
Another great video! Please keep them coming..
@M4lch4t4 жыл бұрын
Awesome Content! Keep doing it man!
@leisureclub_6 жыл бұрын
Amazing... I am impressed .. Keep'em coming..
@pranayjain55834 жыл бұрын
i realy understand in one go .. THANKS man!..great content
@nohandlepleazze2 жыл бұрын
That tip from John @2:00 cracks me :)
@ericadigiulio96393 жыл бұрын
Reminds me of the time I was messing with the q and oq parameters in both query and hash string in Google, and got a infinitely reloading page that also occasionally flashed code at me. Checked back the next week and it didn't work anymore, guess they noticed :p
@sumspiew6 жыл бұрын
Nice vid, keep up the good work!:)
@bluesque96873 жыл бұрын
Subscribed! ...Useful and interesting and intelligent content!!
@jasperb85085 жыл бұрын
Yo this content is so lit! Love it
@tarunkumaryenni21593 жыл бұрын
I love the way you explain bro.....specially..those sketchy diagrams. Make more videos bro.
@jammincoder3 жыл бұрын
I'm a developer and ethical hacker, so I gain quite a bit from this 😄
@shim1cha3l405 жыл бұрын
really good video, so clear and make sense
@azzhraanee2011283 жыл бұрын
Hold on a sec, the backend only take from the request the "to" and "amount" parameters, if "from" parameter passed with the request it will ignored, because the back-end will generate the form parameter from the session and will not take it from the request parameters it will only look for "to" and "amount" parameters which can change from the UI anyway. unless the backend-developer decide that if a "from" parameter passed with the request then take it and use (which means logical thinking problem and problem and he will use it to steal the company money)
@digitzero36133 жыл бұрын
Correct!
@timb003 жыл бұрын
Wow i am so glad i got this channel suggested gj
@sebastienpautot3 жыл бұрын
I'm glad it got into my recommended
@andylib3 жыл бұрын
Dev here 👋🏻 i‘ll keep this in mind, thank you
@GH-pw9vl3 жыл бұрын
Great explanation; didn't know about this! One small thing: "parameter" is pronounced as paRAmeter, not paraMEter. Just a heads-up in case you're asked to present it at a conference :-)
@newton40983 жыл бұрын
Dude you got a sub for life. You just said, exactly what nobody else on this platform has even eluded to what you just said. Im not much of a compliment giver, but .... holy shit, thank you so very much. my brain clicked so fucking hard right there that i think imma med an EEG before Tues.. lol
@matthias9163 жыл бұрын
Very underrated channel
@sridhars4s3 жыл бұрын
Sensetive info like this is usually sent as POST requests. Also, in well designed APIs GET will only be used to get information.
@phdz93903 жыл бұрын
You can alter POST requests the same way for GET resquests, but at least you're not having your parameters shown in the URL, anyway it's always a good practice to sanitize any sent parameters on the server side.
@Forusty3 жыл бұрын
@@phdz9390 and that’s why you have authorisation tokens to validate the validity of the payload. JWT is one just item you can use.
@phdz93903 жыл бұрын
@@Forusty thanks, appreciate, but what if your token gets compromised, or using some client app where your token is hardcoded, this doesn't avoid http pollution if you don't sanitize the parameters.
@jimhalpert98033 жыл бұрын
@@phdz9390 why would a token be hard-coded though? For the token compromise thing , it's considered good practice to keep changing every client's token every X minutes/hours.
@andytheodorko98742 жыл бұрын
I'm a developer. Thanks for letting me know about this vulnerability. At first, I thought who cares, but it is important to have a standard.
@tylerpetrov80943 жыл бұрын
I will definitely watch out for this attack in my Flask app, thanks!!
@jgurtz3 жыл бұрын
Nice simple thing, well explained
@BrazilMentionedHueHue4 жыл бұрын
Amazing video, subbed
@josemanuelalvarezcolombo60045 жыл бұрын
Loving this channel and expecting for future content
@itsfarseen3 жыл бұрын
Hey your voice is splendid 💙 you didn't have to put up the apology :)
@hassanaoutof41483 жыл бұрын
Lit content man, amazing
@aakashchoudhary92585 жыл бұрын
This is the best video ever i have seen on web hacking beside liveoverflow videos. My concept was not good with HTTP Parameter Pollution attack but not after watch this video now in clearly understand about this attack. Please also write summary of video in last Also please make video on DOM Base XSS so that we understand clearly Thanks ,really a great job
@adiyn_2 жыл бұрын
I'm shit at coding and idk much about computer science but i love your videos anyways :'3
@YoTengoUnLCD3 жыл бұрын
The algorithm just blessed you
@umerfarooq2425 Жыл бұрын
Wow Amazing . So clear :) Thanks
@NuncNuncNuncNunc3 жыл бұрын
This attack seems to be application specific. Query string parsing is an application level task not the job of the web server and can be done differently in any language, i.e. the application developer chooses how to interpret multiple duplicate keys. JSP + Tomcat does not return the first value, the developer chooses whether to use getParameter or getParameterValues. I'm sure it is the same with other cases.
@thetrickster422 жыл бұрын
PHP for example (a treasure trove of vulnerabilities) parses the URL for the user and this is the ‘standard’ way to do it. In other languages the framework might do this, e.g. Ruby on Rails also provides a ‘param’ hash map. You could choose to parse the URL yourself but you have to be aware of this problem to consider doing this, because most people don’t routinely go around rewriting libraries functions.
@seaniwild24956 жыл бұрын
Wonderfully explained! Thank you!
@AA-gl1dr3 жыл бұрын
Thenk you for giving me inspiration that I can be developer. Instant sub.
@omespino6 жыл бұрын
pretty cool intro mate, thanks for sharing
@stargaryen33835 жыл бұрын
really great content. good luck sir .
@Clone5194 жыл бұрын
I think all search terms are considered in search engines like yahoo and google. They then do some query filtering and boolean retrieval to obtain results instead of choosing one query term over the other. If you search for “Apple mango” on a search engine, it would retrieve results that have “Apple AND mango”. In yahoo’s case it could’ve favored more results on Apple due to some relevance ranking.
@fooboobear5 жыл бұрын
plz never stop making videos
@alexaka13 жыл бұрын
One contention. Just because a websites URL ends with say .php, that DOES NOT allow you to conclude that the backend or frontend uses php. In fact many frameworks allow you to complete customize what your urls look like. I can make a jsp website that has .html at the end of every endpoint for example.
@godbibo3 жыл бұрын
Very good video, keep going !
@empathon2 жыл бұрын
Developer here - thank you :)
@TazzeOptical3 жыл бұрын
in regards to the question asked at the beginning of the video: as far as I'm concerned if I'm the backend developer you're getting a 400 error and nothing else
@reimusklinsman58763 жыл бұрын
7:40 I'm not quite sure how this would work unless the backend is very poorly designed. If the from value is grabbed from the cookie and the backend somehow adds it as a from parameter to the beginning of the query params for some reason, then yeah. I can see the backend then working on the query string and getting the fake value. But wouldn't the backend just get the current user from the cookie and work on that as a separate value and throwaway all values it's not explicitly looking for? Either way I see this as a good example of what could be done but I can't imagine this example ever working in practice.
@TimidPimp3234 жыл бұрын
I have no idea how you don't have more subscribers. Super useful videos for anyone interested in CTF's and the vulnerabilities of the web in general, keep up the good shit dude.
@modmah71912 жыл бұрын
WOAH! YOU'RE MY HERO
@mandy25332 жыл бұрын
Your videos are wonderful. Thank you so much! I
@rajeshranjan70344 жыл бұрын
Your contents are best
@alishahmughal61256 жыл бұрын
Concepts are cleared buddy :)
@JoaquinRamirez4 жыл бұрын
You even make the fake the voice, good job bro.
@yeasirarafat42616 жыл бұрын
Awesome! Keep continuing
@EmmanuelIstace3 жыл бұрын
Hi! was "active in the scene" (lol) in the 00's, in french community (so at that time, about a year of delay from the wild wide worst) that topic was discussed way prior 08, so maybe it was a matter of having no paper released prior that time in zines or security research magazines.
@MartinRodriguez-cs4gu5 жыл бұрын
Nice video! Thank you very much!! Also, I would like to know what tools do you use to make videos. It is drawing by hand or it is a kind of tool ?
@PwnFunction4 жыл бұрын
Yes, I draw by hand, using Adobe Animate and screen record it, so I don't have to manually animate frame by frame.
@saibadam3 жыл бұрын
Sometimes the YT algorithm actually recommends good videos