Skip to content
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 #12

Open
yeojongki opened this issue Jul 3, 2019 · 0 comments
Open

XSS #12

yeojongki opened this issue Jul 3, 2019 · 0 comments

Comments

@yeojongki
Copy link
Owner

XSS

1. 介绍

XSS 攻击全称跨站脚本攻击,是为不和层叠样式表 (Cascading Style Sheets, CSS) 的缩写混淆,故将跨站脚本攻击缩写为 XSSXSS 是一种在 web 应用中的计算机安全漏洞,它允许恶意 web 用户将代码植入到提供给其它用户使用的页面中。

2. 分类

2.1 反射型

反射型 XSS,也叫非持久型 XSS ,是指发生请求时,XSS 代码出现在请求 URL 中,作为参数提交到服务器,服务器解析并响应。响应结果中包含 XSS 代码,最后浏览器解析并执行。

查看具体 Demo

2.2 DOM-Base

DOM XSS 攻击不同于反射型 XSS 和存储型 XSSDOM XSS 代码不需要服务器端的解析响应的直接参与,而是通过浏览器端的 DOM 解析。这完全是客户端的事情。

查看具体 Demo

2.3 储存型

存储型 XSS,也叫持久型 XSS,主要是将 XSS 代码发送到服务器(不管是数据库、内存还是文件系统等。),然后在下次请求页面的时候就不用带上 XSS 代码了。

最典型的就是留言板 XSS。用户提交了一条包含 XSS 代码的留言到数据库。当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。浏览器发现有 XSS 代码,就当做正常的 HTMLJS 解析执行。XSS 攻击就发生了。

查看具体 Demo

3. 危害

  1. 通过 document.cookie 盗取 cookie
  2. 使用 jscss 破坏页面正常的结构与样式
  3. 流量劫持(通过访问某段具有 window.location.href 定位到其他页面)
  4. Dos 攻击:利用合理的客户端请求来占用过多的服务器资源,从而使合法用户无法得到服务器响应。
  5. 利用iframeframeXMLHttpRequest 或上述 Flash 等方式,以(被攻击)用户的身份执行一些管理动作,或执行一些一般的如发微博、加好友、发私信等操作。
  6. 利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。

4. 防御

  1. 对cookie的保护:对重要的 cookie 设置 httpOnly, 防止客户端通过 document.cookie 读取 cookie 。服务端可以设置此字段。
  2. 对用户输入数据的处理:编码、过滤
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant