A uns dias atrás, antes do amoço eu achei um concurso e pensei: será que é possível manipular a votação e alterar o resultado final?
A uns meses atrás, eu de brincadeira fiz um robô para votar em bandas na Lollapalooza (http://www.t4f.com.br/app/lollapalooza/escolha-lollabr2016-1/) e selecionei umas bandas nada a ver com a escolha popular para ver se dá resultado.
Como foi essa história?
O site do Lolla guardava o cookie não deixando mais votar, permitindo apenas 1 único voto, então eu escrevi um script em python usando o requests que não guardava o cookie, assim eu consegui manipular os votos, infelizmente não tinha como saber quais eram as bandas mais votadas, mas se tiver natiruts ano que vem já saberemos :)
Enfim, voltando ao concurso.
Eu comecei a brincar com o robô antes do almoço, dei uma pequena pausa para comer e voltei a brincadeira, eu fiz o robô que realiza o voto na modelo indicada (identificada por um ID) em um json.
Vou
[EDIT] A mina não ganhou, o robô deu um "gás" na frente da outra mas eu tinha desligado o robô uns dias antes de finalizar, liguei no ultimo dia mas não deu pra fazer a mina ganhar :( [/EDIT]
Sem mais delongas, vamos ao que interessa.
O sorteio é da "Belas da Torcida", nele modelos competem para ver quem é a mais bela da torcida. Beleza, a votação em si, é feita através de um GET em um arquivo que retorna um JSON. Abrindo a pagina de votação:
![]() |
Coloquei a tarja para preservar as modelos |
Maravilha, olhem ali ao lado (img abaixo)
Podemos observar que temos 4 requests em paginas iniciando com "vote?jsonp=PollVote&format", essas são as pagina que ele realiza a consulta, as duas primeiras ele me retorna o seguinte json:
GET
http://enquete.xxx.com.br:443/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO
JSONP
PollVote(
- id: 48058,
- status: "captcha",
- captcha:
- id: "pkX6uFG78AKJODRhQ4TyUCHvPZVI13MlaYigjStNso9rfWq.wx5n0d2mLcEebzB-1gArZ28LZGCEOm4qI2QmZNoiO6SjZHFmJ6uwJgu5RTLxD6QqOgOnRg8xDyO=",
)
Beleza, sei que naquele link acima se eu fizer um get ele me retornar um jsonp com os dados do ID e a imagem do CAPTCHA, agora vamos ver o que ele me traz quando eu consulto o outro GET, os dois ultimos que iniciam com "vote?jsonp=PollVote&format"
GET
http://enquete.xxx.com.br/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO&captcha-value=e3z4&captcha-id=nB9gd3ZLsJR-UlO.uDHxtwM6ipzCKAbfGkj28qWQINXrVFcm0TyaPehE4Y57oSv1ALnaixnhp2przWsTC6n0l6kmpg34O6wc-gd0-2dyOH4TlgucU2UaO2sTlxU=
Note que nesse link acima, já temos uns valores interessantes, vou marcar abaixo os interessantes em vermelho:
http://enquete.xxx.com.br/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO&captcha-value=e3z4&captcha-id=nB9gd3ZLsJR-UlO.uDHxtwM6ipzCKAbfGkj28qWQINXrVFcm0TyaPehE4Y57oSv1ALnaixnhp2przWsTC6n0l6kmpg34O6wc-gd0-2dyOH4TlgucU2UaO2sTlxU=
Certo, captcha-value contem o texto do captcha e o captcha-id contem o ID que vimos ali em cima no primeiro get que fizemos.
Agora vem a parte interessante, como faço para burlar esse captcha e manipular as votações com robôs de automatização?
Beleza, nada de OCR, IMAGEMAGIK e a caralhada toda pra complicar, vamos buscar algo mais simples e efetivo que não nos tome tempo. Conheçam o DEATH BY CAPTCHA, maravilhoso site que explora o trabalho de indianos na resolução dos nossos captchas de cada dia, o terror de sites como a Receita Federal, Sefaz e por ai vai hu3hu3hu3BR. O melhor de tudo, é MUITO barato, resolução de 5000 captcha sai em torno de 6.29 obamas, coisa chique.
Certo, como já tenho os dados que preciso, agora é hora de integrar o sistema de votação e no de quebra de captcha, fazendo eles trabalharem juntos :)
Usaremos o Python, mas da pra ser feito em varias outras linguagens.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import json,requests,base64,random | |
import time | |
from PIL import Image | |
from StringIO import StringIO | |
def proxy(): | |
dic_proxy = [] | |
with open('proxy.list','rb') as p_list: | |
for proxy in p_list.readlines(): | |
if proxy: | |
dic_proxy.append(proxy.strip()[1:-1-1]) | |
random.shuffle(dic_proxy) | |
return dic_proxy[0] | |
def get_json(): | |
p_url = proxy() | |
user_agent = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4'} | |
url_json = "http://enquete.uol.com.br:443/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO" | |
req_json = requests.get(url_json,headers=user_agent,proxies=p_url ,timeout=5) | |
json_enquete = req_json.text.encode('utf-8') | |
json_enquete = json_enquete.replace('PollVote(','').replace(')','') | |
json_enquete = json.loads(json_enquete) | |
url_image = json_enquete['captcha']['image'] | |
url_image = url_image.encode('utf-8') | |
id_captcha = json_enquete['captcha']['id'] | |
id_captcha = id_captcha.encode('utf-8') | |
print req_json.text | |
return (url_image,id_captcha) | |
def save_img(url_image): | |
img = requests.get(url_image, stream=True) | |
i = Image.open(StringIO(img.content)) | |
i.save("captchaZIKA.jpg") | |
def verf_captcha(texto_id): | |
valid = 1 | |
while valid == 1: | |
url_zika = "http://api.dbcapi.me/api/captcha/%s" % texto_id | |
get_solved = requests.get(url_zika,timeout=5) | |
texto_solved = get_solved.text | |
texto_solved = texto_solved.encode('utf-8').split('&')[2].split('=')[1] | |
if len(texto_solved) > 0: | |
return texto_solved | |
else: | |
pass | |
def resolv_captcha(): | |
data = {"username":"USUARIO-DEATHBYCAPTHCA","password":"SENHA"} | |
arq = {"captchafile":open("captchaZIKA.jpg","rb")} | |
req_captcha = requests.post("http://api.dbcapi.me/api/captcha", files=arq, data=data,timeout=5) | |
texto_id = req_captcha.text | |
texto_id = texto_id.encode('utf-8').split('&')[1].split('=')[1] | |
texto_solved = verf_captcha(texto_id) | |
return texto_solved | |
def vota_nessa_mina(): | |
p_url = proxy() | |
url_image,id_captcha = get_json() | |
save_img(url_image) | |
texto_solved = resolv_captcha() | |
user_agent = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; hu-HU; rv:1.7.8) Gecko/20050511 Firefox/1.0.4'} | |
url_voto = "http://enquete.uol.com.br:443/vote?jsonp=PollVote&format=jsonp&id=48058&answers=IDMODELO&captcha-value=%s&captcha-id=%s" % (texto_solved,id_captcha) | |
req_voto = requests.get(url_voto,headers=user_agent,proxies=p_url,timeout=5) | |
print req_voto.text | |
times = [5,10,3,15] | |
for i in range(1,2): | |
try: | |
random.shuffle(times) | |
time.sleep(times[0]) | |
vota_nessa_mina() | |
except: | |
print "Deu bosta" | |
pass |
Muito bom seu posta vou fica atento a novos assuntos..
ResponderExcluirOpa, vlw!!!
ExcluirEste comentário foi removido pelo autor.
ExcluirÉ possível burlar votação em que abre um popup com captcha em imagem e que você precisa logar com a conta do rdio.com.br pra poder votar? Porque a pessoa que tá em primeiro agora, ela cresce 50 votos em 10 minutos, nem se ela fosse o Silvio Santos.
ResponderExcluirOi brother, desculpa a demora pra responder, me manda o link da votação, mas pelo que falou ai, é possível sim.
ExcluirO link é esse aqui: http://rockinrio.com/dubhits/v/sl
ExcluirEu tava com 105 votos e uma mulher lá com 50, na mesma tarde que eu comecei a votar, ela começou a votar igual e foi pra 410 votos, enquanto eu só consegui 200.
Deu até vontade de estudar programação de novo, comecei Telemática, mas parei.
Para fazer conta no Rdio, eu invento qualquer email que ele aceita.
Excluirnesse link tem como fazer algo? http://faceofkinder.kinder.com/br/pack.php?id=186741#/pack/186741&from=social_share
ResponderExcluirSim...
Excluirtem como burlar o captcha daqui? pode me ajudar como? :/
ResponderExcluirhttp://tvefamosos.uol.com.br/a-fazenda/8/enquetes/2015/10/08/apos-eliminacao-de-edu-k-quem-voce-quer-que-venca-a-fazenda-8.htm
Dependendo pra quem voce torce, tem sim.....alias, isso ja esta sendo feito. Faz o seguinte, responda esse comentario que eu receberei um aviso no meu e-mail me dizendo pra quem esta torcendo e eu te mando o script prontinho para toda semana após a eliminação voce trocar só a nova posição do seu preferido.
Excluirhttp://www.revistaporaqui.com.br/GarotaDaCapa/Candidata/lili-marcos preciso muito de ajuda. ... abs Lili Marcos
ExcluirQualquer coisa... mamde para meu email liliane_contabilcmp@yahoo.com.br
ExcluirMande*
Excluircomo burla o captcha de votaçao de A fazenda da record,amigos?
ResponderExcluirRecentemente entrei em um site que da satoshi a cada uma hora e tem um ReCaptcha antes de clicar em ROLL, queria saber se tem como eu criar um algoritmo que quando o tempo acabasse ele efetuasse o processo de burlar o captcha e apertar ROLL, sou iniciante na área de programação, se vc poder me ajudar agradeço.
ResponderExcluirPelo que entendi dá sim mano, deixa só eu acordar e ver direitinho isso ai...to lesado ainda.
ExcluirAMIGO TEM ESSE AQUI http://satoshizero.com/new?r=ok QUE DAR SATOSHI SEM ESPERAR POR TEMPO ALGUM O UNICO PROBLEMA DELE É ESSE DANADO DO RECAPTCHA QUE FICA PEDINDO PARA FICAR CLICANDO NAS IMAGENS MAIS SE NÃO FOSSE ISSO.
ExcluirRecentemente entrei em um site que da satoshi a cada uma hora e tem um ReCaptcha antes de clicar em ROLL, queria saber se tem como eu criar um algoritmo que quando o tempo acabasse ele efetuasse o processo de burlar o captcha e apertar ROLL, sou iniciante na área de programação, se vc poder me ajudar agradeço.
ResponderExcluirRecentemente entrei em um site que da satoshi a cada uma hora e tem um ReCaptcha antes de clicar em ROLL, queria saber se tem como eu criar um algoritmo que quando o tempo acabasse ele efetuasse o processo de burlar o captcha e apertar ROLL, sou iniciante na área de programação, se vc poder me ajudar agradeço.
ResponderExcluirMuito bom seu post
ResponderExcluirDANILO TUDO BEM AMIGO, OLHA VOU TE FAZER UMA PERGUNTA POIS VI QUE VOCÊ É MUITO ATENCIOSO COM AS PESSOAS QUE TE PERGUNTA, OLHA GOSTARIA DE SABER SE TEM COMO BURLAR ESSE SITE MAIS BURLARA PARA ESSE DANADO NÃO APARECER DE JEITO ALGUM POIS VOU CLICAR BASTANTE NELE AI PODE SER QUE DEPOIS DE TANTO CLIQUE ELE VENHA APARECER, http://satoshizero.com/new?r=ok , MAIS PARA VOCÊ TER ACESSO AO ROBÔ TEM QUE COLOCAR ESSA CHAVE ONDE PEDE ENTRAR OU LOGIN A CHAVE É ESSA 1PdKURpMBgSAFDvgMsHmHdUktcJHF96AkX SE TIVER ME AJUDA AI POR GENTILEZA SE FOR POSSÍVEL DESDE JÁ AGRADEÇO PELA ATENÇÃO.
ResponderExcluirOlá.
ResponderExcluirPesquisando no google acabei chegando a este seu post.
Será que é possível automatizar a passagem por um captcha do Consulado Italiano de SP?
Preciso realizar um agendamento para legalizar documentos, e este agendamento só ocorre online, às meia noite no horário de Roma, quando são abertas as 15 vagas por dia para o consulado de SP.
Acontece que é muito disputado.
1 - Precisa estar logado no sistema (prenotaonline.esteri.it);
2 - Perto da meia noite de Roma tem que atualizar a página que exibe um calendário até que surja o dia em VERDE e clicar nele:
3 - Ao clicar no dia verde aparecerá ao lado a faixa de horário para agendamento daquele dia (sempre uma faixa única, das 8:30 às 11:30);
4 - Feito o passo 3 surgirá uma outra tela com um captcha que validará o agendamento.
O problema é que estes passos demoram um pouquinho, e quando o captcha é processado, o resultado é que todas as 15 vagas já foram preenchidas. Provavelmente porque 15 pessoas fizeram tudo isso com mais velocidade e conseguiram registrar no sistema primeiro.
Esse problema seria solucionado caso houvesse uma maneira de "quebrar" esse procedimento com algum script semelhante ao do teu post.
diogo voce conseguiu fazer o agendamento????
Excluirto com a mesma dificuldade que a sua
Boa noite, irmão.
ResponderExcluirConsegue desenvolver um script para essa enquete abaixo?
http://sportv.globo.com/site/programas/e-gol/votacaomultimidia/2016/01/abusado-copinha-2016.html
Agradeço desde já
Por favor, tem como burlar aqui?
ResponderExcluirhttp://tvefamosos.uol.com.br/bbb/bbb16/enquetes/2016/02/02/apos-a-eliminacao-de-laercio-quem-voce-acha-que-vai-vencer-o-reality-da-tv-globo.htm
Por favoooor!
sera q é possivel burlar esse tipo de recaptha? http://imgur.com/pCVGdVk quero usar um macro e a unica coisa q atrapalha é isso
ResponderExcluirMan, até dá....se não me engano o deathbycaptha já está fazendo isso, mas não sei ao certo como, vou retomar essa pesquisa e vejo se posto alguma coisa aqui.
Excluirvlww
ExcluirDanilo Vaz isso mesmo o DBC já ta fazendo isso, tem até uns exemplo lá na parte de api. Mas o processo é diferente e mais caro que os demais, enquanto o captcha convencional é tipo US$7/5k para usar esse do reCaptcha é US$3.99/1k.
ExcluirEu também to pensando em estudar para quebrar esses reCaptcha, se você quiser podemos estudar juntos. Também participo do grupo @under no google.
Abraço
Consigo fazer isso para votar no gshow?
ResponderExcluirhttp://gshow.globo.com/realities/bbb/BBB-16/interatividade/enquetetv/2016/2/15/quem-voce-quer-eliminar-6cb1d3c0-d388-11e5-b1fe-9cb654714a76.html#
Me mandaria um script?
Estou fazendo um crawler para capturar todos os processos de um certo advogado(eu descobri uma falha e consegui baixar a lista de todos os processos) , mas infelizmente o site do processual.trf1.jus.br obriga a utilização do captcha para realizar o request de detalhes dos os processos, ao mesmo tempo que bloqueia ip's que realizarem a requisição em demasia. A parte do captcha pode ser burlada do mesmo jeito que você burlou essa ai de cima, mas o problema é o banimento do IP :(. Também estou pensando na questão legal, se eu corro o risco de tomar no c* ou não
ResponderExcluirA consulta de processos é publica e você não corre risco algum, a unica diferença é que você está utilizando um robozinho e não fazendo manualmente =)
ExcluirPor este motivo o CNJ em 2014 determinou essa parada de 'segurança' que seria os captchas.
Sabe se dá para burlar sistema de votação que usa login no facebook?
ResponderExcluirDanilo?
ResponderExcluirDanilo me ajudaaa haha
ResponderExcluirestá ai alguem?
ResponderExcluirOpa me ajuda ai me diz se tem como burla essa enquete eu quero votar varias vezes no Josimar pfv me responde
ResponderExcluirE essa enquete me fala algo.
http://www.osamigosdaonca.com.br/%20enquete%20para%20prefeito