Mar*_* AO 4 javascript iframe proxy code-injection network-security
所以我的ISP(Smartfren;印度尼西亚)决定开始使用iframing脚本注入所有非SSL页面,允许他们在页面中插入广告.这是发生了什么:
我的浏览器向服务器发送请求.ISP拦截它,而是返回一个javascript,在iframe中加载请求的页面.
除了原则上令人讨厌之外,这种注入还打破了任何数量的标准页面功能; 并提出可能的安全隐患.
到目前为止我试图做的事情:
使用GreaseMonkey脚本来删除注入的代码并重定向到原始URL.结果:打破一些合法的iframe.此外,ISP的代码被执行,因为GreaseMonkey只在页面加载后启动.
将Privoxy用于本地代理并设置过滤器以清理注入并将其替换为原始URL的普通javascript重定向.结果:打破一些合法的iframe.ISP的代码永远不会进入浏览器.
您可以通过以下粘贴查看我一直在处理的GreaseMonkey和Privoxy修复程序:http://pastebin.com/sKQTvgY2 ...以及ISP注入的示例.
理想情况下,我可以将Privoxy配置为在检测到更改时立即重新发送请求,而不是过滤掉注入的JS并将其替换为JS重定向到原始URL.(当没有延迟重新发送相同的请求时,ISP注入将关闭.)我还没弄清楚如何实现这一点.我相信它可以解决iframe破解问题.
我知道我可以切换到VPN或使用Tor浏览器.(或者改变ISP.)我希望还有另一种方法.有关如何消除这种滋扰的任何建议?
实际上现在我有一个解决方案:ISP代理对浏览器发送的Accept:头做出反应.
所以这是firefox的默认设置:
接受:text/html,application/xhtml + xml,application/xml; q = 0.9,/ ; q = 0.8
现在我们要更改此默认值:
并将其设置为:接受:*/*
以下是如何设置谷歌浏览器的标题黑客
将标题设置为您喜欢的任何内容:NO IFRAME
追加/替换选择替换为
字符串*/*
并将字符串匹配为.*然后单击"添加".
在永久标头开关中将域设置为.*并选择刚刚创建的规则
PS:在firefox设置中更改它不起作用100%,因为像ajax这样的请求似乎绕过它所以插件是唯一的方法,因为它实际上拦截每个传出的浏览器请求
那就是没有更多的iframe!
希望这可以帮助!
归档时间: |
|
查看次数: |
3032 次 |
最近记录: |