-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
什么是 XSS #26
Comments
存储型 XSS常见于带有用户保存数据的网站功能,比如论坛的发帖功能,商品评论等,用户的输入会被提交到服务器并保存到数据库中,攻击的步骤如下:
|
反射型 XSS反射型 XSS 和存储型 XSS 的区别是:
反射型 XSS 攻击一般是利用 URL 传递参数的功能,比如网站的搜索或者跳转,攻击步骤如下:
|
DOM型 XSSDOM型 XSS 的攻击步骤是:
DOM型 XSS 与前两种 XSS 的不同在于,在 DOM型 XSS 中,取出和执行恶意代码这两个步骤都发生在用户浏览器,属于前端 JavaScript 自身的安全漏洞,而前两种 XSS 则属于服务端的安全漏洞。 |
防御存储型和反射型 XSS 攻击这两种攻击都是从在服务端取出恶意代码后,插入到响应的 HTML 中,导致浏览器在解析 HTML 的过程中执行了恶意代码,所以要防御这两种攻击,就要隔绝恶意代码被插入 HTML 的可能,一般有两种常用的防御手段:
纯前端渲染的过程
转义 HTML 要使用专业的转义库,对 HTML 模板中的各处插入点都进行充分的转义 |
防御 DOM 型 XSS 攻击DOM 型 XSS 攻击实际上是前端的 JavaScript 代码本身不够严谨,把不可信的数据当作代码执行了。
|
其他 XSS 防范措施
|
避免漏洞产生
|
概念
全称是 Cross-Site Scripting(跨站脚本攻击),是一种代码注入攻击。攻击者通过在目标网站上注入恶意脚本,使之在用户浏览器中运行,从而获取用户的敏感信息如 Cookie 和 SessionID 等,或者利用这些信息冒充用户向网站发起攻击者定义的请求。
XSS 的本质是:恶意代码未经过滤,和网站正常的代码混在一起,浏览器无法分辨哪些是可信脚本,哪些是恶意脚本,导致恶意脚本被执行。
攻击来源
在处理输入时,以下内容都不信:
XSS 分类
The text was updated successfully, but these errors were encountered: