浏览器攻击框架BeEF
同源策略
说到攻击浏览器,那么就一定要说同源策略(Same Origin Policy, SOP)。 同源策略是用于限制不同来源的资源之间的交互。在浏览器上定义了对于不同的页面,如果他们的主机名、协议和端口都相同,即为同源。来个例子:
http://www.A.com/index.html 的js是不能读/写 http://www.B.com/index.html, https://www.A.com/index.html, http://www.A.com:8080/index.html 的内容。
BeEF框架
BeEF( The Browser Exploitation Framework) 是由Wade Alcorn 在2006年开始创建的,至今还在维护。是由ruby语言开发的专门针对浏览器攻击的框架。这个框架也属于cs的结构,具体可以看下图:
zombie(僵尸)即受害的浏览器。zombie是被hook(勾连)的,如果浏览器访问了有勾子(由js编写)的页面,就会被hook,勾连的浏览器会执行初始代码返回一些信息,接着zombie会每隔一段时间(默认为1秒)就会向BeEF服务器发送一个请求,询问是否有新的代码需要执行。BeEF服务器本质上就像一个Web应用,被分为前端UI, 和后端。前端会轮询后端是否有新的数据需要更新,同时前端也可以向后端发送指示, BeEF持有者可以通过浏览器来登录BeEF 的后台管理UI。