Domanda Hackerare un concorso

Stato
Discussione chiusa ad ulteriori risposte.

All3xJ

Utente Gold
28 Marzo 2014
597
46
109
251
Ciao a tutti.
E' da un bel pò di tempo che non entro su inforge... Comunque... rieccomi.
C'è un concorso che vorrei far vincere a un ente, che al momento è al terzo posto con i voti.
Mi è venuto in mente... Posso sfruttare tecniche da DDoS effettuando appunto molte richieste per votare quell'ente, in modo tale da far aumentare i voti? Ora.. mettiamo caso che sia possibile... Il sito (ovviamente) blocca le richieste di un ip per un ora... Quindi praticamente non posso votare dal mio pc più di una volta a meno che passi un ora e a quel punto rivotare. Potrei ricorrere ai proxies... Altro problema: il sito non accetta voti da ip stranieri... Quindi mi serviranno proxies italiani... Ma fino a qua non è un problema... Vorrei sapere se, effettivamente, si può sfruttare il DDoS per effettuare più richieste con diversi proxies italiani su dei tasti CSS della pagina di votazione... Ovvero tasti che, cliccandovi, convalidano il voto... Se il tasto di voto in questione era un semplice link non sarei qui a scrivervi perchè starei già provando a sferrare l'attacco semplicemente copiando il link della votazione e incollandolo nel mio PacketStormer preferito... ma il problema si pone appunto nell'effettuare richieste ad un semplice pulsante CSS...
E' informaticamente possibile?
Se volete altri dettagli chiedete pure... Grazie a chi risponde.
 
la vedo un pò difficile se agisce con i css si appoggerà anche a dei token che verrà rigenerato alla convalida diun nuovo voto
a meno che non sei un geniaccio e riesci a trovare il source originale del js che lo rigenera per poi sfruttarlo con un pò di perl
e l'unica cosa che mi viene in mente forse e pure sbagliata
 
  • Mi piace
Reazioni: All3xJ
Quello che devi fare è un bot di votazioni, usare un DoS non serve a questo principio

tu ne sai qualcosa :omfg:
AXePDQb.png


skrz xDDDDDDDDD :\
 
Allora mi rassegno perché non ho tante conoscenze in ambito programmazione... E poi che sono i bot di votazioni? Come agiscono? E mettiamo caso che non era un pulsante css ma un link... In tal caso l'attacco avrebbe funzionato?
Scusate ma la curiosità prende il sopravvento in queste situazioni... Io sono un appassionato :)

Inviato dal mio HUAWEI G700-U10 utilizzando Tapatalk
 
Allora mi rassegno perché non ho tante conoscenze in ambito programmazione... E poi che sono i bot di votazioni? Come agiscono? E mettiamo caso che non era un pulsante css ma un link... In tal caso l'attacco avrebbe funzionato?
Scusate ma la curiosità prende il sopravvento in queste situazioni... Io sono un appassionato :)

Inviato dal mio HUAWEI G700-U10 utilizzando Tapatalk
Devi fare uno script che simula interamente, li dove ce n'è bisogno, la presenza di un browser.
Spesso per questi casi si usa, per evitare i bot, un captcha o un token. Il token è un codice generato casualmente che appare sulla pagina dove va effettuata la votazione (in maniera non visibile all'utente es. <input type="hidden">) e viene inviato al server quando viene fatta la votazione, a cosa serve il token? Te lo spiego subito. Serve a "certificare" al server che l'utente che ha votato proviene dalla pagina principale dove c'è il bottone per votare (o quello che è). Il token può essere inoltre inserito nei cookie, o nei dati di sessione. Oltre al token ci sono molti altri modi per proteggersi dai bot, chi più ne ha più ne metta, ma il token è quello più usato assieme al captcha (credo).
Quello che dovresti fare è realizzare uno script che per ogni voto simula il collegamento alla pagina principale col tasto "Vota" (o quello che è..) e prende il valore del token (che in genere è una stringa casuale) per poi utilizzarlo in una seconda richiesta, che sarà quella del voto vero e proprio.

Per farti capire meglio, ipotizziamo che la pagina dove si vota sia:
http://concorso.net/votazione/ClanBalordi

E la pagina per inviare il voto a ClanBalordi sia:
http://concorso.net/votazione/ClanBalordi/sendVote

Tu dovrai prima collegarti tramite richiesta GET alla pagina /votazione/ClanBalordi, analizzare il codice sorgente generato dal loro web server (di concorso.net in questo caso) ed estrapolare (possibilmente con una regex) il codice del token, e quindi memorizzarlo da parte, poi dovrai mandare una richiesta a /votazione/ClanBalordi/sendVote con il valore del token.

Puoi analizzare le richieste con la console di quasi tutti i browser (credo che Internet Explorer puoi lasciarlo da parte) ed estrapolarne i parametri passati, l'URL, il tipo di richiesta ecc, tutto ciò in modo da permettere al tuo script di simulare una richiesta reale (sai.. ci potrebbero essere altri parametri oltre al 'token', che magari se non inseriti, non registrano il voto).

Per quanto riguarda l'IP puoi usare Tor Browser, dentro la configurazione di Tor (file torrc) puoi settare un flag che permette a Tor di connettersi solo a nodi di una determinata nazione, in modo da evitare nodi stranieri, oppure puoi andare ad esclusione (se non ricordo male). Inoltre puoi sfruttare Tor all'interno del tuo script (come proxy SOCKS5) cambiando identità tra una richiesta e l'altra usando il comando SIGNAL NEWNYM (da "scrivere" nel socket aperto con Tor). Il comando SIGNAL NEWNYM è mezzo sballato nel caso mio, io lo usai con PHP e aggiornava l'identità (cambio IP, cookie ecc) in più di 30-40 secondi, purtroppo online non si trovano soluzioni e devi sbatterci un po' la testa oppure aprire una domanda su StackOverflow aspettando che qualcuno con lo stesso problema l'abbia risolto.

Detto ciò credo di aver detto tutto. Se hai dubbi scrivi pure.
 
Devi fare uno script che simula interamente, li dove ce n'è bisogno, la presenza di un browser.
Spesso per questi casi si usa, per evitare i bot, un captcha o un token. Il token è un codice generato casualmente che appare sulla pagina dove va effettuata la votazione (in maniera non visibile all'utente es. <input type="hidden">) e viene inviato al server quando viene fatta la votazione, a cosa serve il token? Te lo spiego subito. Serve a "certificare" al server che l'utente che ha votato proviene dalla pagina principale dove c'è il bottone per votare (o quello che è). Il token può essere inoltre inserito nei cookie, o nei dati di sessione. Oltre al token ci sono molti altri modi per proteggersi dai bot, chi più ne ha più ne metta, ma il token è quello più usato assieme al captcha (credo).
Quello che dovresti fare è realizzare uno script che per ogni voto simula il collegamento alla pagina principale col tasto "Vota" (o quello che è..) e prende il valore del token (che in genere è una stringa casuale) per poi utilizzarlo in una seconda richiesta, che sarà quella del voto vero e proprio.

Per farti capire meglio, ipotizziamo che la pagina dove si vota sia:
http://concorso.net/votazione/ClanBalordi

E la pagina per inviare il voto a ClanBalordi sia:
http://concorso.net/votazione/ClanBalordi/sendVote

Tu dovrai prima collegarti tramite richiesta GET alla pagina /votazione/ClanBalordi, analizzare il codice sorgente generato dal loro web server (di concorso.net in questo caso) ed estrapolare (possibilmente con una regex) il codice del token, e quindi memorizzarlo da parte, poi dovrai mandare una richiesta a /votazione/ClanBalordi/sendVote con il valore del token.

Puoi analizzare le richieste con la console di quasi tutti i browser (credo che Internet Explorer puoi lasciarlo da parte) ed estrapolarne i parametri passati, l'URL, il tipo di richiesta ecc, tutto ciò in modo da permettere al tuo script di simulare una richiesta reale (sai.. ci potrebbero essere altri parametri oltre al 'token', che magari se non inseriti, non registrano il voto).

Per quanto riguarda l'IP puoi usare Tor Browser, dentro la configurazione di Tor (file torrc) puoi settare un flag che permette a Tor di connettersi solo a nodi di una determinata nazione, in modo da evitare nodi stranieri, oppure puoi andare ad esclusione (se non ricordo male). Inoltre puoi sfruttare Tor all'interno del tuo script (come proxy SOCKS5) cambiando identità tra una richiesta e l'altra usando il comando SIGNAL NEWNYM (da "scrivere" nel socket aperto con Tor). Il comando SIGNAL NEWNYM è mezzo sballato nel caso mio, io lo usai con PHP e aggiornava l'identità (cambio IP, cookie ecc) in più di 30-40 secondi, purtroppo online non si trovano soluzioni e devi sbatterci un po' la testa oppure aprire una domanda su StackOverflow aspettando che qualcuno con lo stesso problema l'abbia risolto.

Detto ciò credo di aver detto tutto. Se hai dubbi scrivi pure.
Grazie mille, no non ho dubbi, sei stato molto chiaro! :) appena sono al PC ti do +1 di reputazione ;)
 
Ci sarebbe una soluzione "manuale", a patto di non essere legati ad un account e di avere una connessione ad IP dinamico:

Dotandoti di santa pazienza, effettua un reboot del rooter/modem e controlla se riesci a votare ancora.
Se non funziona, potresti provare a zappare i dati di navigazione (cache, cookies & co).
Se non funziona ancora, sei sfigato, ma potresti optare per la soluzione di Syncro (piuttosto esauriente, devo ammetterlo :) ).
 
Rispondo a @wakeful
Il fatto di essere legati a un account o ad un indirizzo IP non toglie il problema del token sicuramente. Il token viene sfruttato quasi sempre, cioè foga zio il token è l'emblema, se non sfrutto il token sono un co******, foga.
 
Magari ti va di culo e non c'è nessun token.. Ne ho visti di siti che controllano solo l'ip o addirittura solo i cookies! Insomma, un tentativo lo farei, non costa niente!


Sent from my iPhone using Tapatalk
 
Stato
Discussione chiusa ad ulteriori risposte.