Cross-Site Scripting Explained with Examples and How to Prevent XSS with Content Security Policy
ฝัง
- เผยแพร่เมื่อ 5 ก.ค. 2024
- In this video, I discuss XSS Cross-Site scripting attacks and how to prevent them.
0:00 Intro
2:40 XSS Stored Attacks
The injected script is stored permanently on the target servers. The victim then retrieves this malicious script from the server when the browser sends a request for data.
4:50 Reflected XSS Attacks
When a user is tricked into clicking a malicious link, submitting a specially crafted form, or browsing to a malicious site, the injected code travels to the vulnerable website. The Web server reflects the injected script back to the user's browser, such as in an error message, search result, or any other response that includes data sent to the server as part of the request. The browser executes the code because it assumes the response is from a "trusted" server which the user has already interacted with.
8:00 Source Code Explained
9:50 Prevent XSS Attacks with CSP
16:00 Prevent all scripts with CSP
Source Code
github.com/hnasr/javascript_p...
🏭 Backend Engineering Videos
• Backend Engineering (B...
💾 Database Engineering Videos
• Database Engineering
🛰 Network Engineering Videos
• Network Engineering
🏰 Load Balancing and Proxies Videos
• Proxies
🐘 Postgres Videos
• PostgresSQL
🚢Docker
• Docker
🧮 Programming Pattern Videos
• Programming Patterns
🛡 Web Security Videos
• Web Security
🦠 HTTP Videos
• HTTP
🐍 Python Videos
• Python by Example
🔆 Javascript Videos
• Javascript by Example
👾Discord Server / discord
Become a Member
/ @hnasr
Support me on PayPal
bit.ly/33ENps4
Become a Patreon
/ hnasr
Stay Awesome,
Hussein - วิทยาศาสตร์และเทคโนโลยี
Love your spirit man. You keep regularly updating your videos. Great job.
Saumya yadav ❤️
Great video Hussein. I’ve heard of XSS but never had them explained so clearly. Would love to see more security related videos if the inspiration hits you! This has become my favourite back end channel - thanks for your effort making these.
Thanks for the encouragement ❤️ well sure keep them coming whenever Inspiration hits.
I put all my security related videos on this playlist. Check it out
th-cam.com/play/PLQnljOFTspQU3YDMRSMvzflh_qXoz9zfv.html
@@hnasr Wao I just saw the playlist this is overwhelming!
Great video Hussein!
Oooooo Mama......... :D Your Accent/tone/speech/words/humor is just perfect. Thank you that i found you.
Oh thank you!
0:34 😂😅
Thanks man! You've been shooting out amazing content lately like multiple times a week! Keep up the good work
Constantine thanks whenever I feel inspired I put some content out before the inspiration dies. 😊 I love making videos
@@hnasr I appreciate the answer! I have to change my mindset about making content and use your philosophy. I make a lot of content but I just keep trying to perfect it so I never release anything publicly.
You should release your work! You have no idea who your work will help 🙏
Another Hussein Nasser video woohoooo!
Would be really awesome if you could make a video purely about CSP. How to set it up and what the best practices are :)
Wow!!
Very informative. I lean new things again in less time.... It will help me a lot to prevent outside to come in to my server scripts.
Mahn! Incredibly fun to watch! Love your content bro
this is so easily digestable! thank you
Love your style of teaching, man, you are awesome.
Thank you Naseer ! This is very helpful
Great explanation, thanks!
I just subscribed. You are awesome bro. Thank you loads.
Thank you very much and keep doing your job :)
FYI - its a "reflected" since your code is "reflecting" the search item on the return results page @2:24, thus executing the script.
I enjoy how this guy explain :)
We appreciate your efforts
Awesome made it all clearer 🙏
You are the best explainer
This is cool man.I was on facebook console doing all things and kept getting this CSP thing, glad you cleared it up.Need to see how to implement it in nginx when delivering static website
Siddiqui Sarik should be as simple as adding that header assuming your nginx is layer 7 reverse proxying
Hello Hussein after going through video , I realised that it was you . I have watched most of your content on the design
thanks for the nice explaining it was very enjoyable.
This was incredibly helpful thank you! How does this work with the HTML tag "meta http-equiv="Content-Security-Policy" content="default-src 'self'"? Does this tag mean I don't have to include all the lines of JS shown in your video?
I hope he answers looks like you may be missing code
It's very informative!
Great Explanation
Glad to see you actively adding more videos. Trying to watch as many as possible. Can we expect a video on tools like Prometheus and Grafana by any chance?
Rahul it is on my list of things to research.
Hussein Nasser great to hear that!
Please make more videos on web security and headers! ❤️
This is $$ Gold $$. Thank you so much. You earned a subscriber!
Awesome, thank you! :D
Very helpful ser!! 🙏🌹❤
I love your videos always you are the best on youtube
Thank you so much for your effort and time
Thank you for this great video, as always. Learning a lot from them. (I am trying to build a resource server for my spring boot- anugular application. Please do you know any resource that will help or any free tool I can use. Thanks for your feedback.)
Awesome Demo thank's
It was helpful, thank you
Glad to hear that!
ও মামা।
Amazing explanation!
Thank you for a beautiful explanation sir. Actually interested in learning js btw found u on Udemy.
NO Oxygen thank you for your comments I hope you enjoy the content and welcome to the channel
Such powerful stuff...
Of course you could have mentioned the real problem and solution in the js code, distinguishing text from HTML encoded text. (Easier with typescript 😜) But good demo of the csp header.
if it is a dynamic website, is it okay to put the main homepage link in?
4:55 In general stored xss is more dangerous than reflected one. First - there are no user action required to run a stored xss (when a reflected xss needs a link) and second - any stored xss can also be used as a reflected xss. I mean, I can make some xss on a page no one goes to, so stored xss is not so dangerous there, but I still can make a link to that page, like with reflected xss.
But, what I was thinking about, is that stored xss is more dangerous on public pages but on private pages reflected xss is more dangerous .
This is because stored xss on private pages in most cases is like self xss - you make that xss, and you can "hack" yourself, but with reflected xss on private pages you can send a link to, for example, profile settings, and it would be quite regular reflected xss.
p.s. of course there's always an ability that admins can go to private pages, so, any stored/reflected xss is bad and no matter where it appeared.
I need a coder like you trying to login into a scam site. I got my login but I want full access!
شكرا جدا عالشرح الواضح
❤️❤️ العفو
is XSS relevant to only public domain sites(twitter,facebook) or even licensed webapps(jira, enterprise git..etc) can undergo XSS?
XSS is relevant to WEB in general. So, no matter jira is, github, gitlab, youtube or amazon.
Hi Hussain.Your content is awesome. Csp attributes get fails even though it has been configured correct url.can u help me out?
"Oooo Mama" 😂
- Hussain 2020
Anybody know how to check if a given website has xss header enabled using pyhton.
hi hussein
I need you help/info related to one issue
We have in java code like below
String hname = request.getRemoteName(); // this line is showing issue in Fortify scan
can you help me how to validate the hname?
I used with ESAPI input validator but it could not remediate it. Please help
awesome
What websites let you just store things on them like that?
Does xss protection header prevents DOM xss
At 09:13 , you said we shoudnt write script inside inline script tag. But it wasn't clear why. Can u elaborate on it please.
Natesh M Bhat Because most cross side scripting attacks uses inline script injunction too. So the best approach is to block inline script and use CSP to only load it from a url. As i explained in the end
I don't know if u use instagram but there was this one account who posted an insta story, It said "Some text" and below was the profile picture of the person who was viewing that story. So if i opened the story then it would be my pic. But Instagram doesnt provide any API like TH-cam does even if it did , There isn't any place to embed it. I wonder how he did it cuz it was pretty cool
what account is that?
I have also seen that one of my friend gave that link to view that status and there is a image placeholder where profile pic of the status viewer will be shown
Been just kind of defeated.
Haven't even been on a computer in a long time.
I do like your vids though.
Still picking up theories and concepts here and there
sry828 89 it takes time I feel the same sometimes too because of the amount of information out there. I find it helpful to know that this is a marathon not sprint and I just take things easy and only jump on things that interests me. That doesn’t always happen though like today I just spent the whole day relaxing, playing video games and grilling. No engineering 😅
@@hnasr thankgs for the encouragement.
Noted and definitely appreciated
Thx fren :) 👍
great
Can u make a vid on modsecurity with Nginx
How to implement in struts
❤️
the edvotise was so greate "click here to Boost your CPU"🤣🤣🤣
So you mean that if we do use CSP XSS can't be injected, right ?
they can be injected, they just won’t be triggered if inline script is disabled
@@hnasr I am not getting it. So the final answer is: It can't be hcaked, right ?
When your mom found out that you did something wrong and she stares at you like she about to end yo career: 3:26
joss
XSS babes!
This + html ping to post form :)
Thank you for saying SHE and including us ✨ 🙌🏽 ✨ women hack & code too (:
Oh God STFU up with that dumb brainwashed crap.
Learn to be a damn adult already.
alert("Mad")
alert("Hello");
alert(test attack);
Forgot the quotes for the string
alert("XSS")
This proves youtube comments os safe from XSS