xss简介:
跨站脚本(英语:Cross-site scripting,通常简称为:XSS)是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。从而使目标计算机收到危害。
分类:
xss漏洞分为三类,分别是存储和反射。还有第三种不太知名的XSS攻击类型,基于DOM的XSS。
存储的XSS攻击
存储攻击是指注入的脚本永久存储在目标服务器上的攻击,例如在数据库,消息论坛,访问者日志,注释字段等中。受害者在请求存储时从服务器检索恶意脚本。信息。存储的XSS有时也称为持久性或类型 Ⅰ XSS。
反射型的XSS攻击
反射攻击是指注入的脚本从Web服务器反射出来的攻击,例如错误消息,搜索结果或包含作为请求的一部分发送到服务器的部分或全部输入的任何其他响应。反射的攻击通过其他途径传递给受害者,例如在电子邮件中或在其他一些网站上。当用户被欺骗点击恶意链接,提交特制表单,甚至只是浏览恶意网站时,注入的代码会传播到易受攻击的网站,这会将攻击反映回用户的浏览器。然后浏览器执行代码,因为它来自“可信”服务器。反射的XSS有时也称为非持久性或II型XSS。
本文就验证两种xss攻击,因为笔者尚未学习php语言,无法写出实验的网站代码,所以就使用dvwa进行渗透实验。
DVWA网站的安装可以参见以下网站:
https://www.cnblogs.com/amberly/p/6089224.html
在登陆DVWA以及将安全等级调为low等级之后,进行xss
(经笔者实验,在chrome浏览器下不能正常得到攻击后的响应,所以如果要进行实验的话建议使用Firefox等浏览器)
反射型xss:
Low
服务器端核心代码
Low Reflected XSS Source
|
观察到并没有对name进行任何的过滤操作。
那么输入<script>alert(123456)</script>
观察到弹窗。
接下来看中级的xss源代码:
Medium Reflected XSS Source
|
看到有一个 $name = str_replace( '<script>', '', $_GET[ 'name' ] );
这个函数将字符“<script>”换为NULL,那么由于函数只执行一次,有多种方法可以绕过。
比如将这个标签双写绕过,但是只能过滤一次,就达成了我们的目的。
比如:<sc<script>ript>alert(123456)</script>