2024.8.29作业

XSS漏洞的特点与分类

也称跨站脚本或跨站脚本攻击。跨站脚本攻击XSS通过将恶意得Script代码注入到Web页面中,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS主要基于JavaScript完成恶意的攻击行为,由于JS可以非常灵活地操作html、css和浏览器,使得跨站脚本攻击的“想象”空间特别大。

(一)反射性XSS

定义:反射型XSS是非持久性、参数型跨站脚本。反射型XSS的JS代码在web应用的参数(变量)中,如搜索框的反射型XSS。

特点:这种攻击方式往往具有一次性

(二)存储型XSS

定义:存储型XSS是持久性跨站脚本,持久性体现在xss代码不是在某个参数(变量)中,而是写进数据库或文件等可以永久保存数据的介质中。存储型XSS通常发生在留言板等地方。我们在留言板位置留言,将恶意代码写进数据库中。

特点:攻击脚本将被永久地存放在目标服务器的数据库或文件中,具有很高的隐蔽性

(三)DOM型XSS

定义:DOM型XSS比较特殊。owasp关于DOM型XSS的定义是基于DOM的XSS是一种XSS攻击,其中攻击的payload由于修改受害者浏览器页面的DOM树而执行的。其特殊的地方就是payload在浏览器本地修改DOM树而执行,并不会传到服务器上,这也就使得DOM型XSS比较难以检测

参考:【XSS漏洞-01】XSS漏洞简介、危害与分类及验证-CSDN博客

字典下载地址

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

https://github.com/TheKingOfDuck/fuzzDicts

https://github.com/TuuuNya/fuzz_dict

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

参考:好用的fuzz字典以及fuzz字典生成工具-CSDN博客

靶场实践

level 1

将test替换成<script>alert()</script>,刷新即可

level 2

输入<script>alert("xss")</script>,查看源代码

输入"><script>alert(1)</script>  ​就可以了

level 3

输入之前的代码,没有出现弹窗,查看后端代码,发现被转义

所以尝试使用onclick,输入a'> οnclick='alert(1)后再点击文本框

level 4

输入上一关的代码发现没有弹窗,检查源代码,发现要用双引号闭合

输入"οnclick="alert(xss),没有弹窗,换成"οnclick="alert(1)就可以了

level 5

输入上一关的代码发现没有弹窗,检查源代码发现onclick变成了o_nclick

所以使用a标签构造超链接,利用javascript伪协议进行绕过

level 6

输入上一关的代码发现没有弹窗,检查源代码,发现href变成了hr_ef

尝试改变大小写可以通过,"><a HREF='javascript:alert(1)'>

浏览器解析实践

(一)解析URL

参考:浏览器解析流程_浏览器解析过程-CSDN博客

(二)页面渲染

接收到http响应头中的「content-type」类型时就开始准备渲染进程了,渲染进程是不需要等待所有资源加载完成才进入渲染,当接收到数据流之后,就会开启解析渲染进程,网络进程和渲染进程之间我们可以理解为一根管道,当网络进程接收到数据之后就会往管道里面输送,渲染进程就会在另外一端进行接收,响应体数据一旦接受到便开始做DOM解析了。
浏览器获取HTML并开始构建DOM(文档对象模型 - Document Object Model)。然后获取CSS并构建CSSOM(CSS对象模型 - CSS Object Model)。然后将DOM与CSSOM结合,创建渲染树(Render Tree)。然后找到所有内容都处于网页的哪个位置,也就是布局(Layout)这一步。最后,浏览器开始在屏幕上绘制像素。
合成线程拿到每个层、每个块的位图后,生成一个个「指引(quad)」信息。
指引会标识出每个位图应该画到屏幕的哪个位置,以及会考虑到旋转、缩放等变形。
变形发生在合成线程,与渲染主线程无关,这就是transform效率高的本质原因。
合成线程会把 quad 提交给 GPU 进程,由 GPU 进程产生系统调用,提交给 GPU 硬件,完成最终的屏幕成像。

1、构建DOM

2、构建CSSOM

3、构建渲染树

4、加载javascript

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值