Cross-Site Scripting Explained with Examples and How to Prevent XSS with Content Security Policy
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/hna...
🏭 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
Пікірлер: 99
Love your spirit man. You keep regularly updating your videos. Great job.
@hnasr
4 жыл бұрын
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.
@hnasr
4 жыл бұрын
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 kzread.info/head/PLQnljOFTspQU3YDMRSMvzflh_qXoz9zfv
@TheMessanger
2 жыл бұрын
@@hnasr Wao I just saw the playlist this is overwhelming!
Oooooo Mama......... :D Your Accent/tone/speech/words/humor is just perfect. Thank you that i found you.
@hnasr
3 жыл бұрын
Oh thank you!
@user-mb9vk8vq8w
8 ай бұрын
0:34 😂😅
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 :)
FYI - its a "reflected" since your code is "reflecting" the search item on the return results page @2:24, thus executing the script.
Great video Hussein!
Thanks man! You've been shooting out amazing content lately like multiple times a week! Keep up the good work
@hnasr
4 жыл бұрын
Constantine thanks whenever I feel inspired I put some content out before the inspiration dies. 😊 I love making videos
@dean6046
4 жыл бұрын
@@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.
@hnasr
4 жыл бұрын
You should release your work! You have no idea who your work will help 🙏
Hello Hussein after going through video , I realised that it was you . I have watched most of your content on the design
You are the best explainer
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?
@TheMessanger
2 жыл бұрын
I hope he answers looks like you may be missing code
I enjoy how this guy explain :)
This is $$ Gold $$. Thank you so much. You earned a subscriber!
@hnasr
4 жыл бұрын
Awesome, thank you! :D
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
@hnasr
4 жыл бұрын
Siddiqui Sarik should be as simple as adding that header assuming your nginx is layer 7 reverse proxying
Mahn! Incredibly fun to watch! Love your content bro
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.
Love your style of teaching, man, you are awesome.
this is so easily digestable! thank you
Thank you very much and keep doing your job :)
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.
@TheMessanger
2 жыл бұрын
I need a coder like you trying to login into a scam site. I got my login but I want full access!
Anybody know how to check if a given website has xss header enabled using pyhton.
I just subscribed. You are awesome bro. Thank you loads.
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.
Thank you Naseer ! This is very helpful
Please make more videos on web security and headers! ❤️
Great explanation, thanks!
"Oooo Mama" 😂 - Hussain 2020
We appreciate your efforts
the edvotise was so greate "click here to Boost your CPU"🤣🤣🤣
Thank you for a beautiful explanation sir. Actually interested in learning js btw found u on Udemy.
@hnasr
4 жыл бұрын
NO Oxygen thank you for your comments I hope you enjoy the content and welcome to the channel
It was helpful, thank you
@hnasr
3 жыл бұрын
Glad to hear that!
thanks for the nice explaining it was very enjoyable.
Awesome made it all clearer 🙏
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?
@hnasr
4 жыл бұрын
Rahul it is on my list of things to research.
@rahul.r
4 жыл бұрын
Hussein Nasser great to hear that!
is XSS relevant to only public domain sites(twitter,facebook) or even licensed webapps(jira, enterprise git..etc) can undergo XSS?
@dmitry.gashko
3 жыл бұрын
XSS is relevant to WEB in general. So, no matter jira is, github, gitlab, youtube or amazon.
Great Explanation
Very helpful ser!! 🙏🌹❤
It's very informative!
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.)
شكرا جدا عالشرح الواضح
@hnasr
3 жыл бұрын
❤️❤️ العفو
Awesome Demo thank's
Such powerful stuff...
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 KZread does even if it did , There isn't any place to embed it. I wonder how he did it cuz it was pretty cool
@leocarvalho8051
4 жыл бұрын
what account is that?
@rahuldora1587
3 жыл бұрын
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
ও মামা। Amazing explanation!
When your mom found out that you did something wrong and she stares at you like she about to end yo career: 3:26
What websites let you just store things on them like that?
awesome
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
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
@hnasr
4 жыл бұрын
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 😅
@FordExplorer-rm6ew
4 жыл бұрын
@@hnasr thankgs for the encouragement. Noted and definitely appreciated Thx fren :) 👍
if it is a dynamic website, is it okay to put the main homepage link in?
Thank you for saying SHE and including us ✨ 🙌🏽 ✨ women hack & code too (:
@tigreytigrey8537
Жыл бұрын
Oh God STFU up with that dumb brainwashed crap.
@tigreytigrey8537
Жыл бұрын
Learn to be a damn adult already.
great
Does xss protection header prevents DOM xss
XSS babes!
Hi Hussain.Your content is awesome. Csp attributes get fails even though it has been configured correct url.can u help me out?
How to implement in struts
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.
@hnasr
4 жыл бұрын
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
So you mean that if we do use CSP XSS can't be injected, right ?
@hnasr
Жыл бұрын
they can be injected, they just won’t be triggered if inline script is disabled
@semirberisha
Жыл бұрын
@@hnasr I am not getting it. So the final answer is: It can't be hcaked, right ?
This + html ping to post form :)
Can u make a vid on modsecurity with Nginx
alert("Mad")
❤️
joss
alert("Hello");
alert("XSS")
@Adarsh-Shrivastava
7 ай бұрын
This proves youtube comments os safe from XSS
alert(test attack);
@beastern1807
3 жыл бұрын
Forgot the quotes for the string