8.29作业

作业一、总结反射型、存储型、DOM型XSS特点和区别

特点:
反射型XSS

        攻击代码通过URL参数传递给服务器。

        当受害者点击一个包含恶意URL的链接时,服务器会将URL中的参数反射回响应中,而浏览器会执行其中的恶意脚本。

        通常是一次性的,即只有在受害者访问恶意链接时才会触发。

存储型XSS

        攻击代码被保存在目标服务器的数据存储中。

        每当用户查看受影响的内容时,恶意脚本都会被加载和执行。

        是持久性的,只要数据存在就会一直生效

DOM型XSS

        攻击代码不会经过服务器端处理,而是直接在客户端(用户的浏览器)通过修改DOM(文档对象模型)来执行。

        这种类型的XSS利用了JavaScript在客户端处理数据的方式。

区别:

    反射型XSS 不持久且需要用户交互才能触发。

    存储型XSS 持久,一旦存储则每次加载相关数据时都会触发。

    DOM型XSS 在客户端执行,通常不需要经过服务器端处理。

作业二、上网搜索一份XSS 的fuzz字典或字典生成工具

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

https://github.com/TheKingOfDuck/fuzzDicts

https://github.com/TuuuNya/fuzz_dict

https://github.com/jas502n/fuzz-wooyun-org

作业三、 到XSS挑战靶场打靶,要求通过5关以上

level1

检查网页源代码,发现关键函数和注入点

在地址栏中尝试输入?name=<script>alert()</script>

注入成功

level2

查看源代码

显然可以根据输入框进行xss注入,但由于value后跟转义字符,所以需要进行绕过。尝试输入

"><script>alert()</script><"

注入成功

level3

尝试使用上一关的内容进行绕过,失败。

检查源码,发现被转义了

尝试使用onfocus,获得焦点事件

尝试输入,' οnfοcus=javascript:alert() '

注入成功。

level4

上一关使用,单引号做转义,本关通过检查源码知,为双引号。

因此可以尝试输入" οnfοcus=javascript:alert() "

level5

尝试输入"><script>alert()</script><",失败。

检查源码发现,script被强转了。onfocus同样被强转了

尝试使用a标签的herf属性,尝试输入"><a href="javascript:alert();">xx</a><"

点击链接,显示注入成功

level6

使用上一关的方式,发现script,onfocus,herf均被强转,但多次尝试后发现,通过使用大写的方式,可以避免被转义。

于是尝试输入"><SCRIPT>alert()</SCRIPT><"

注入成功

作业四、浏览器解析机制

浏览器解析机制主要包括以下几个步骤:
请求获取:

        用户输入URL或者点击链接。

        浏览器发起HTTP(S)请求以获取资源。

接收响应:

        服务器响应浏览器的请求,返回HTML文档或其他类型的内容。

解析HTML:

        浏览器从上到下解析HTML文档。

        构建DOM树(Document Object Model):将HTML标签解析为节点结构。

        处理<script>和<link>标签,加载外部JavaScript和CSS文件。

CSS解析与样式计算:

        加载并解析CSS规则,创建CSSOM(CSS Object Model)。

        结合DOM和CSSOM生成渲染树(Render Tree),其中包含可见元素及其样式属性。

布局构建:

        根据渲染树进行布局,确定每个元素的位置和尺寸。

绘制:

        将布局后的元素绘制到屏幕上。

事件处理与交互:

        解析并执行JavaScript代码。

        处理用户的交互行为,如点击、滚动等。

        JavaScript可以修改DOM、CSSOM和触发重排(reflow)和重绘(repaint)。

性能优化:

        浏览器会尽可能地避免重排和重绘,提高页面加载速度。

        使用缓存来减少网络请求。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值