Итак, сегодня я вкратце расскажу о накрутке голосов в различных интернет-голосованиях.
Что это вообще такое и зачем нужно? Например, есть некий конкурс вроде «Проголосуй за лучшую фотку», за победу в котором дается некий приз. Или не дается =) Организаторами предполагается, что один человек может проголосовать один раз. Обычно один раз в день, а не просто один раз за голосование – для пущего драматизма. Для предотвращения накрутки обычно применяются два способа: запись куки и запись IP-адреса. Это наиболее распространенный способ, бывает и вариант с обязательной регистрацией и так далее.
Итак, требуется обойти два ограничения: куки и ip-адрес. C куками все понятно, их мы просто не будем запоминать =) С ip-адресами все немного сложнее – есть два очевидных способа обхода этого ограничения: прокси и тор. С тором более-менее понятно: подключаемся к сети, голосуем, меняем адрес и так до упора =) С прокси же основная проблема состоит в том, что нужно найти рабочие прокси. К примеру, найти их можно на сайте samair.ru, благо есть и мой готовый парсер, найти который можно здесь.
Использование списка прокси-серверов.
Собственно, как оно работает: открывается файлик с проксями, надерганных при помощи этого скрипта, построчно берется текущий прокси-сервер, эмулируется POST-запрос, каждый раз от «разного» браузера, чтобы не палиться =)
# -*- coding: cp1251 -*-
import urllib
import re
import random
import socket
import urllib2
import telnetlib
import time
socket.setdefaulttimeout(12)
i=0
agent=["Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8",
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20061022 Iceweasel/1.5.0.7-g2",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.4.154.25 Safari/525.19",
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.65 Safari/525.19",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)",
"Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.21-rc1; x86_64; cs, en_US) KHTML/3.5.6 (like Gecko)",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.19) Gecko/20081201 Firefox/2.0.0.19",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1",
"Opera/9.02 (Windows NT 5.1; U; en)",
"Opera/9.23 (Windows NT 5.1; U; ru)",
"Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.00"]
file_object = open('list_.txt', 'r')
try:
for line in file_object:
i=i+1
try:
cur_agent=agent[random.randint(0, len(agent))-1]
res_str=''
rez=[]
post = urllib.urlencode({"vote":'1',"x":random.randint(10, 100),'y':random.randint(1, 10)})
request = urllib2.Request("http://tula.kp.ru/daily/forumcontest/photo/58150 ",post)
request.add_header('User-agent', cur_agent)
request.add_header('Accept-Language', 'ru,en-us;q=0.7,en;q=0.3')
request.add_header('Accept-Encoding', 'gzip')
request.add_header('Accept-Charset', 'windows-1251,utf-8;q=0.7,*;q=0.7')
request.add_header('Connection', 'keep-alive')
request.add_header('Referer', 'http://tula.kp.ru/daily/forumcontest/photo/58150')
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
request.set_proxy(line[:-1], 'http')
page = urllib2.urlopen(request).read()
print 'voted'
except:
print 'Dead!'
finally:
file_object.close()
Использование TOR
Основное отличие от предыдущей версии в том, что адреса, через которые происходит голосование, не являются прокси, а узлами сети Tor. Соответственно, на компьютере, где будет запускаться данный скрипт, должен быть работающий клиент этой сети. В принципе, код понятен, поясню только момент с телнетом. Данная последовательность команд приводит к принудительной смене узла, что обеспечивает возможность повторного голосования.
# -*- coding: cp1251 -*-
# Tor voter
# http://yegorov-p.ru/
import urllib
import re
import random
import socket
import urllib2
import telnetlib
import time
socket.setdefaulttimeout(12)
i=0
agent=["Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8",
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.7) Gecko/20061022 Iceweasel/1.5.0.7-g2",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/0.4.154.25 Safari/525.19",
"Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/525.19 (KHTML, like Gecko) Chrome/1.0.154.65 Safari/525.19",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; YPC 3.0.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)",
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)",
"Mozilla/5.0 (compatible; Konqueror/3.5; Linux 2.6.21-rc1; x86_64; cs, en_US) KHTML/3.5.6 (like Gecko)",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.17) Gecko/20080829 Firefox/2.0.0.17",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.19) Gecko/20081201 Firefox/2.0.0.19",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3",
"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7) Gecko/2009021910 Firefox/3.0.7",
"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1",
"Opera/9.02 (Windows NT 5.1; U; en)",
"Opera/9.23 (Windows NT 5.1; U; ru)",
"Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.2.15 Version/10.00"]
for i in range(1,250):
try:
cur_agent=agent[random.randint(0, len(agent))-1]
res_str=''
rez=[]
post = urllib.urlencode({"vote":'1',"x":random.randint(10, 100),'y':random.randint(1, 10)})
tn = telnetlib.Telnet('127.0.0.1', 9051)
tn.read_until("Escape character is '^]'.", 2)
tn.write("AUTHENTICATE\r\n")
tn.read_until("250 OK", 2)
tn.write("signal NEWNYM\r\n")
tn.read_until("250 OK", 2)
tn.write("quit\r\n")
tn.close()
time.sleep(5)
#TOR
request = urllib2.Request("http://tula.kp.ru/daily/forumcontest/photo/51927 ",post)
request.add_header('User-agent', cur_agent)
request.add_header('Accept-Language', 'ru,en-us;q=0.7,en;q=0.3')
request.add_header('Accept-Encoding', 'gzip')
request.add_header('Accept-Charset', 'windows-1251,utf-8;q=0.7,*;q=0.7')
request.add_header('Connection', 'keep-alive')
request.add_header('Referer', 'http://tula.kp.ru/daily/forumcontest/photo/51927')
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
request.set_proxy('127.0.0.1:8118', 'http')
page = urllib2.urlopen(request).read()
rez=re.findall('
<div>(.+?)</div>
',page)
res_str=res_str+' '+rez[0]
rez=re.findall("Голосов: (.+?)",page)
res_str=res_str+' '+rez[0]
print str(i)+' '+res_str
except:
print 'Oops!'

23 comments so far
Если несложно, перезалей скрипт. Ссылка битая.
December 12th, 2010Перезалил. Скрипт там, конечно, кривоватый, ибо писался давным-давно, но работает =)
December 12th, 2010с голосование можете помочь?))
December 30th, 2010Вряд ли =)
December 31st, 2010Мне был интересен способ, а не результат.
В принципе – способ рабочий. Но скрипт отбора проксей предложенный автором требует доработки – надо выбирать только анонимные прокси.
February 6th, 2011А научите пожалуйста накручивать голоса в конкурсе!
August 10th, 2011Уважаемый тов. Егоров!
Срочно нужна кибер-поддержка на конкурсе “Мисс Университет Мира 2011″ в Южной Корее – http://wmu.or.kr/eng/contest/online.asp
Сейчас Россия находится на 11-м месте, отставая от лидирующей Канады на 4500 голосов.
Так что примените, ПОЖАЛУЙСТА, Ваши КИБЕРНЕТИЧЕСКИЕ НАВЫКИ, чтобы ВЫЙТИ здесь В ЛИДЕРЫ уже СЕЙЧАС, не дожидаясь 2020-го года !!!
Вот фотографии российской конкурсантки: http://wmu.or.kr/eng/etc/profile.asp?gubun=771&contest_gubun=39
Как видите, в плане внешних данных и сценичности (можете поверить!) мы уже ВПЕРЕДИ ПЛАНЕТЫ ВСЕЙ !
Итак, Елизавета Ртищева (Гуманитарный факультет Тульского Государственного университета), участница “Мисс Россия 2011″ и победительница “Мисс Тула 2008″.
Финал “Мисс Университет Мира 2011″ будет транслироваться впрямую 15-го декабря: http://wmu.or.kr/eng/index.asp
ГОЛОСОВАТЬ за Россию ЗДЕСЬ – http://wmu.or.kr/eng/contest/online.asp
December 10th, 2011Защиты никакой, поднял с 11 на 6 место. Скучно и неспортивно. =)
December 12th, 2011Здравствуйте! Я прочитала о ваших методах и не поняла даже того, куда вставлять скрипт! А мне нужно выиграть в конкурсе, так как 2 дня я была впереди, а теперь меня догнали и перегнали с исп-ем программ накрутки голосов.
December 14th, 2011Помогите мне пожалуйста! http://rea.ru/Main.aspx?page=_Miss_Studija_2012__Nojabr_
что здесь нужно делать?
Очевидно же, найти кого-нибудь, кто поймет, куда и что вставлять :-)
December 15th, 2011Ничего не поняла)) я чайник!
December 17th, 2011выиграть очень хочется подписку на любимый журнал! если есть время и хоть чуточку желания помогите))
http://www.cosmo.ru/sp/platfon/all.php?NICKNAME=%E0%ED%F7%EE%F3%F1
Нужна накрутка, как сделать голову сломала… похоже я дуб О_о
January 19th, 2012http://chocoboy.ru/gallery.php Имя Виттих Ольга, 2 фото, за любую, или подскажите как сделать.
Найти кого-нибудь, кто сделает это за вас =)
January 20th, 2012=)я не прошу конкретно делать за меня, прошу подсказать как сделать, с анонимайзерами работала, а как обойти регистрацию не знаю… читала что куки надо удалять и по новой… ничего подобного… рррррр…
January 20th, 2012позоже это не для девочек….уважаемый егоров…будьте джентельменом))помогите)я подозреваю что участники накручивают себе голоса нечестно,но мне совсем не хочется отставать)тем более это дело принципа)вот адрес http://megatyumen.ru/weddings/voting и проголосуйте за пару Алексей и Алена. посмотрите что можно сделать)огромнейшее спасибо)
January 30th, 2012похоже)))
January 30th, 2012Я полагаю, что джентельменом должен быть не я, а Алексей ;)
January 31st, 2012помогите!!!нужна помощь. можно ли как нибудь поднять рейтинг?
March 3rd, 2012://barohota.ru/index.php?view=detail&id=5746&option=com_joomgallery&Itemid=159
Помогите выйграть в конкурсе!!!
March 23rd, 2012http://sinar.ru/contest/photos.php?page=1
Ник Ольга Тюмень, черное пальто и розовый шарфик!Спасибо
помогите девушке в конкурсе!!!! №2 , Анастасия! Конкурс прошел сам, а интернет-голосование началось! Очень нужно!http://www.podolsktime.ru/index.php?option=com_content&view=article&id=27402:-l-2012r&catid=50:2008-10-01-05-25-07&Itemid=35
April 3rd, 2012http://topmodel.loverepublic.ru/contest/373/
April 10th, 2012Потратьте секундочку для хорошего человека)Никакой регистрации, а только один клик)
блять! вся россия такая! лишь бы где урвать да украсть! если ты уродина, тебе никакие скрипты накрутки не помогут!
April 15th, 2012помогите накрутить по-братскиа то вкурить ничерта не могу=((
April 19th, 2012Add a comment