评测告诉你:那些免费代理悄悄做的龌蹉事儿

网站建设评论45

评测告诉你:那些免费代理悄悄做的龌蹉事儿-开水网络

笔者2013年曾发表过一篇文章《免费代理服务器为何免费?》——文中提及代理服务器之所以免费,是因为其可以轻松浸染用户的上网行为并收集数据。而最新上线的Proxy Checker可以检测代理服务器的安全性。

‍‍后来,为了找到那些使用了文章中所述的免费代理服务器,我写了个极简单的脚本(实际就是一个PHP函数),从不同的位置请求获取Javascript文件并检测可修改的内容。‍‍

评测方法

‍‍如果你并不关心代码,请直接跳至检测结果。‍‍

我说这个脚本“极简单”是因为这是个完整函数:

/**************************************************************************//* scanProxy function by Christian Haschek christian@haschek.at           *//* It\'s intended to be used with php5-cli .. don\'t put it on a web server *//*                                                                        *//* Requests a specific file ($url) via a proxy ($proxy)                   *//* if first parameter is set to false it will retrieve                    *//* $url without a proxy. CURL extension for PHP is required.              *//*                                                                        *//* @param $proxy (string) is the proxy server used (eg 127.0.0.1:8123)    *//* @param $url (string) is the URL of the requested file or site          *//* @param $socks (bool) true: SOCKS proxy, false: HTTP proxy              *//* @param $timeout (int) timeout for the request in seconds               *//* @return (string) the content of requested url                          *//**************************************************************************/function scanProxy($proxy,$url,$socks=true,$timeout=10){    $ch = curl_init($url);     $headers[\"User-Agent\"] = \"Proxyscanner/1.0\";    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);    curl_setopt($ch, CURLOPT_HEADER, 0); //we don\'t need headers in our output    curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,$timeout);     curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //return output as string    $proxytype = ($socks?CURLPROXY_SOCKS5:CURLPROXY_HTTP); //socks or http proxy?    if($proxy)    {        curl_setopt($ch, CURLOPT_PROXY, $proxy);         curl_setopt($ch, CURLOPT_PROXYTYPE, $proxytype);    }    $out = curl_exec($ch);     curl_close($ch);    return trim($out);}

你可以用这个函数做各种分析:

·检查代理是否隐藏了你的IP,通过 http://ip.haschek.at  找到你的IP,然后你可以在参考数据中检查是否有与你的IP相同的;

·检查代理是否使用的https隧道传输(一种安全传输协议),如果不是,那可能是服务器拥有者想查看明文,然后从中提取数据;

·检查代理是否修改了静态网页(例如:添加广告)。

分析443个免费代理服务器

我从各种渠道获得了代理服务器的信息,但是我发现Google有通向所有网站的链接

‍‍我们需要检测什么‍

·是否使用了HTTPS?·是否修改了JS内容?·是否修改了静态网页?·是否隐藏了我的IP?

‍‍评测结果

评测告诉你:那些免费代理悄悄做的龌蹉事儿-开水网络

‍‍现在问题来了:75%的代理服务器是安全的?‍‍

仅仅因为一个代理服务器“不积极”地修改你的内容,这并不意味着它就是安全的。使用免费代理服务器的的唯一安全的方法就是如果HTTPS可用,你只访问实施HTTPS的站点即可。

‍‍只有21%代理服务器使用了HTTPS。‍‍

‍‍令人震惊的结果‍‍

出乎意料的是,会有如此多的代理禁止HTTPS流量。代理服务器这么做可能是因为他们想让你使用HTTP,这样它就能分析你的流量并窃取你的登录凭证了。

199个代理服务器中只有17个(8.5%)修改JS,他们中大多出都被注入了客户广告。但是其中只有两个是错误信息或者web过滤器警告。
33个代理服务器(16.6%)活跃于修改静态HTML页面并且注入广告。

‍‍他们中的大多数在结束标签之前加入了下面这段代码:‍‍

<link rel=\"stylesheet\" type=\"text/css\" href=\"http://ads.adt100.com/css/bottom.css\" /><div id=\"center_xad\" class=\"cwindow_xad\"><div class=\"center_title_xad\" id=\"center_title_xad\"><img onclick=\"closeWindow()\" width=\"39px\" id=\"cwindow_xclose\" height=\"11px\" src=\"http://ads.adt100.com/images/close_btn.gif\"></div><div id=\"center_xad_cnt\" class=\"injection_content\"></div></div><div id=\"right_xad\" class=\"window_xad\"><div class=\"right_title_xad\" id=\"right_title_xad\"><img onclick=\"closeWindow()\" id=\"cwindow_rclose\" width=\"39px\" height=\"11px\" src=\"http://ads.adt100.com/images/close_btn.gif\"></div><div id=\"right_xad_cnt\" class=\"injection_content\"></div></div><script src=\"http://ads.adt100.com/js/bottom.js\"></script>

绝对的恶意广告,及可能存在cookie窃取。然而,笔者并没有进一步进行检测。

‍‍另一个广告注入代理服务器更加“精致”。他们页面的注入脚本如下:‍‍

<script type=\"text/javascript\" charset=\"utf-8\" mediaproAccountID=\"0\" mediaproSlotID=\"0\" usermac=\"\" src=\"/7b26d4601fbe440b35e496a0fcfa15f7/00212600d7e6/w1/i.js\" async=\"async\" defer></script><meta charset=\"utf-8\">

有趣的是,他们指向一个看起来像是本地的JS。当浏览器通过代理服务器请求这一文件,代理就会劫持请求然后回复一个受感染的JS。因为它和另一个相同,并非一个跨域JS链接。

如果你仍然认为自己有必要使用一个免费代理服务器,尝试使用一个HTTPS可用的,并且要访问安全的站点。

 

 
渗透测试常规思路分析(二) 网站建设

渗透测试常规思路分析(二)

(在拿到webshell的时候,想办法获取系统信息拿到系统权限)一、通过常规web渗透,已经拿到webshell。那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接,针...
网站建设

超级病毒Duqu 2.0“持续性”模块分析

前面我们已经描述过的Duqu2.0实现原理,但是并没有介绍它具有的”可持续性”机制——这可能让用户得出结论:在所有被感染的机器除去恶意软件就像重启那样简单。然而,事情的真相其实更为复杂。技术剖析攻击者...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: