11 Jan 2012
 

Come votare un sondaggio online...imbrogliando.

Written by massi

Avevo anticipato che prima o poi avrei fatto un post tecnico di qualche tipo. Ora, visto che una delle cose che più mi divertono del mio lavoro è lo sviluppo di script bash, vi posto quello che ho fatto ieri sera. Lo scopo di questo script, totalmente educativo, è quello di riuscire a effettuare una serie di votazioni online, ma su un sondaggio che permette una sola votazione al giorno. Per fare questo ho usato l'opzione del comando curl che permette di effettuare chiamate attraverso l'uso di proxy; e su internet ci sono molti proxy che vengono utilizzati per la navigazione anonima; tra questi ce ne era uno in particolare che ne forniva una corposa lista :)

Ora tralasciando la forma perché l'ho fatto ieri sera e di fretta, quindi di bello non c'è niente e soprattutto di elegante, però c'è qualche spunto interessante, che ovviamente dovete nel caso capire da soli e riusarli per le vostre cose, ovviamente sempre a scopi educativi...Con questo script non ho fatto altro che effettuare il download della lista dei proxy usabili:

#!/bin/bash
              for (( c=1; c<=27; c++ ))
              do
              wget http://www.hidemyass.com/proxy-list/search-225390/$c
              done

Quest'altro script non fa nient'altro che pulire la lista (sono file html) dei proxy in modo tale da avere solamente IP e PORTA del sito da chiamare e poi successivamente effettuare le chiamete con il comando curl.

              #!/bin/bash
              set -x
              for (( c=1; c<=27; c++ ))
              do
              for f in `cat $c | grep -A 2 "<td><span>" | grep -v "-" | grep "</td>" `
              do
              echo $f | sed -e 's/<td><span>//g' | sed -e 's/<\/span><\/td>//g' | sed -e 's/<\/td>//g' >> file$c.txt
              done
              done
              for (( c=10; c<=27; c++ ))
              do
              a=1
              for f in `cat file$c.txt`
              do
              dispari=$[a%2]
              if [ $dispari -eq 1 ]; then
              IP=$f
              fi
              if [ $dispari -ne 1 ]; then
              IP=$IP:$f
              curl --proxy $IP -d optSecenek="150" http://www.ttttttttttt.it/sondaggi/vota2.asp?ID=9
              fi
              let "a += 1"
              done
              done
       

    « Return