繁体   English   中英

如何通过分析JavaScript和HTML来检测HTTP请求?

[英]How to detect HTTP request by analysing JavaScript & HTML?

我想知道我们是否可以对JavaScript代码进行一些分析,以检测包含这些JS的网页是否会向其他域发送HTTP请求。

例如,有人将他们的静态网页文件放在我的网络服务器(DOMAIN A)中,我不希望他们的文件向其他网站发送HTTP请求(例如,DOMAIN B)。

他们有一些方法可以做到这一点:

  1. 使用img标签: <img src=“http://domain.b.com/statics”>

  2. 使用脚本标记。

  3. 使用表单标签。

  4. 使用iframe标记。

更重要的是,我们还可以使用JS来生成HTTP请求,例如:

var f = document.createElement('form');
f.action = "http://domain.b.com/statics";
...

Javascript可能会被混淆,上面的javascript可以压缩为:

eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0=3.2(\'1\');0.5="9://8.7.6/10";',10,11,'f|form|createElement|document|var|action|com|b|domain|http|statics'.split('|'),0,{}))

完全防止这种情况将会非常棘手 - 恶意的第三方内容可能会采用新的技巧(你没有想到或者在编写时没有这种技巧)。

测试沙箱中的内容(例如PhantomJS),然后查看它是否发出任何此类请求是可能的,但如果恶意代码知道您正在这样做,他们可能会尝试解决它。

您可以考虑采用不允许HTML标记的Wiki /论坛中使用的方法,但使用自定义标记(提供非常有限的HTML功能子集)来为客户端生成HTML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM