第四次作业

反射型、存储型和 DOM 型 XSS 的特点和区别

1. 反射型 XSS:
   特点:恶意代码通过 URL 或 HTTP 请求参数传递到服务器,并在服务器响应中直接反射回客户端执行。
  场景:通常发生在用户输入的数据被立即返回而未经过适当过滤的情况下。
  攻击方式:攻击者通过构造特殊的 URL 诱使用户点击,或通过发送特制的请求以执行恶意脚本。

2. 存储型 XSS:
   特点:恶意脚本被存储在服务器端(例如数据库、日志文件等),并在用户访问相关页面时执行。
   场景:当应用将用户输入的恶意内容存储在服务器上,并在后续用户访问时直接展示而未进行清洗。
   攻击方式:攻击者将恶意代码提交到服务器,之后所有访问该存储内容的用户都会受到攻击。

3. DOM 型 XSS:
   特点:恶意脚本利用客户端 JavaScript 修改 DOM(文档对象模型)结构并执行,无需服务器直接参与。
   场景:JavaScript 代码在客户端处理用户输入或 URL 时未进行适当的验证和清理,导致恶意代码执行。
   攻击方式:攻击者通过操控 URL、网页的 DOM 结构或客户端 JavaScript,使恶意脚本在浏览器上执行。

区别:
反射型 XSS:攻击依赖于服务器端的响应直接反射恶意代码。
存储型 XSS:恶意代码被存储在服务器上,并在用户访问时执行。
DOM 型 XSS:攻击通过客户端脚本直接操作 DOM,无需服务器参与。

xss的fuzz字典

到XSS挑战靶场打靶

level1

查看源代码可知payload长度为四

直接修改网页即可

level2.2

查看源码

搜索框直接输入代码进行攻击

level.3

查看源码

 

  输入代码测试后与源码比较

可以清晰地看到被实体化

使用oninput事件

level.4

查看源码

发现是双引号闭合

使用html事件

level.5

查看源码可以发现“on”被修改为了“o n”

构造href超链接

浏览器解析机制

浏览器解析机制是指浏览器从接收到网页内容到最终显示给用户的整个过程。这个过程可以分为几个主要步骤:

1. 网络请求:
   - 浏览器通过 HTTP/HTTPS 协议向服务器发送请求。
   - 服务器响应请求并将网页内容(HTML、CSS、JavaScript 等)发送回浏览器。

2. HTML 解析:
   - 浏览器接收到 HTML 内容后,开始解析 HTML 文档。
   - 词法分析:HTML 文档被分解成标记,例如开始标签、结束标签、文本等。
   - 构建 DOM 树:解析过程中,根据 HTML 标记生成 DOM树。DOM 树表示了 HTML 元素的层次结构和关系。

3. CSS 解析:
   - 浏览器解析 CSS 内容并应用到 DOM 元素上。
   - 词法分析:CSS 被分解成规则和声明。
   - 计算样式:生成样式规则的对象,并计算每个 DOM 元素的最终样式,这些样式会被应用到相应的 DOM 元素上。

4. CSSOM 构建:
   - CSSOM(CSS Object Model)是一个表示 CSS 样式的结构化模型,与 DOM 树一起用于布局计算。
   - 浏览器将 CSS 规则解析为 CSSOM 树,并将样式应用到 DOM 元素上。

5. 渲染树构建:
   - 渲染树由 DOM 树和 CSSOM 共同构建,包含了需要显示的节点和它们的样式。
   - 不可见的元素(如 `display: none` 的元素)不会出现在渲染树中。

6. 布局计算:
   - 浏览器根据渲染树中的节点计算它们的位置和大小。
   - 布局计算确定每个元素在页面上的确切位置和尺寸。

7. 绘制:
   - 绘制阶段将布局计算结果转换为实际的图像。
   - 浏览器根据渲染树绘制每个节点的内容(文本、图像、背景颜色等)。

8. 合成:
   - 合成阶段将绘制的图像合成到屏幕上,生成最终的网页视觉效果。
   - 浏览器可能将不同的图层合成在一起(例如,固定定位元素与滚动内容)。

9. JavaScript 执行:
   - JavaScript 代码在 HTML 解析过程中被遇到并执行,影响 DOM 树和 CSSOM 的状态。
   - DOM 操作:脚本可以动态修改 DOM 树和 CSSOM,导致重新计算布局(Reflow)和绘制。

10. 重绘和重排:
    - 重绘:当元素的外观改变但位置和大小不变时,触发重绘。
    - 重排:当元素的尺寸或位置改变时,触发重排。这会导致整个页面或部分页面的重新布局。

总结:浏览器解析机制涉及从接收到网页内容到最终显示的多个步骤,包括网络请求、HTML 解析、CSS 解析、渲染树构建、布局计算、绘制以及 JavaScript 执行。每个阶段都有其关键作用,共同决定了网页的最终呈现效果。

使用优化算法,以优化VMD算法的惩罚因子惩罚因子 (α) 和分解层数 (K)。 1、将量子粒子群优化(QPSO)算法与变分模态分解(VMD)算法结合 VMD算法背景: VMD算法是一种自适应信号分解算法,主要用于分解信号为不同频率带宽的模态。 VMD的关键参数包括: 惩罚因子 α:控制带宽的限制。 分解层数 K:决定分解出的模态数。 QPSO算法背景: 量子粒子群优化(QPSO)是一种基于粒子群优化(PSO)的一种改进算法,通过量子行为模型增强全局搜索能力。 QPSO通过粒子的量子行为使其在搜索空间中不受位置限制,从而提高算法的收敛速度与全局优化能力。 任务: 使用QPSO优化VMD中的惩罚因子 α 和分解层数 K,以获得信号分解的最佳效果。 计划: 定义适应度函数:适应度函数根据VMD分解的效果来定义,通常使用重构信号的误差(例如均方误差、交叉熵等)来衡量分解的质量。 初始化QPSO粒子:定义粒子的位置和速度,表示 α 和 K 两个参数。初始化时需要在一个合理的范围内为每个粒子分配初始位置。 执行VMD分解:对每一组 α 和 K 参数,运行VMD算法分解信号。 更新QPSO粒子:使用QPSO算法更新粒子的状态,根据适应度函数调整粒子的搜索方向和位置。 迭代求解:重复QPSO的粒子更新步骤,直到满足终止条件(如适应度函数达到设定阈值,或最大迭代次数)。 输出优化结果:最终,QPSO算法会返回一个优化的 α 和 K,从而使VMD分解效果最佳。 2、将极光粒子(PLO)算法与变分模态分解(VMD)算法结合 PLO的优点与适用性 强大的全局搜索能力:PLO通过模拟极光粒子的运动,能够更高效地探索复杂的多峰优化问题,避免陷入局部最优。 鲁棒性强:PLO在面对高维、多模态问题时有较好的适应性,因此适合海上风电时间序列这种非线性、多噪声的数据。 应用场景:PLO适合用于优化VMD参数(α 和 K),并将其用于风电时间序列的预测任务。 进一步优化的建议 a. 实现更细致的PLO更新策略,优化极光粒子的运动模型。 b. 将PLO优化后的VMD应用于真实的海上风电数据,结合LSTM或XGBoost等模型进行风电功率预测。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值