实训第四天

  1. 总结反射型、存储型、DOM型XSS特点和区别

反射型(Reflected)、存储型(Stored)和DOM型(DOM-based)XSS是跨站脚本攻击(Cross-Site Scripting, XSS)的三种主要类型,它们各自具有独特的特点和区别。以下是对这三种XSS类型的详细总结和对比:

a.反射型XSS

特点:

非持久性:反射型XSS的攻击载荷(payload)不会保存在目标服务器上,而是通过URL参数、表单字段或HTTP头等方式即时传送给受害者浏览器并执行。

特定性:攻击对象是特定的,通常需要受害者点击一个包含恶意脚本的链接才能触发攻击。

前端执行:恶意脚本在受害者的浏览器前端执行,不涉及服务器端的直接交互。

危害:

窃取用户cookie等敏感信息。

冒充用户身份进行非法操作。

b. 存储型 XSS(Stored XSS)

特点:

持久性:恶意脚本被持久性存储在服务器上,如数据库、日志文件或其他存储介质。

自动执行:当用户访问包含恶意脚本的页面时,存储在服务器上的脚本会被自动执行。

影响广泛:存储型 XSS 的影响范围可能更广,因为恶意脚本一旦存储在服务器上,所有访问相关页面的用户都可能受到攻击。

利用方式:

攻击者将恶意脚本提交到服务器上

c. DOM型XSS

特点:

客户端执行:DOM型XSS完全在客户端执行,不涉及服务器端的任何交互。攻击者通过修改DOM节点来执行恶意脚本。

隐蔽性:由于攻击发生在客户端,服务器端的日志可能不会记录任何异常,这使得检测和追踪变得更加困难。

动态内容相关:攻击通常与网页的动态生成内容有关,如JavaScript生成的内容。

危害:

窃取用户敏感信息。

修改页面内容,误导用户。

执行其他恶意活动,如发送恶意请求等。

  1. 上网搜索一份XSS 的fuzz字典或字典生成工具(可选)

https://github.com/fuzzdb-project/fuzzdb

https://github.com/swisskyrepo/PayloadsAllTheThings

https://github.com/danielmiessler/SecLists

  1. 到XSS挑战靶场打靶,要求通过5关以上,通关越多,加分越多。(https://xss.tesla-space.com/

第一题:

第二题:

第三题:

第四题:

第五题:

  1. 总结浏览器解析机制,若不能理解,解释《漏洞利用之XSS注入》中15条中,至 少5条执行成功或不成功的原因。(可选)

浏览器解析机制

浏览器解析机制是指浏览器如何将获取的网页内容(HTML、CSS、JavaScript等)转换为用户可以交互的页面的过程。这个过程可以分为几个主要的步骤,包括解析、构建和渲染。以下是浏览器解析机制的详细总结:

1. 获取资源

DNS 解析:浏览器首先需要将用户输入的 URL 进行 DNS 解析,以获取目标服务器的 IP 地址。

发送请求:浏览器通过 HTTP/HTTPS 协议向目标服务器发送请求,获取网页资源(HTML、CSS、JavaScript、图片等)。

2. 解析 HTML

构建 DOM 树:浏览器解析服务器返回的 HTML 内容,构建 DOM(文档对象模型)树。每个 HTML 元素都会成为树中的一个节点。

解析时,浏览器会遇到标签、属性、文本等内容,并根据其结构形成节点。

3. 解析 CSS

构建 CSSOM 树:浏览器解析与页面相关的 CSS 文件和内联样式,构建 CSSOM(CSS 对象模型)树。CSSOM 描述了页面的样式规则。

在解析 CSS 时,浏览器会处理样式选择器和样式属性,并将其对应到 DOM 树的节点。

4. 合成渲染树

构建渲染树:浏览器将 DOM 树和 CSSOM 树结合,生成渲染树。渲染树只包含可见的元素(即在屏幕上显示的元素),并且每个节点都包含了其对应的样式信息。

在这个过程中,浏览器会计算元素的布局(如宽高、位置等)。

5. 布局(重排)

计算布局:浏览器根据渲染树计算每个可见元素的确切位置和尺寸。这个过程被称为布局(或重排)。

如果 DOM 或 CSSOM 树发生变化,可能会导致需要重新计算布局。

6. 绘制(绘制过程)

绘制图层:浏览器将渲染树中的每个节点转换为实际的屏幕像素,生成绘制命令。这些命令描述了如何在屏幕上绘制每个元素。

图层合成:某些元素(如带有 CSS 动画的元素或具有透明度的元素)可能会被分配到独立的图层进行合成,确保高效渲染。

7. 合成和呈现

合成层:浏览器将所有图层合成并显示到屏幕上。这个过程通常涉及 GPU 的加速,以提高渲染效率。

呈现:最终,用户可以看到一个完整的网页,并能够与之交互。

8. JavaScript 执行

解析与执行:在构建 DOM 和 CSSOM 的过程中,浏览器会遇到 JavaScript 代码。JavaScript 的执行会影响 DOM 和 CSSOM,因此浏览器会在合适的时机执行 JavaScript(通常在解析时或 DOMContentLoaded 事件后)。

阻塞与异步:某些 JavaScript 代码可能会阻塞解析,而其他(如异步加载的脚本)可以在后续阶段加载和执行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值