BrowserWAF(浏览器WAF)
运行于浏览器端的WAF、轻量化的WAF、开源WAF。用于保护网站(含H5功能页、游戏、小程序)、防多种常见网络攻击。
BrowserWAF是先驱、探索性的新型WAF,应该是互联网首个部署于浏览器端的WAF,其前身是ShareWAF( http://www.sharewaf.com )的前端WAF模块。
具体防护功能:
1、防自动化攻击。如:撞库、暴力破解、批量注册、批量发贴回复、自动按键软件等;
2、指纹防护。通过大数据指纹库识别来防者,自动拦截黑名单访客;
3、防SQL注入、文件包含、目录遍历等(传统WAF功能);
4、防CRSF攻击;
5、防Iframe框架嵌套;
6、防爬虫;
7、防XSS;
与传统WAF相比,有优势也有不足:
优势: 1、简单方便:传统WAF部署、使用繁杂。BrowserWAF在浏览器加载,1行代码引用,10行代码完成部署; 2、维护:BrowserWAF几乎无维护工作; 3、性能:传统WAF由于是反向代理或透明代理,对所有达到Web的数据都要过滤处理,因此对性能有较大损失,BrowserWAF运行于网页中,无乎无性能影响; 4、兼容性良好、不影响原业务功能;
不足:
1、防护效果报表不够详尽(额……报表功能正在开发中,目前尚未推出:D);
2、防护功能无法覆盖某些攻击,如:COOKIE注入、重放、嗅探等。
接入
需要引用JQuery和BrowserWAF两个JS文件,代码如下:
注:这段代码放在body中,所有内容之后body结束之前。
<!-- 引用JQuery库,可为其它版本,可从本地下载-->
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<!-- 引用BrowserWAF库,可放到本地,可用http或https方式 -->
<script src="http://www.sharewaf.com/browserwaf/BrowserWAF.js"></script>
<script>
//参数,控制各功能是否启用,1为启用,0为不启用
var config = {
//防自动化攻击
Defend_Automated_Attack_Enable : 1,
//浏览器指纹识别防护
BrowserID_Enable : 1,
//防SQL注入、文件包含、目录遍历等功能
Defend_Sql_Inject_Enable : 1,
//防CRSF攻
Defend_CRSF_Enable : 1,
//防Iframe嵌套
Defend_Iframe_Enable : 0,
//防爬虫、按键模拟
Defend_Spider_Enable : 1,
//防XSS攻击
Defend_XSS_Enable : 0,
}
//启动BrowserWAF
BrowserWAF_Run(config);
</script>