Web安全
# XSS
# 反射型
测试网站:https://xss-game.appspot.com/level1/frame
正常情况下,这个网站是我们发送什么就会返回,什么
如果我们发送一个js代码呢?
# 存储型
一般评论里面被评论恶意的script代码块,会被保存到数据库中,这样就是永久的了。需要服务器进行过滤
https://0a9f001503d8150fc0c80de200310083.web-security-academy.net/post?postld=4
# DOM型
测试网站:https://xss-game.appspot.com/level3/frame#1
url上输入一个不存在的图片地址,hash地址后面的123,此时并不会向服务端发送请求
修改url地址中的#后面的值,就会触发下面的方法,拿到num
# CSP
内容安全策略(CSP (opens new window),Content Security Policy)是一种Web安全标准,旨在减少跨站脚本攻击(XSS)和数据注入攻击等安全风险。它通过在HTTP头部定义允许在Web应用中加载的来源类型,从而保护网页。CSP的实现基于白名单机制,开发者明确告诉浏览器哪些外部资源可以加载和执行。
CSP策略由一系列策略指令组成,每个指令控制特定资源的加载或脚本的执行。常见的CSP指令包括:45
default-src:设置默认加载资源的策略。
script-src (opens new window):定义哪些脚本可以执行。
style-src (opens new window):定义哪些样式表可以加载。
img-src (opens new window):定义哪些图片资源可以加载。
connect-src (opens new window):限制可以通过脚本接口进行连接的URL。
font-src (opens new window):定义哪些字体资源可以加载。
object-src (opens new window):限制可以加载哪些插件。
media-src (opens new window):定义哪些媒体资源(音频和视频)可以加载。
frame-src (opens new window):定义哪些iframe可以加载。
CSP策略可以通过服务器端设置HTTP头部Content-Security-Policy来实施,也可以通过在网页HTML文件中添加meta标签来通知浏览器。例如,一个简单的CSP策略可以设置为只允许从当前域名加载所有类型的内容,可以通过以下HTTP头部实现:Content-Security-Policy: default-src 'self'。
此外,CSP还提供了Content-Security-Policy-Report-Only模式,它不会执行限制选项,而是记录违反限制的行为,通常与report-uri选项配合使用,以便收集策略违规报告。