欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

XSS : BeEF利用框架的客户端脚本浅析

来源:本站转载 作者:佚名 时间:2012-12-23 TAG: 我要投稿

 BeEF是比较著名的一个XSS利用框架,它是交互界面友好、高度集成、开源、活跃度较高的一个项目。在BT5中也集成了BeEF。跟国外其他渗透测试项目一样,它也可以和其他很多工具结合使用,如MSF。但是网上相关资料不太好找,于是前段时间自己看了一下BeEF的客户端JS脚本代码。

BeEF框架客户端脚本文件hook.js的主要结构如下:

jquery jquery库
evercookie cookie僵尸,利用多处存放、相互依存的方式保证cookie的不可销毁。
beef 主对象,主要包括
commands数组等来存放从服务器获得的指令。
components数组来存放模块。
execute(fn)将待执行函数压入commands数组队列。
regCmp(com)将模块压入components数组
beef.browser 获得和存放浏览器信息的对象。getdetail返回存放浏览器详细信息的数组。
beef.browser.cookie 对浏览器cookie进行操作的函数。
beef.browser.popup 判断浏览器是否拦截弹窗。(貌似判断的不太准确)
beef.session 创建和管理一个Zombie的session标识。
beef.os 通过浏览器ua判断Zombie的操作系统。注册为beef.net.os
beef.hardware 通过浏览器ua判断Zombie的设备类型。注册为beef.net.hardware
beef.dom 对浏览器dom对象的操作,创建iframe、form、更换链接地址等等。
beef.logge 客户端的事件记录器,click、focus、submit、keypress等,并将捕获的数据存储,调用logger.queue函数将data传给beef.net.queue
beef.encode 定义了一些编码,base64编码、json解析等
beef.ne 客户端与服务端之间的通信,对请求与响应的处理进行封装。包括向服务器命令执行结果、提交请求并处理服务器返回的相应。
定义了服务端IP、端口、hook文件、handler文件等 。
beef.updater 循环获得服务器js指令并执行。定义了指令的获取和执行等函数。
beef.net.local  
init代码段 初始化:执行完指令队列内的指令、开始事件记录、执行updater.check()循环。
beef.mitb 浏览器中间人
beef.net.dns  
beef.are  

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载