İnternette gizlenmek için kullanılan en pratik yöntemlerden biri olan proxy sunucular (vekil), çoğu ücretsiz olduğu için her daim kullananlar için büyük bir iştahla kullandıkları gizlilik aracı konumunda olabiliyorlar. Halbuki internete bağlı 25443 proxy sunucu üzerinde yapılan bir araştırmada proxy sunucuların, “beleşçi” kullanıcıların bilgilerini çalmada oldukça maharetli olduklarını tekrar kanıtlanıyor.
Sadece basit bir PHP fonksiyonu yardımıyla internetteki ücretsiz proxy sunucuları inceleyen Christian Haschek, özellikle HTTP bağlantılar üzerinde çalışan ücretsiz proxy sunucuların kullanıcıların bağlantılarını değiştirdikleri, reklam ve kötücül eklemeler yaptıkları ve en vahimi olarak da bütün kullanıcı giriş bilgilerini topladığını ortaya çıkarmış oldu.
/**************************************************************************/ /* scanProxy function by Christian Haschek [email protected] */ /* 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); }
Christian Haschek bu PHP fonksiyonunu PROXY CHECKER adlı siteye dönüştürerek, isteyen herkesin kolayca bulabildiği proxy sunucuların gerçekten güvenli olup olmadığını sunucunun IP ve port bilgileriyle anında test etmelerini sağlıyor. Site ile sorguladığınız proxy sunucunun:
- ayakta olup olmadığı,
- HTTPS bağlantılara izin verip vermediği,
- gerçek IP adresinizi gizleyip gizlemediği,
- JavaScript’leri değiştirip değiştirmediği,
- ve HTML’leri değiştirip değiştirmediğinin
bilgilerine bakılarak güvenli olup olmadığı belirleniyor.
Araştırmaya göre eğer proxy sunucular HTTPS bağlantılara izin veriyorsa, ilgili sunucuda hiçbir HTTP bağlantıya gitmemek kaydıyla hizmetinden yararlanılabilir.
Bağlantılar