Ниже написанный текст отношу больше к исследованию и доработке, нежели к уязвимости... Собственно пару лет назад пришлось заниматься вот этим... Было нужно запустить сайт, который работал бы с bwin.com Писать своё за небольшим знанием ActionScript было глупо и поэтому целью стало запустить "родной" сайт локально. С первой проблемой, с которой пришлось столкнуться это вот этой: http://wiki.flash-ripper.com/?title=Безопасность_во_Flash_Player а именно файл: crossdomain.xml находится он в корне по адресу: https://www.bwin.com/crossdomain.xml содержимое этого файла: Code: <?xml version="1.0"?> <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <allow-access-from domain="adadmin.bwin.com" secure="false"/> <allow-access-from domain="*.itsfogo.com" secure="false"/> <allow-access-from domain="*.itsfogo.com" secure="true"/> <allow-access-from domain="videostream.bwin.com" secure="false"/> </cross-domain-policy> видно, что доступ к данным из flash могут получать только те флешки, которые расположены на bwin.com и itsfogo.com пришлось заняться исправлением этого досадного недорозумения... для начала небольшой кусочек кода из флешки для примера (подобных участков получения данных от разных скриптов в коде несколько): Code: comm.getEvents = function () { if (loadComplete) { if (getTimer() - comm.lastEventsResponse > comm.eventsTimeout) { } // end if //var _loc1 = liveUrl + "V2GetLiveEventsWithMainbets.aspx?cts=" + comm.eventsLastModified + "&lang=" + LID + "&cs=75A940F7&r=" + Math.floor(Math.random() * 1000000); //var tmp1 = "/V2GetLiveEventsWithMainbets.aspx?cts=" + comm.eventsLastModified + "&lang=" + LID + "&cs=75A940F7&r=" + Math.floor(Math.random() * 1000000); var tmp1 = "/V2GetLiveEventsWithMainbets.aspx$cts=" + comm.eventsLastModified + "!lang=" + LID + "!cs=75A940F7!r=" + Math.floor(Math.random() * 1000000); var _loc1 = "http://buk.ru/get.php?hostname=live.bwin.com&path="+tmp1; //trace(tmp1); //trace(_loc1); // var _loc1 = "http://live.bwin.com/V2GetLiveEventsWithMainbets.aspx?cts=0&lang=17&cs=75A940F7&r=1000000"; comm.xmlevents = new XML(); comm.xmlevents.onLoad = comm.onGetEventsResponse; comm.xmlevents.load(_loc1); } else { gui.showEvent("txt_msg", 15, Stage.width / 2 + 84, 62, trans.loadFailed, "ATT"); } // end else if }; ..... comm.getEvents(); comm.getEventsTimer = setInterval(comm.getEvents, 30000); языковые файлы называютя messages_[LanguageID].xml для русского языка [LanguageID]=17 вот начало файла messages_17.xml Code: <MESSAGES LID="17" lang="russian" sports = "Mixed,,,,Футбол,Теннис,Формула-1,Баскетбол,,Горные лыжи,Велоспорт,Американский футбол,Хоккей с шайбой,Гольф,..........," calendarOn = "Показать календарь событий L!VE" calendarOff = "Скрыть календарь событий L!VE" expandAllEvents = "Показать детальный обзор всех событий" ..... содержимое файла get.php PHP: <?php $hostname = $_GET['hostname']; // www.yandex.ru $path = $_GET['path']; // /search.php?word=sss $path = str_replace("$", "?", $path); $path = str_replace("!", "&", $path); //print_r($_GET); /* http://buk.ru/get.php ?hostname=live.bwin.com &path=/V2GetEventData.aspx?eid=954767&cts=0&lang=17&mbo=0&cs=75A900F4&r=812318 */ //$hostname = "live.bwin.com"; //$path = "/V2GetEventData.aspx?eid=954767&cts=0&lang=17&mbo=0&cs=75A900F4&r=462793"; $fp = fsockopen($hostname, 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET $path HTTP/1.0\r\n"; $out .= "Host: $hostname\r\n"; $out .= "Accept-Encoding: deflate\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { $line = fgets($fp, 2048); if($line == "\r\n") break; } while (!feof($fp)) { echo fgets($fp, 2048); } fclose($fp); } ?> декомпелированный код в главном модуле составил 2738 строк.. первоначально показалось что всё просто и с заменой функций получения данных сайт заработает локально как и на родном сервере.. но как выяснилось всё оказалось совсем наоборот... пришлось приложить немало сил чтобы разобраться в коде и внести нужные изменения добавлю что главный модуль сотоит из нескольких подмодулей, подгружаемых в процессе его загрузки и поэтому часть кода, а именно ссылки, функции подгрузки моделей и логические условия пришлось заменить. также некоторый код пришлось закомментировать, поскольку с ним сайт категорически отказывался загружаться, но на функционал это никак не повлияло. но это того стоило, результат был достигнут ...запустил сайт на локальном компьютере, добавил изменения во флеш и теперь можно делать ставки прямо на сайте.. вот такой небольшой получился обзор...