<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>по стопам webkill&#039;а &#187; mail.com</title>
	<atom:link href="http://blog.lukmus.ru/tag/mail-com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.lukmus.ru</link>
	<description>это наш химический дом для печальных жителей Земли</description>
	<lastBuildDate>Sat, 21 Oct 2023 19:10:13 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>AOL сошел с ума или авторегер на mail.com</title>
		<link>http://blog.lukmus.ru/2010/07/12/aol-soshel-s-uma-ili-avtoreger-na-mail-com/</link>
		<comments>http://blog.lukmus.ru/2010/07/12/aol-soshel-s-uma-ili-avtoreger-na-mail-com/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 00:20:39 +0000</pubDate>
		<dc:creator>lukmus</dc:creator>
				<category><![CDATA[hack]]></category>
		<category><![CDATA[методы и способы]]></category>
		<category><![CDATA[скрипты]]></category>
		<category><![CDATA[AOL]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[mail.com]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[авторегер]]></category>

		<guid isPermaLink="false">http://blog.lukmus.ru/?p=230</guid>
		<description><![CDATA[Не понятно какие тараканы укусили админов AOL, но подконтрольный AOL&#8217;у сервис mail.com с какого-то перепуга отменил капчу при регистрации мыла. В связи с этим событием, с которым может сравнится только финал ЧМ-2010, в адекватности судьи которого, кстати, я не уверен и не признаю никакого другого ЧМ кроме Нидерландов,  я считаю просто необходимо написать авторегер под [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.lukmus.ru/wp-content/uploads/2010/07/aol.jpeg"><img class="size-full wp-image-231 alignleft" style="margin: 10px;" title="aol" src="http://blog.lukmus.ru/wp-content/uploads/2010/07/aol.jpeg" alt="" width="224" height="106" /></a>Не понятно какие тараканы укусили админов AOL, но подконтрольный AOL&#8217;у сервис mail.com с какого-то перепуга отменил капчу при регистрации мыла.</p>
<p>В связи с этим событием, с которым может сравнится только  финал ЧМ-2010, в адекватности судьи которого, кстати, я не уверен и не признаю никакого другого ЧМ кроме Нидерландов,  я считаю просто необходимо написать авторегер под эту штуку.<span id="more-230"></span></p>
<p>Сам скрипт авторега я не написал еще, да думаю и не надо, каждый и сам сможет переписать выложенный здесь код под свои нужды. А написал я класс или точнее сказать скрипт-библиотеку, естественно на Ruby, который содержит все необходимые методы для регистрации мыла, быть может заисключением проверки адреса на существование.</p>
<p><strong>Сам скрипт</strong></p>
<blockquote><p>#!/usr/bin/ruby<br />
require &#8216;net/http&#8217;<br />
require &#8216;net/https&#8217;</p>
<p>def str2pc(str)<br />
if !str then return &#8220;|ERR=#{str}|&#8221; end<br />
i=0<br />
pc=&#8221;<br />
while i&lt;str.size do<br />
pc+=&#8221;%#{str[i].to_s(16)}&#8221;.upcase<br />
i+=1<br />
end<br />
return pc<br />
end</p>
<p>class Acc<br />
attr_accessor :login,:pass,:domain<br />
def initialize(login,pass,domain)<br />
@login=login<br />
@pass=pass<br />
@domain=domain<br />
@http=Net::HTTP.new(&#8216;signup.mail.com&#8217;, 443)<br />
@http.use_ssl = true<br />
@path=&#8217;/UserInformationB.aspx&#8217;<br />
end</p>
<p>def get_headers(refer)<br />
return headers = {<br />
&#8216;Cookie&#8217; =&gt; @cookie,<br />
&#8216;Referer&#8217; =&gt; refer,<br />
&#8216;Content-Type&#8217; =&gt; &#8216;application/x-www-form-urlencoded&#8217;,<br />
&#8216;User-Agent&#8217;=&gt; &#8216;Mozilla/5.0 Gecko/20090909 Windows NT 5.0/9&#8242;<br />
}<br />
end</p>
<p>def get_fst_cook<br />
begin<br />
resp, data = @http.get(@path, nil)<br />
@cookie = resp.response['set-cookie']<br />
@__VIEWSTATE=data.split(&#8220;__VIEWSTATE\&#8221; value=\&#8221;")[1].split(&#8220;\&#8221;")[0]<br />
@__EVENTVALIDATION=data.split(&#8220;__EVENTVALIDATION\&#8221; value=\&#8221;")[1].split(&#8220;\&#8221;")[0].gsub!(/([^a-zA-Z0-9])/){str2pc($1)}<br />
rescue<br />
return e<br />
end<br />
return 0<br />
end</p>
<p>def reg<br />
begin<br />
data = &#8220;__VIEWSTATE=#{@__VIEWSTATE}&amp;__EVENTVALIDATION=#{@__EVENTVALIDATION}&amp;hOptin=2&amp;hdCheckbox=1&amp;hdCampaignCheckbox=0&amp;RefenceCode=event01&amp;TrkID=0000&amp;FirstName=fdsjhfj&amp;LastName=jkvhfsdjk&amp;drpMonth=06&amp;drpDay=07&amp;drpYear=1975&amp;Username=#{@login}&amp;Domainname=#{@domain}&amp;Password=#{@pass}&amp;PasswordConfirm=#{pass}&amp;setpw=False&amp;SecQuestion=3&amp;SecAnswer=bhgfhgfhjfghgfhg&amp;Agreed=Create+Account&#8221;<br />
resp, data = @http.post(@path, data, self.get_headers(&#8216;https://signup.mail.com/UserInformationB.aspx&#8217;))<br />
@cookie = @cookie+resp.response['set-cookie']<br />
@path=resp['location']<br />
resp, data = @http.get(@path, self.get_headers(&#8216;https://signup.mail.com/UserInformationB.aspx&#8217;))<br />
@path=resp['location']<br />
resp, data = @http.get(@path, self.get_headers(&#8220;https://signup.mail.com/#{@path}&#8221;))<br />
rescue =&gt; e<br />
return e<br />
end<br />
return 0<br />
end<br />
end#class</p></blockquote>
<blockquote><p>#EXAMPLE<br />
accs=Acc.new(&#8220;test&#8221;,&#8221;example&#8221;,&#8221;california.usa.com&#8221;) #test@california.usa.com:example<br />
puts accs.get_fst_cook<br />
puts accs.reg</p></blockquote>
<p>Немного разберем скрипт.</p>
<p>Итак, он содержит 1 функцию &#8211; str2pc и класс Acc. str2pc преобразует символы в процент-код.</p>
<p><strong>Класс Acc</strong></p>
<ul>
<li>метод get_headers &#8211; возвращает заголовок пакета</li>
<li>метод get_fst_cook &#8211; получает необходимые кукисы и параметры для дальнейшей регистрации</li>
<li>метод reg &#8211; собственно сама регистрация</li>
</ul>
<p>Рассмотрим подробнее метод get_fst_cook. Он получает страницу регистрации /UserInformationB.aspx методом GET, а в месте с ней и первые кукисы. Далее парсит страницу на 2 необходимых параметра:</p>
<ol>
<li>__VIEWSTATE</li>
<li>__EVENTVALIDATION</li>
</ol>
<p>причем в __EVENTVALIDATION попутно заменяются все символы, неудовлетворяющие регулярному выражению ([^a-zA-Z0-9]) на процент-код.</p>
<p>Метод reg. Отправляет собственно сам POST-запрос регистрации, а затем 2 GET запроса на страницы /UserInformationB.aspx и той, на которую стоит переадресации в полученном пакете. Последний запрос не обязателен и регистрация пройдет и без него, однако он нужен если вы не хотите получить при входе на мыло страницу о успешной реги и прочей фигне.</p>
<p><strong>Как использовать класс</strong></p>
<p>Все очень просто и пример описан под комментарием #EXAMPLE:</p>
<ol>
<li>в конструкторе вводим логин, пароль и домен &#8211; accs=Acc.new(&#8220;test&#8221;,&#8221;example&#8221;,&#8221;california.usa.com&#8221;)</li>
<li>вызываем get_fst_cook, в случае ошибки возвращает текст ошибки, иначе 0 &#8211; accs.get_fst_cook</li>
<li>вызываем reg, в случае ошибки возвращает текст ошибки, иначе 0 &#8211; accs.reg</li>
</ol>
<p>Это все. Чтобы сделать из этой библиотеки полноценный авторегер особого ума не надо, и если же вы все-таки его сделаете незабудьте выложить в паблик.</p>
<p>Скачать скрипт в нормальном виде можно <a href="http://sharingmatrix.com/file/12315579/autoreg_mail.com.tar" target="_blank">здесь</a>.</p>
<p>P.S. хочу также сказать спасибо nonamez&#8217;у за его пост в его <a href="http://n0nz.info/" target="_blank">блоге</a>, где он поведал о плагине для FireFox Live HTTP Headers, без него было бы тяжко разбирать снифером HTTPS-пакеты. Статью можно прочитать <a href="http://n0nz.info/?p=36" target="_blank">здесь</a>.</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/nElrkQaKJmc&amp;hl=ru_RU&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/nElrkQaKJmc&amp;hl=ru_RU&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.lukmus.ru/2010/07/12/aol-soshel-s-uma-ili-avtoreger-na-mail-com/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
