Day04

目录

Task1:  总结反射型、存储型、DOM型XSS特点和区别

1.反射型 XSS (Reflected XSS)

2. 存储型 XSS (Stored XSS)

3. DOM 型 XSS (DOM-based XSS)

4. 总结对比

Task2: 上网搜索一份XSS 的fuzz字典或字典生成工具

Task3: 挑战XSS靶场

1.level1

2.level2

3.level3

4.level4

5.level5


Task1:  总结反射型、存储型、DOM型XSS特点和区别

1.反射型 XSS (Reflected XSS)

特点:

  • 注入点:攻击者通过伪造请求,将恶意脚本注入到 HTTP 请求中,恶意代码通常作为 URL 参数或表单数据传递到服务器。
  • 触发机制:当用户点击恶意链接时,服务器将用户的输入内容原样反射回浏览器,并在页面上执行恶意脚本。
  • 攻击流程:攻击者诱使用户访问包含恶意代码的链接。服务器将这些代码“反射”到响应页面中,从而在用户的浏览器上执行。

区别:

  • 反射型 XSS 主要依赖于攻击者诱导用户访问恶意链接。它不需要存储恶意代码在服务器上,只需要服务器返回用户提供的恶意数据。

2. 存储型 XSS (Stored XSS)

特点:

  • 注入点:攻击者将恶意代码直接注入到服务器的数据库或其他持久性存储中,例如评论区、论坛帖子、用户配置文件等。
  • 触发机制:当其他用户访问存储了恶意代码的页面或资源时,这些恶意代码会被从存储中取出并执行。
  • 攻击流程:恶意代码存储在服务器上,一旦存储,所有访问该内容的用户都可能受到攻击。

区别:

  • 存储型 XSS 的恶意代码在服务器端持久存储,因此它可以影响到所有访问该页面的用户,不仅仅是点击特定链接的用户。攻击者不需要直接诱导用户访问特定链接,只需注入恶意代码到服务器上即可。

3. DOM 型 XSS (DOM-based XSS)

特点:

  • 注入点:恶意代码通过修改浏览器端的 DOM 结构来注入。这种类型的 XSS 攻击不依赖于服务器端的响应,而是通过客户端脚本处理数据时注入。
  • 触发机制:当客户端 JavaScript 处理用户输入或其他数据时,恶意脚本被插入到 DOM 中并执行。
  • 攻击流程:攻击者操控客户端 JavaScript 代码处理和操作 DOM 结构,将恶意代码注入到页面中。这种攻击通常通过修改 URL 或 Web 应用程序的客户端代码来实现。

区别:

  • DOM 型 XSS 完全在客户端进行,不涉及服务器的响应过程。攻击者利用客户端脚本对 DOM 的操作来注入和执行恶意代码。这种攻击类型强调客户端脚本的处理和数据操作,而不是服务器的反射或存储行为。

4. 总结对比

  • 反射型 XSS:依赖服务器反射用户输入,通常通过恶意链接诱导用户触发。
  • 存储型 XSS:恶意代码存储在服务器上,影响所有访问该内容的用户。
  • DOM 型 XSS:恶意代码通过客户端脚本注入和执行,攻击不依赖于服务器响应。

Task2: 上网搜索一份XSS 的fuzz字典或字典生成工具

 https://www.cnblogs.com/CVE-Lemon/p/16187971.html

NytroRST/XSSFuzzer: XSS Fuzzer is a tool which generates XSS payloads based on user-defined vectors and fuzzing lists. (github.com)

lotusirous/DistributedXSSFuzz (github.com)

oldboot/FuzzDicts: FuzzDicts 字典,一个就够了。 (github.com)

Task3: 挑战XSS靶场

靶场地址:欢迎来到XSS挑战 (tesla-space.com)

1.level1

在test=后插入<script>alert('1')</script>即可通关

2.level2

尝试输入<script>alert('1')</script>,发现无法注入

右击检查输入框源码,发现输入被转义为字符串。

输入"><script>alert('1')</script>提前闭合转义,完成注入

3.level3

尝试输入"><script>alert('1')</script>,发现不能注入

检查源码发现搜索处在value变量的地方,输入的用于闭合的双引号被实体化了,同时>也被实义化了

既然这样,我们只能考虑不使用>进行闭合,而是在input标签内进行XSS。输入'οnclick='alert(1)

成功通关

4.level4

尝试输入<script>alert('1')</script>,发现<>被过滤

尝试输入'οnclick='alert(1),发现被”“转义

尝试将单引号改为双引号,输入"οnclick="alert(1)

成功通关

5.level5

尝试输入'οnclick='alert(1),alert加了双引号,变成字符串了,后面尝试onclick也被修改。

发现不让使用script,尝试使用用a标签搭配javascript:alert,输入"><a href="javascript:alert(1)">

完成通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值