本文参考书目<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