Behave!:一款针对页面活动的浏览器监控插件
Behave!
Behave!是一款针对浏览器页面活动的监控插件,广大研究人员可以利用Behave!来对Web页面的各种活动和行为进行监控,目前该项目仍处于开发阶段。
Behave!能够对Web页面内的活动进行监控和检测,其中包括:
- 浏览器基于端口的扫描活动;
- 访问私有IP地址的行为;
- 针对私有IP的DNS重绑定攻击行为;
监控端口扫描活动
如果目标Web页面尝试访问的IP地址属于下列情况的话,Behave!将会给用户发出警告提醒:
本地回环地址IPv4 127.0.0.1/8 本地回环地址IPv6 ::1/128 私有IP地址IPv4 10.0.0.0/8 - 172.16.0.0/12 - 192.168.0.0/16 唯一本地地址IPv6 fc00::/7
针对私有地址的DNS解析行为
如果一个恶意脚本控制浏览器去跟一个FQDN连接,而这个FQDN的权威DNS解析指向的是一个私有IP地址的话,Behave!将会检查解析后的IP地址是否为私有地址。无论如何,解析主机名的IP地址只有当端口处于打开状态时才能生效。
Behave!还可以预防TOCTOU攻击问题,并且不会执行任何外部DNS请求。如果端口处于关闭状态,那么将无可用的IP解析,因此将不会发出警报提醒。
DNS重绑定绕过
Behave!不会执行任何直接的DNS请求,IP地址取自其拦截到的响应信息。这也就意味着,Behave!不会受到任何TOCTOU攻击的影响,比如说DNS重绑定攻击。
DNS重绑定监控
Behave!将持续追踪一个主机名是否会解析为多个IP地址,如果解析地址混合有公共IP和私有IP的话,Behave!将会发出警告提醒。
源码获取
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/mindedsecurity/behave.git
接下来,解压源码,打开Google Chrome或Chromium,访问下列地址:
chrome://extension
激活浏览器的开发者模式,加载Behave!目录,然后就可以使用Behave!的强大功能啦!
插件下载
当然了,广大用户也可以直接下载封装好的插件工具。
火狐浏览器插件:
https://addons.mozilla.org/en-US/firefox/addon/behave/
Chrome浏览器插件:
https://chrome.google.com/webstore/detail/mppjbkhgconmemoeagfbgilblohhcica/
Behave!测试
DNS重绑定攻击:
http://rebind.it:8080/manager.html
JavaScript端口扫描:
http://jsscan.sourceforge.net/jsscan2.html
下面给出的是我们使用Behave!来对at.tack.er页面进行监控的情况,活动细节将会记录在日志记录中:
项目地址
Behave!:https://github.com/mindedsecurity/behave
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- CentOS6.9下NFS服务安装配置教程
- Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
- PHP 枚举类型的管理与设计知识点总结
- Linux静态链接库使用类模板的快速排序算法
- TP5(thinkPHP5)框架使用ajax实现与后台数据交互的方法小结
- php post换行的方法
- apache实现部署多个网站(一个ip部署多域名)的方法详解
- windows7 32、64位下python爬虫框架scrapy环境的搭建方法
- python实现简单名片管理系统
- PHP7创建COOKIE和销毁COOKIE的实例方法
- PHP实现新型冠状病毒疫情实时图的实例
- 深入浅析Python2.x和3.x版本的主要区别
- 用户态进程如何得到虚拟地址对应的物理地址?
- Linux中利用grep命令如何检索文件内容详解
- laravel框架学习笔记之组件化开发实现方法