dominare il mondo con robot scritti in perl - warm up hackmeeting @ aula occupata p2 unical

Download Dominare il mondo con robot scritti in Perl - Warm up Hackmeeting @ Aula Occupata P2 Unical

If you can't read please download the document

Upload: natale-vinto

Post on 16-Apr-2017

1.097 views

Category:

Education


1 download

TRANSCRIPT

Dominare il mondo con
robot scritti in Perl

Qualcuno visita il tuo sito,

e non umano...

[email protected]@105.7 FM fzz fzz

Robot?

Robot : indica una qualsiasi macchina, in grado di svolgere pi o meno indipendentemente un lavoro al posto dell'uomo.

Software Robot:

Programmare al posto dell'uomo???

Software Robot?

Ma mi faaaaccia il piacere!!!

Piuttosto possono eseguire operazioni software al postodell'uomo, magari ripetitive.

Web Robot

Sono programmi che navigano il Web automaticamente.

Alcuni motori di ricerca li usano per indicizzare i contenuti web

Altri li usano per raccogliere contenuti sul web, come indirizzi email (spammer).

Altri li usano per altro

La prestigibilizzazione

Sono conosciuti come:Robot

Spider

Crawler

Perlopi usati per conto dei motori di ricerca, come Google e Yahoo!.Google: googlebot

Yahoo!: slurp

robots.txt (1/2)

Robots should be nice to the servers they visit

Il file robots.txt

Esempio:

User-agent: GoogleDisallow:User-agent: *Disallow: /Posso bloccare i robot cattivi?

robots.txt (2/2)

In teoria si, in pratica no!

I robot possono ignorareil file robots.txtProblemi:

Indicizzazioni non desiderate (email, contenuti)

Sovraccarico sul server (botnet)Soluzioni:

Blocco IP o range di IP

Robot in giro,
Server in Paranoia! (1/4)

Alcuni robot servono a scovare vulnerabilit sui server in giro per il mondo.

Con uno scan di IP random (non penso si siano spinti oltre IPv4) controllano solitamente che siano attive le seguenti porte:22 SSH

80 HTTP

8080 HTTP

Robot in giro,
Server in Paranoia! (2/4)

Scan SSH: per un accesso totale alla macchina in base ad un file di possibili password.

Scan HTTP: verificano chesulla macchina vi siano determinate vulnerabilit (note) e tentano di exploitarle.

Esempi: spam, operazioni illecite per conto tuo.

Robot in giro,
Server in Paranoia! (3/4)

Esempio:

Dai log del server Web Apache201.116.227.194 - - [06/May/2010:05:16:29 +0200] "GET///scripts/setup.php HTTP/1.1" 404 324 "-" "ZeW"201.116.227.194 - - [06/May/2010:05:20:03 +0200] "GET//phpMyAdmin//scripts/setup.php HTTP/1.1" 404 336 "-" "ZeW"201.116.227.194 - - [06/May/2010:05:23:40 +0200] "GET124.115.146.99 - - [02/May/2010:15:47:15 +0200] "GET//zen/admin/includes/stylesheet.css HTTP/1.1" 404 277 "-" "Mozilla/4.0(compatible; MSIE 6.0; Windows 98)"

Robot in giro,
Server in Paranoia! (4/4)

Paranoia!!

Accesso SSH su porte alte, con RSA, mai in chiaro!

Installazione software stable, aggiornamento continuo sui bollettini della sicurezza, su exploit e vulnerabilit in generale.

Regole di Firewall toste

Thor

Web Robot utili!

Oltre ad essere crawlero perfidi scannatori in barbaal prossimo, alcuni programmipossono fungere da Web Robot utili.Operazioni di routine sul web

Operazioni automizzate

SMS gratis :)

Navigano il web in modo automizzato ma non random, eseguono brevi e/o coordinati Task

Essere un Browser

Questi programmi per navigare il web devono somigliare ad un browser!

Essere un User AgentFirefox, Safari, Explorer..

Comunicare via HTTPGET,POST

Estrapolare ed analizzareHTML e quant'altro JavaScript, CSS, immagini,ecc.

Quale linguaggio?

Si pu usare qualunque linguaggio di programmazione che supporti HTTP o almeno i Socket

Dovrebbe avere qualche funzione di supporto per la gestione dei Cookie

Dovrebbe essere veloce, figo..

Dovrebbe essere...

Perl!

Scripting

Cross-platform

Ad oggetti (Sim SalaBim!)

Simile a PHP

Moduli a gogo

LWP::UserAgent

Altri: Ruby, Python, Java, C (cURL), ecc..

Ragionare come
un browser

Autenticarsi

my $ua = LWP::UserAgent->new();my $cookiejar = HTTP::Cookies->new();$ua->cookie_jar($cookiejar);$ua->agent( "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)" );my $res = POST 'http://www.sitopalloso.com/login.php', [ login => $user, password => $pass ];$content = $ua->request($res)->as_string;push @{ $ua->requests_redirectable }, 'POST';say "Zi non ti hanno creduto molto.. unless $content =~ /Benvenuto/;

Vita da Robot

Non sottovalutatela potenza dirobot in esecuzionesu un 486 di pochicentimentri!

goText

Web robot per invio SMS via Web

WWW::SMS

Risparmia & Cumparisci

AntiRobot?

Captcha (ReCaptcha)

Javascript tosto

Domande umane

Finisce qui????OCR

Algoritmi

Istanze dei browser (WWW::Mechanize::IE)

Finch il cammello va..

Lascialo andare!! :-)

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso