XSS原理

本文参考书目<web安全攻防:渗透测试实战指南>
有pdf,若想认真学习请支持正版买本纸质的


介绍

跨站脚本攻击( Cross - Site Scripting,简称为xss)是一种针对网站应用程序的安全漏洞攻击技术,是代码注入的一种。
简单地说,就是能将代码添加到js中,在你访问页面的时候或者在这个页面执行相关操作的时候,执行这段js代码。
最简单的危害就是将本地cookie或其他信息传送到攻击者所指定的服务器,从而达到非法获取信息的目的。
值得说的是,这类型漏洞是利用用户对网址的信任而进行的。(因为客户信任此链接才点开,或才在上面执行相关操作。)

XSS漏洞分为两类:反射型XSS存储型XSS

DOM型XSS就是特殊的反射型

反射型XSS

首先举个例子:
假设一个正常的界面输入如下,
在这里插入图片描述
点击Submit,它会将文本“Mickey”发送到网址a.php中,然后浏览器会返回显示Mickey文本的网址(不经过任何修改和检测)。
在这里插入图片描述
如果将Mickey改成,发给受害者,当受害者点开那他就是执行这段XSS代码。




做个小总结,以下直接摘抄书本内容。
反射型xss又称非持久型xss ,这种攻击方式往往具有一次性。

攻击方式:攻击者通过电子邮件等方式将包含xss代码的恶意链接发送给目标用
户。当目标用户访问该链接时,服务器接收该目标用户的请求并进行处理,然后服务器把带有xss代码的数据发送给目标用户的浏览器,浏览器解析这段带有xss代码的恶意脚本后,就会触发xss漏洞。

DOM型XSS

前面也提到过,DOM型就是特殊的XSS反射型,因此在这里进行提及。

首先要说一下DOM是什么。DOM全称 Document Object Model,即文档对象模型,它允许脚本(js)控制Web页面、窗口和文档。
DOM就是一张映射表,记录着一堆用代码操控document时的规章制度,直白点说,就是js操作html时的API

上面XSS反射例子中,客户端从浏览器获得的html页面是由浏览器返回的。
但是修改下逻辑,submit提交的文本并不是交给服务器,而是直接交给本页面的js代码执行,那么直接能通过JS代码改写界面,做出直接显示Mickey文本的html。 将Mickey改成代码进行提交后,也会有如下同样的效果。
在这里插入图片描述
下图是到处都常见的关于XSS反射型和DOM型的图解(找不到图就只能自己画)
在这里插入图片描述

存储型XSS

存储型XSS与以上反射型最关键的一点区别在于,html网页中的注入代码是否来自于数据库。

反射型中,返回的html页面中的XSS注入代码是由服务器直接进行逻辑处理后的结果。
存储型中,返回的html页面中的XSS注入代码是由服务器从数据库中获取的。(也许也会进行一定处理)

感觉自己解释的有点怪,以下为书本内容
存储型xss又称持久型xss ,攻击脚本将被永久地存放在目标服务器的数据库或文件中,具有很高的隐蔽性。

这种攻击多见于论坛、博客和留言板,攻击者在发帖的过程中,将恶意脚本连同正常信息一起注入帖子的内容中。随着帖子被服务器存储下来,恶意脚本也永久地被存放在服务器的后端存储器中。当其他用户浏览这个被注入了恶意脚本的帖子时,恶意脚本会在他们的浏览器中得到执行。

放图

在这里插入图片描述
如果有错误或者有什么想讨论的
联系方式1062290728@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值