Cracking Websites with Cross Site Scripting - Computerphile

  Рет қаралды 1,548,083

Computerphile

Computerphile

Күн бұрын

Пікірлер
@SpencerGreenDotNet
@SpencerGreenDotNet 8 жыл бұрын
"That's JavaScript code! I'm gonna run that!" Gotta love the childlike enthusiasm of this personification of web browsers.
@Tokkemon
@Tokkemon 10 жыл бұрын
That's Javascript! I'm gonna run that!!! -Quote of the year.
@Computerphile
@Computerphile 11 жыл бұрын
now, should we keep that end graphic? :)
@Wrswest
@Wrswest 9 жыл бұрын
There's a comment in a Javascript project I worked on that says: [bunch of checks for user input] //You know, if the users could just be more considerate //I wouldn't have to do any of this.
@zwz.zdenek
@zwz.zdenek 11 жыл бұрын
The guy who found the Facebook vulnerability was actually rudely rejected by Facebook and got his well deserved money as donations!
@PrivatePaul
@PrivatePaul 10 жыл бұрын
why in the world are you doing this in a hotel lobby?
@DavidChipman
@DavidChipman 9 жыл бұрын
I love Tom Scott's enthusiasm for this stuff!
@idamontede
@idamontede 9 жыл бұрын
*-html styling does not work in youtube comments. believe me-*
@capnapalm
@capnapalm 11 жыл бұрын
I love these videos because they explain how people have broken into webpages to re-write them, steal info, etc. You always hear how vulnerable stuff can be but never the specifics about how people get in. Great videos as usual, Brady!
@カラスKarasu
@カラスKarasu 9 жыл бұрын
"Which is not entiiiirely legal under the computer misuse act, but no one pressed charges" I didn't know he was such a rebel XD
@joeytje50
@joeytje50 11 жыл бұрын
Another cool thing for input dropdowns, is changing the value of one of the s in the , and then submitting. Especially if the output does something with the value of the dropdown, for example with an age input where the output has control over the date format, it completely screws up. Example: I change my birthday to "Cake Pie 1000BC". That will, on a lot of sites with profiles that use this dropdown system for birthdays, completely break the thing when it's trying to convert the month number for example to the month name, since there is no "Pie"th month in the year. It's quite harmless, unless the site actually displays the thing you entered in the input directly on the page, in which case you might indeed be able to insert a script tag. PS: I've managed to cause my profile to completely break by doing this on a site once, after which it just gave me back an error 500. Great fun. I decided to change it back afterwards though. (keep in mind that if your birthday is loaded onto your settings page too, you might also get an error on the settings page, and you won't be able to change it back)
@Computerphile
@Computerphile 11 жыл бұрын
In a very dark place that wouldn't let us use a light! - its the Renaissance Hotel at St Pancras, London >Sean
@_Super_Hans_
@_Super_Hans_ 11 жыл бұрын
I didn't understand a single word of what that guy just said but he's super engaging and the 8 minutes flew by.
@hakeemgreen8788
@hakeemgreen8788 10 жыл бұрын
I love this guys enthusiasm when explaining. Makes it more interesting.
@ComputersAreRealCool
@ComputersAreRealCool 9 жыл бұрын
*Apparently HTML Works in KZbin Comments, judging by the large amount of bold comments* Can I put bootstrap into my comments to make them look pretty?
@tajultonim
@tajultonim Жыл бұрын
"Cross site scripting is the number one vulnerability on the web today" me watching in 2023: hmmmm, sounds legit...
@kimbosprite
@kimbosprite 9 жыл бұрын
This man has a lot of energy and enthusiasm for this topic.
@aspermwhalespontaneouslyca8938
@aspermwhalespontaneouslyca8938 Жыл бұрын
The ending doesn't have a dash because you are supposed to binge the next 20 computerphile videos after it...
@hoon4tw
@hoon4tw 11 жыл бұрын
Tom Scott is definitely my new favorite, especially considering all of Brady's other channels have slowed down. Tom is making a very good showing. Keep it up.
@illustriouschin
@illustriouschin 11 жыл бұрын
I would just like to thank who ever's idea it was to do the Audible promotion because audio books are expensive and getting a free one was a really nice gesture.
@imagedezach
@imagedezach 6 жыл бұрын
Tom explains this in 8 mins better than my Network security professor in an entire lecture
@vuralmecbur9958
@vuralmecbur9958 10 жыл бұрын
2:35 I've never seen a JavaScript code that looks like "i+i=2", it looks more like an equation :D
@juan193
@juan193 8 жыл бұрын
So Wikipedia describes him as a comedian to which I agree, but... Does he have a Masters in computer science or a title alike? He's got an amazing skill to explain complex stuff!
@henhouse
@henhouse 9 жыл бұрын
This video just helped me notice an XSS vulnerability on one of my sites. Thank you. :|
@DivinityStripes
@DivinityStripes 11 жыл бұрын
Tom Scott is really good at explaining things and I LOVE the concepts he explains. More from Mr. Scott? :3
@malinovy_pirojok
@malinovy_pirojok 3 ай бұрын
12 years later, I find this video, Tom Scott thanks for the information and your enthusiasm)
@ShellmanDeluxe
@ShellmanDeluxe 11 жыл бұрын
I like the dark lighting. Makes it feel more laid back and down to earth :D
@EliPerelman
@EliPerelman 11 жыл бұрын
XSS is even more dangerous when coupled with Cross-site Request Forgery (CSRF). A video on CSRF would probably be a nice follow-up to this.
@RichardMurrie
@RichardMurrie 11 жыл бұрын
Great video. I wish I had been taught at school by someone speaking passionately about their subjects like he does!
@Hiimstring3
@Hiimstring3 11 жыл бұрын
Defiantly the most ecstatic video you've done, really entertaining, whilst also quite educational.
@el__monke
@el__monke 9 жыл бұрын
*bold* _slant_ -strike- *_-Magic-_*
@won1853
@won1853 11 жыл бұрын
He's so funny yet so informative. More of this guy!
@alpenwasser6869
@alpenwasser6869 11 жыл бұрын
Ah yes, Bobby Tables. Definitely one of the more amusing tech jokes I've come across, still gets a good chuckle from me every time I read it. :)
@BrendtWaters
@BrendtWaters 11 жыл бұрын
Between the SQL holes video and this one, I sure am glad that Tom Scott is on our side.
@idevilousbho5491
@idevilousbho5491 6 жыл бұрын
I'm a BS Physics student(first year) I really want to learn more about Cyber Security, I want to shift but I would waste my scholarship so yeah I'm watching your videos...Thank you!
@maurerpe
@maurerpe 11 жыл бұрын
Client side filtering is a good idea because it can make it easier on the legitimate user. E.g. tell them the phone number is invalid before they hit submit, saving them time. But client side prefiltering does not add any additional security. All inputs must be fully validated at the server. There is no guarantee that an attacker will be using a polite client that follows your prefiltering rules. An attacker can download the page and remove the rules.
@nandoflorestan
@nandoflorestan 8 жыл бұрын
The content of this video is true, however, none of it is about cross-site scripting.
@tinkerttoy
@tinkerttoy 11 жыл бұрын
Absolutely! I adore how he speaks so strongly about these things, his rhetorical skills are very well-developed and he's a joy to listen to.
@TehGordonFreeman
@TehGordonFreeman 11 жыл бұрын
I like the darkness, it adds to the atmosphere, and (at least I can) still see everything just fine...
@heatherfryling4868
@heatherfryling4868 8 сағат бұрын
Computerphile always has the best explanations!
@AugustEllison1
@AugustEllison1 11 жыл бұрын
The passion and enthousiasm is great ! More please :)
@Azure1992
@Azure1992 11 жыл бұрын
I liked the little touch of you guys putting the / in the closing tag at the end of the show.
@vacklinge
@vacklinge 11 жыл бұрын
I love this guy. He really seems to love what he's doing.
@danielchequer5842
@danielchequer5842 5 жыл бұрын
This channel makes me feel like a numberphile from another dimension has crashed into ours
@Alex2Buzz
@Alex2Buzz 9 жыл бұрын
"Someone *at Netscape* comes along and invents JavaScript!"
@faizanshariff7246
@faizanshariff7246 2 жыл бұрын
Watching this in 2022 and this still feels so relevant.
@AdamYarris
@AdamYarris 10 жыл бұрын
You have ruined my internet searching for life. Not every time I see a user input box i need to put in code xD
@codebeatr
@codebeatr 11 жыл бұрын
Please, talk this guy into having his own channel, or make more videos with him, he is awesome!
@voxlvalyx
@voxlvalyx 9 жыл бұрын
The white balancing in this video confuses me.
@RyanHansen_101
@RyanHansen_101 11 жыл бұрын
4:03 "Because myspace hadn't quite filtered javascript properly". Brilliant!
@UberJamesMan
@UberJamesMan 9 жыл бұрын
wut wut
@DarkYuan
@DarkYuan 11 жыл бұрын
Its worth mentioning (and possibly a future video topic) that even if your website's forms are supposedly "secure" anybody can make a form on their own site that submits to yours. No matter what make sure ALL input processed by your website is properly escaped.
@mayur1234560
@mayur1234560 11 жыл бұрын
This is amazing! That guy should have more videos!
@coreytk
@coreytk 11 жыл бұрын
Excellent video! I learned a lot and the enthusiasm of the speaker made it even more exciting!
@prestonferry
@prestonferry 5 жыл бұрын
Tom “You should know this” Scott
@carostrickland4035
@carostrickland4035 11 жыл бұрын
"Just send Rick Astley instead". World's most DANGEROUS HACKER.
@rlamacraft
@rlamacraft 11 жыл бұрын
Great video! More please :) Also, love his impression of a web browser at 5:33 :)
@mr-osama-mustafa
@mr-osama-mustafa Жыл бұрын
The best and simplest explanation ever in XSS :)
@misterbasic
@misterbasic 6 жыл бұрын
5:33 My favourite moment in this entire video.
@imjinc2k
@imjinc2k 11 жыл бұрын
Short answer is complexity. In some cases there are automatic filters, but it isn't always clear to each system which input is trusted and which isn't. MySQL, for example, doesn't know whether it's talking to an administrator sending handwritten commands, or the web app itself. Parts of your 'site' may include 3rd-party JavaScript pulled from advertisers, or analytics, or a database. There might be a WYSIWYG editor on your site that allows users to mark up their comments with HTML, etc...
@IceMetalPunk
@IceMetalPunk 11 жыл бұрын
Omegle had that same problem for a bit when they introduced Spy Mode. They weren't sanitizing their question inputs, so for a while I would go around sticking JS in there that froze the computers of whoever got stuck with my question XD They fixed it in a few days, though.
@hidalginator21
@hidalginator21 11 жыл бұрын
Make more of these type of videos! They are very interesting and incredibly informative.
@danman6669
@danman6669 3 жыл бұрын
"Someone comes along and invents JavaScript." It would be nice if you gave him credit. It was Brendan Eich.
@hecanylmz
@hecanylmz 8 ай бұрын
Another great explanation fulfilled by highly understandable and educated content!
@_multigrin
@_multigrin 11 жыл бұрын
"That is Javascript code I'm gonna run that!" love it!
@Seegalgalguntijak
@Seegalgalguntijak 11 жыл бұрын
Now that I come to think of it, the closing tag </computerphile> at the end of each video makes total sense. Just never thought of it, I guess it wasn't important enough to notice.
@therattman
@therattman 9 жыл бұрын
Its funny how many people are actually trying to do XSS on KZbin just because they saw a video explaining about it xD
@seyu8666
@seyu8666 2 жыл бұрын
My god...Tom Scott is GOAT
@TechyBen
@TechyBen 11 жыл бұрын
The camera sways so much, I thought it was a ferry. :D
@TheVanapapi
@TheVanapapi 11 жыл бұрын
This guy is so enthusiastic. Love it!
@martonlovas4583
@martonlovas4583 5 жыл бұрын
5:58 not TECHNICALLY ENTIRELY LEGAL
@EddyProca
@EddyProca 11 жыл бұрын
They are two different tags. b is for text that is supposed to be bold, but not for styling reasons. strong is for text that is supposed to be styled in a way that makes it more prominent than the rest of the text.
@NehalemUnleashed
@NehalemUnleashed 11 жыл бұрын
That is JavaScript! I'm gonna RUN that!
@Nixitur
@Nixitur 11 жыл бұрын
That end graphic is really clever and I like it.
@danielsimmons3956
@danielsimmons3956 8 жыл бұрын
Where did you even get dot matrix printer paper?
@sdlion7287
@sdlion7287 10 жыл бұрын
It's important to note that when you have a user input you should check that the data he is sending should only contain the correct text in a certain context. I'm not talking about scripting to deface some web, but whatever a user can put in your site and be seen by other people, could be used to fraud them. E.g. your user's can create sub users, and each user has a balance. One user could trick to other people to pay them to deposit them more credit on their accounts, then they would put on the new user's username something like "User1 $10.00" and the victim would think "Oh! I got the credit!", then the fraudster could flee with their money. Field Context: Username Web Context: Each user has a balance and certain users can create users. Enforced Limitations: User names shouldn't have currency signs
@ZestyCrunchy
@ZestyCrunchy 11 жыл бұрын
"Thats Javascript code! I'm going to run that! " hahaha that was hilarious
@werdnativ
@werdnativ 11 жыл бұрын
You're right that it's not on the server, but you can certainly use this technique to change things there: If I can have the site display my script within your browser session, I can take over your account. That means, deleting your inbox, transferring your money, etc. It all happens through the "front door" as far as the server knows, but it's being done through a hijacked session.
@Falconcoder
@Falconcoder 10 жыл бұрын
*_GUYS IT WORKS!_*
@jasonneu81
@jasonneu81 10 жыл бұрын
Nope.
@midsummerstation3345
@midsummerstation3345 9 жыл бұрын
***** *i think so*
@Celrador
@Celrador 11 жыл бұрын
One example would be WebKit only partially making use of the "min-" & "max-height" and "-width" properties. If you want more examples check the Wiki page "Comparison of layout engines (CSS)"
@Fck1ng
@Fck1ng 11 жыл бұрын
"That's a JavaScript code! I'm gonna run that!!!"
@Butt4cak3
@Butt4cak3 11 жыл бұрын
That's probably more because it's more user-friendly. You can't control what the user sends to the server by using specific controls. As a visitor, you can actually change a page's appearance. For example, in Google Chrome, right click the KZbin search bar, go to element inspection, right click the highlighted line in the bottom section and add an attribute type="number". It will change into a number input. You can do something like this to a dropdown and make it a text input instead.
@MrHyde-fu5sr
@MrHyde-fu5sr 9 жыл бұрын
don't understand how this could be dangerous.For example anyone can click inspect element and type some text into their web browser and change a COPY of the page they're looking at no one else will ever use that copy you have changed.In this same manner, how would me writing a script inside of my copy of a webpage effect someone else's copy?
@lolbajset
@lolbajset 9 жыл бұрын
+Curran Hyde If i understood the video correctly it is when someone else visits your webpage that the script gets executed. If I make a website and add a script in the middle of its html, it will run when you or anyone else loads the page, thus enabling attacks. Again, that's at least how I understood it, could be wrong
@MrAntiKnowledge
@MrAntiKnowledge 9 жыл бұрын
+Curran Hyde It only becomes a problem for sites which allow users to post something which gets displayed to other users. Like this comment here (only that youtube is smart enought to filter out code). If you don't have a filter active that say... replaces "" with "<script>"* then whatever the user writes in between and will be run as code in the Browser of another user who happens to get that text either because it was send to his account, or cause he visited the page where it was posted. *("<script>" would be displayed as to the user, but the browser understands that it shouldnt be run as code)
@NetgearProductions
@NetgearProductions 10 жыл бұрын
So how on earth could you use javascript to make a webpage send users info to your pc if it only affects you?
@icewallowcome3023
@icewallowcome3023 11 жыл бұрын
"never trust user input" This should have been this video's conclusion! =)
@NottheBoson
@NottheBoson 11 жыл бұрын
Wow, I was literally about to send a request for a video on this, I have to do an assignment on this for college, Thank you!
@shazbots
@shazbots 9 жыл бұрын
This reminds me of Bobby Tables.
@Xt4209
@Xt4209 2 жыл бұрын
I want these guys to talk about what the hell we experienced on the internet with 2020
@runescaper1333
@runescaper1333 10 жыл бұрын
So if I typed *and closed it with* , youtube will make it bold?
@elminz
@elminz 11 жыл бұрын
Yeah, I phrased it badly, I meant to say that validation/filtering server side is 100% essential for any input. Client side validation is more of a latency thing for the client, since the person won't need to wait for it to come back invalid (saves server load as well).
@beat461
@beat461 9 жыл бұрын
So you are basically adding scripts in input boxes where the designers never intended you to be able to do that, just like xml injection, but with javascript. Why is it called cross site scripting then? there is only one site involved in this process right? for me the name implied that you scripted something from one site to another, somehow.
@code-dredd
@code-dredd 11 жыл бұрын
I understand what you mean, but there's a difference between a tag and an actual computer instruction. The tag is just a tag and I think it's more accurate to call it that. I think this inaccuracy can cause confusion in the sense that people might think HTML is a programming language like C++ (which it isn't) because you have "instructions". I hope this clarifies what I mean.
@durchschnittlich
@durchschnittlich 9 жыл бұрын
Computerphile can just have a self-closing one:
@Celrador
@Celrador 11 жыл бұрын
Yeah, I got your point and I also agree on the confusion that it might cause. But I still think, that they also can be called instructions. The special point about C++ or other "real" programming/scripting languages is, that they have functions. (May it be add(x,y); or "i = x + y; - How the function looks doesn't matter.) It's still a function though, that processes data and not just a lonely instruction. I rather think, that people should be taught the proper destinction between those two.
@mohamedelgamal3202
@mohamedelgamal3202 4 жыл бұрын
so basically this is SQL injection but with javascript
@MrBenMcLean
@MrBenMcLean 8 жыл бұрын
Great description of unauthorized Javascript execution but I didn't quite get what was the "cross site" part of this.
@hapatraditionalist1478
@hapatraditionalist1478 9 жыл бұрын
should be for a single-tag element, not as most people will suggest, because the latter is the closing tag for a double-tag element.
@TheLatterPartOfToday
@TheLatterPartOfToday 11 жыл бұрын
They aren't doing this to teach us their craft. They are just giving us insight into their trade. Those are two very different things.
@error.418
@error.418 9 жыл бұрын
The and tags were deprecated loooong before this video was released :(
@Kissdaboss
@Kissdaboss 7 жыл бұрын
I really enjoy your videos! Well done!
Cross Site Request Forgery - Computerphile
9:20
Computerphile
Рет қаралды 776 М.
Hacking Websites with SQL Injection - Computerphile
8:59
Computerphile
Рет қаралды 2,4 МЛН
黑天使被操控了#short #angel #clown
00:40
Super Beauty team
Рет қаралды 61 МЛН
Что-что Мурсдей говорит? 💭 #симбочка #симба #мурсдей
00:19
Cross-Site Scripting: A 25-Year Threat That Is Still Going Strong
9:33
Man in the Middle Attacks & Superfish - Computerphile
13:29
Computerphile
Рет қаралды 1 МЛН
How is this Website so fast!?
13:39
Wes Bos
Рет қаралды 1,3 МЛН
The Attack That Could Disrupt The Whole Internet - Computerphile
9:50
Computerphile
Рет қаралды 1,5 МЛН
How NOT to Store Passwords! - Computerphile
9:24
Computerphile
Рет қаралды 2,3 МЛН
DeepSeek is a Game Changer for AI - Computerphile
19:58
Computerphile
Рет қаралды 1,3 МЛН
GoogleCTF - Cross-Site Scripting "Pasteurize"
29:21
John Hammond
Рет қаралды 98 М.
The Moonpig Bug: How 3,000,000 Customers' Details Were Exposed
5:27