Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как JS может выполнять код?

1.8K
21 июня 2010 года
trivium
128 / / 31.01.2010
Всем привет!
Простите может я какой-то серый, но я вот никак не могу понять каким образом JavaScript может качать или выполнять какой-то код?
Это ж JavaScript...
Им только стили меняют и всякие штучки выводят...
В нём нет операций с файлами и прочих радостей жизни...
Я вроде слышал как-то через Shell JS может выполнять виндовые функции...
Так ли это?
251
21 июня 2010 года
SkyMаn
1.7K / / 31.07.2007
"качать файлы" (вставлять их в документ) можно как раз в результате манипуляций с ХТМЛ-документом.
код выполнять может, но смотря какой. естественно, ЕХЕ файлы джаваскрипт не понимает. Но на винде их запускать можно. Из-под Internet Explorer.
274
21 июня 2010 года
Lone Wolf
1.3K / / 26.11.2006
а в чем заключается собсно вопрос? Какой код выполнять? на стороне клиента?
1.8K
21 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: SkyMаn
"качать файлы" (вставлять их в документ) можно как раз в результате манипуляций с ХТМЛ-документом.
код выполнять может, но смотря какой. естественно, ЕХЕ файлы джаваскрипт не понимает. Но на винде их запускать можно. Из-под Internet Explorer.



А каким образом можно сманипулировать HTML'ем, чтобы запустить на выполнение какой-то произвольный код?

1.8K
22 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: Lone Wolf
а в чем заключается собсно вопрос? Какой код выполнять? на стороне клиента?



Ну как бы да...
JS же только на серваке выполняется:)

253
22 июня 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: trivium

JS же только на серваке выполняется:)


Да вы чего :eek: Наоборот, JavaScript - строго клиентский язык, раюотает в браузерной песочнице, так что "произвольный код" вы выполнить там не сможете, он защищён от подобных поползновений.

1.8K
22 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: Proger_XP
Да вы чего :eek: Наоборот, JavaScript - строго клиентский язык, раюотает в браузерной песочнице, так что "произвольный код" вы выполнить там не сможете, он защищён от подобных поползновений.



Ну а как же тогда кишащие по всему инету рои троянов, червей и прочих вирусяк?
Как они выполняются?
Кстати есть серверный JS, но это другое совсем...
Как-то я вроде слышал JS через браузер может вызывать Shell API или через VB Script...
Но вот как? Не пойму...

274
22 июня 2010 года
Lone Wolf
1.3K / / 26.11.2006
серверный ЖС? [COLOR="Silver"]Это браузер на сервере ? Хотя lynx вродь ЖС не выполняет.. хотя не уверен.[/COLOR]
Или вы все-таки Ajax имеете ввиду? Но он никакой не серверный. Он просто запросы шлет на сервер и полчает ответ не перезагружая страницу..
5
22 июня 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: trivium
Ну а как же тогда кишащие по всему инету рои троянов, червей и прочих вирусяк?

Они эксплуатирую уязвимости браузеров. Т.е. они выполняют такой код, который приводит к побочным эффектам - позволяет зловреду вырваться из песочницы браузера. Как правило самым "слабым звеном" является не само исполняющее ядро JavaScript, но сторонние аддоны, например Adobe Flash, в этом случае атака выглядит как подгрузка специально сформированного флешового объекта, выполнение которого приводит к заражению целевой машины (получение доступа к диску или оперативной памяти, а уже потом на комп кладется порноблокер или что похуже).

5
22 июня 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: Lone Wolf
серверный ЖС?

Это когда на "всеми любимом" JavaScript выполняется рендеринг страницы на сервере. Частным случаем можно считать JScript.NET, который будучи диалектом JavaScript, может использоваться в ASP.NET.

1.8K
22 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: Lone Wolf
серверный ЖС? [COLOR="Silver"]Это браузер на сервере ? Хотя lynx вродь ЖС не выполняет.. хотя не уверен.[/COLOR]
Или вы все-таки Ajax имеете ввиду? Но он никакой не серверный. Он просто запросы шлет на сервер и полчает ответ не перезагружая страницу..



Вот он есть:
http://yandex.ua/yandsearch?rdrnd=259764&text=%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%BD%D1%8B%D0%B9%20javascript&lr=145
Но я не про то...
Я про то море в инете сайтов, которые каким-то образом заражают компы троянами, это ни для кого не секрет, но вот интересно каким образом это происходит...

5
22 июня 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: trivium

Я вроде слышал как-то через Shell JS может выполнять виндовые функции...
Так ли это?

Windows Scripting Host (WSH) позволяет исполнять JScript (диалект JavaScript) сценарии - но это исключительно инструмент для администрирования системы. Сейчас он считается устаревшим и для автоматизации рекомендуется использовать PowerShell 1.0 / 2.0.

1.8K
22 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: hardcase
Они эксплуатирую уязвимости браузеров. Т.е. они выполняют такой код, который приводит к побочным эффектам - позволяет зловреду вырваться из песочницы браузера. Как правило самым "слабым звеном" является не само исполняющее ядро JavaScript, но сторонние аддоны, например Adobe Flash, в этом случае атака выглядит как подгрузка специально сформированного флешового объекта, выполнение которого приводит к заражению целевой машины (получение доступа к диску или оперативной памяти, а уже потом на комп кладется порноблокер).



Это как получается переполнение стэка что ли?
Типа как рекурсией?
Или в браузерах есть какие-то дыры, которые при последовательности символов какой-то, приводят к исключениям или чему-то такому?

5
22 июня 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: trivium
Это как получается переполнение стэка что ли?
Типа как рекурсией?

Классическая атака на стек [COLOR=Silver](слово "стек" пишется через букву Е)[/COLOR] производится не рекурсией, там совсем иные методики, в коих я дилетант полный, - как минимум перезаписывается адрес возврата.

Атакуется либо совершенно конкретный формат - как это было с GIF, либо атакуется конкретный АПИ - как это, возможно, происходит с Flash-ом. Я не знаю как, но дыры в нем находят чуть ли не каждый день, как ими пользоваться также не интересуюсь - мне важнее обновить побыстрее этот сбоючий компонент.

1.8K
22 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: hardcase
Классическая атака на стек [COLOR=Silver](слово "стек" пишется через букву Е)[/COLOR] производится не рекурсией, там совсем иные методики, в коих я дилетант полный, - как минимум перезаписывается адрес возврата.

Атакуется либо совершенно конкретный формат - как это было с GIF, либо атакуется конкретный АПИ - как это, возможно, происходит с Flash-ом. Я не знаю как, но дыры в нем находят чуть ли не каждый день, как ими пользоваться также не интересуюсь - мне важнее обновить побыстрее этот сбоючий компонент.



Слово stack читается именно как стЭк...

2.1K
22 июня 2010 года
Norgat
452 / / 12.08.2009
Цитата: trivium
Слово stack читается именно как стЭк...



http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%BE%D0%B2

по теме... один хакер искал дырки в .pdf простым перебором наборов битов в файле... причём довольно успешно(нашёл кучу дырок)... этим он вроде выйграл какой то приз на последнем оф. соревновании хакеров...

а вообще, думаю эта статья вам будет интересна

366
22 июня 2010 года
int
668 / / 30.03.2005
В журнале Хакер была как минимум одна статья про запуск вредоносного кода из браузера, причём, в этом году. Советую поискать.
1.8K
23 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: Norgat
http://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA_%D0%B2%D1%8B%D0%B7%D0%BE%D0%B2%D0%BE%D0%B2

по теме... один хакер искал дырки в .pdf простым перебором наборов битов в файле... причём довольно успешно(нашёл кучу дырок)... этим он вроде выйграл какой то приз на последнем оф. соревновании хакеров...

а вообще, думаю эта статья вам будет интересна



Правил русского языка описывающих чтение слова stack как стек нету...
А вот английская буква 'a' всегда читается как 'э' ну в некоторых случаях как 'а', ну никак не как 'е'...

1.8K
23 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: int
В журнале Хакер была как минимум одна статья про запуск вредоносного кода из браузера, причём, в этом году. Советую поискать.



А как примерно она называлась?

366
23 июня 2010 года
int
668 / / 30.03.2005
Названия не помню, но статейка была не маленькая, на несколько страниц.
5
23 июня 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: trivium
Правил русского языка описывающих чтение слова stack как стек нету...
А вот английская буква 'a' всегда читается как 'э' ну в некоторых случаях как 'а', ну никак не как 'е'...

Тоисть в руском изыке слава как слышыца так пишуца? :D

253
23 июня 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: hardcase
Тоисть в руском изыке слава как слышыца так пишуца? :D


Шшш... не разрушай мечку человека об упорядоченном, он только-только пришёл в наш мир :rolleyes:

1.8K
23 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: hardcase
Тоисть в руском изыке слава как слышыца так пишуца? :D



Ну поучи инглиш чуток, тогда станет понятней ;)

5
23 июня 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: trivium
Ну поучи инглиш чуток, тогда станет понятней ;)


Не спорю, мой английский далек от идеала. Но все же я дам вам хороший совет: узнайте сперва факты, а лишь потом извращайте их как угодно.

1.8K
26 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: hardcase
Не спорю, мой английский далек от идеала. Но все же я дам вам хороший совет: узнайте сперва факты, а лишь потом извращайте их как угодно.



Какие факты?
Где в чём?
Там и стэк и стек используется.
И это английское слово, буквы Е там отродясь не было и не мели чушь...

8.4K
26 июня 2010 года
z0rch
275 / / 02.09.2008
можно заглянуть в словари
[QUOTE=lingvo && google.translate && ...]
stack - [стэ́к] - стек[/QUOTE]
да, читаем мы именно "стэк", но в русском языке принято писать "стек"
1.8K
26 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: z0rch
можно заглянуть в словари

да, читаем мы именно "стэк", но в русском языке принято писать "стек"



Принято, но правил нету...
Как хочешь так и пиши...
Пора использовать в русском языке русские слова, а не всякие англицизмы...
А вообще я про JS спрашивал, а не правила написания иностранных слов в русском языке...

8.4K
26 июня 2010 года
z0rch
275 / / 02.09.2008
простите, но вместо того, чтобы 4 дня доказывать всему миру [COLOR="DimGray"](о как я, codenet-наше всё:D)[/COLOR] вашу правоту в написании слова "стек", учитывая что вы спрашивали про js, а не про правильное написание иностранных слов, можно было потратить 10 минут, подобрать нужный запрос поисковой системе и выйти хотя бы на эту статью, там вкратце описано как вирус попадает на сайт и как оттуда начинается заражение.
1.8K
26 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: z0rch
простите, но вместо того, чтобы 4 дня доказывать всему миру [COLOR="DimGray"](о как я, codenet-наше всё:D)[/COLOR] вашу правоту в написании слова "стек", учитывая что вы спрашивали про js, а не про правильное написание иностранных слов, можно было потратить 10 минут, подобрать нужный запрос поисковой системе и выйти хотя бы на эту статью, там вкратце описано как вирус попадает на сайт и как оттуда начинается заражение.



Я никому ничего не доказывал, а отвечал на флэймы и оффтопы тупые...
А та статья как и почти все статьи в инете не раскрывает сути проникновения и скачивания джаваскриптом из инета вредоносного ПО...
Вам следует внимательнее подбирать ссылки, которые вы даёте...
Уж я потратил не 10 минут, а гораздо больше в поисках этой инфы...
Но это как бы инфа из "прайвэта"...
Ну да ладно...
Закрываем тему короче...

536
26 июня 2010 года
alex-kniaz
382 / / 07.08.2008
Цитата:
Пора использовать в русском языке русские слова, а не всякие англицизмы...


Придумайте замену для слова пинг - "проверка времени отзыва компьютера по сети" что ли? Нет уже. Длинно.
И вообще вы бы лучше думали не о том что язык не правильный, а об улучшении чего-то более материального. Желально - российского.

З.Ы. когда придумает удобную замену пингу - продолжим разговор про "стэк"/"стёк"/"стек", а то начнём обзывать стёк "зарегистрированной областью памяти"

По сабжу : JS заставляет уязвимость с системе выполнить код. Например может быть и переполнение "зарегистрированной области памяти"

З.Ы. Самая универсальная уязимость (может выполнить любой код) это прокладка между креслом и клавиатурой

8.4K
26 июня 2010 года
z0rch
275 / / 02.09.2008
Цитата: trivium
А та статья как и почти все статьи в инете не раскрывает сути проникновения и скачивания джаваскриптом из инета вредоносного ПО...
Вам следует внимательнее подбирать ссылки, которые вы даёте...


хм, можно внимательно почитать внимательно подобранную статью и немного вдуматься...
[quote=суть проникновения]
добывается пароль от фтп сервера и адрес сайта любым способом, далее заходят на фтп, в код страницы дописывают скрытый iframe, содержащий прямую ссылку на исполняемый файл вируса
[/quote]
javascript ничего не скачивает, а всего лишь "направляет" на исполняемый файл вируса.

1.8K
27 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: z0rch
хм, можно внимательно почитать внимательно подобранную статью и немного вдуматься...


Ну так прочти и вдумайся... Я для себя там ничё нового не нашёл...

Цитата: z0rch
javascript ничего не скачивает, а всего лишь "направляет" на исполняемый файл вируса.



И как же она направляет?
Тупым top.location.href?
А потом юзер сам качает и запускает вирус?
Ну это как бы не хак...

5
27 июня 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: trivium
Тупым top.location.href?
А потом юзер сам качает и запускает вирус?
Ну это как бы не хак...


Вообще-то это самый действенный способ запуска вредоносного кода.

1.8K
27 июня 2010 года
trivium
128 / / 31.01.2010
Цитата: hardcase
Вообще-то это самый действенный способ запуска вредоносного кода.



Ну эт еси за компом сидит мазохист...
Ну или блондинко....

536
27 июня 2010 года
alex-kniaz
382 / / 07.08.2008
Представьте - мазохистов и блондинок много. Также можно узнать к какой проге ищет кряк жертва (если ищет) и кинуть эту фигню (можно даже с кряком) - тогда количество мазохистов (и возможно блондиок) увеличится в разы

Можно ещё исхитриться как с сайтами-"антивирусами" (помните надеюсь такие, не те что visrustotal.com а что под оболочку винды косили)

P.S. Как говорил (вроде Митник) на данный момент самый уязвимый компонент компьютера - пользователь. Что впрочем не запрещает, если найдётся уязвимость позволяющая выполнить код без юзера - облегчить его работу
536
27 июня 2010 года
alex-kniaz
382 / / 07.08.2008
Кстати переполение вроде работает так
JS -> Функция браузера(или плагина)
Допустим функция фиксированно принимает 4 Кг данных и в ней не предусмотрели проверки.
Тогда если мы кинем 5Кб, среди которых 4-данных, 1-вредоносный код, то получим картину (в браузере или программе)
[функция] | данные | код функции | [/функция] - в нормальном фварианте
[функция] | данные | 1-Кг вреоносного кода + остаток функции | [/функция] - в варианте если хак удался
Соотвестственно по окончании приёма дынных от JS выполнится вредоносный код
287
28 июня 2010 года
Shiizoo
958 / / 14.03.2004
Цитата: trivium
Правил русского языка описывающих чтение слова stack как стек нету...
А вот английская буква 'a' всегда читается как 'э' ну в некоторых случаях как 'а', ну никак не как 'е'...



"jam" пишется как "джем"; "dandy" пишется как "денди" (согласно "старому" Розенталю и моему англо-русскому словарю). "stack" пишется как стек (и "a" соответствует та же фонема, что и в первых двух случаях) согласно Русскому орфографическому словарю Лопатина, а также в соответствии как минимум с тремя русскими изданиями книг зарубежных авторов у меня в наличии (проверил по предметному указателю). Безусловно, можно найти кучу примеров употребления именно "стэк", но я верю, что их меньше и уровень перевода/текста там, вероятно, абы какой. ^)

1.8K
29 июня 2010 года
trivium
128 / / 31.01.2010



Интересная ссыль...
Я так понял, что дыры ищутся в тэге object?
JS фигачит на страницу всякими закодированными изощрёнными способами iframe с размерами 1*1, а в src у него идёт ссылка на страницу кулхацкеров, где вставлен iframe, который при там "умении" так сказать может встроить в себя, ну или мог, хотя наверняка до сих пор дыры есть, шо можно встроить даже exe'шник...

1.8K
01 июля 2010 года
trivium
128 / / 31.01.2010
Интересная хрень...
 
Код:
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
tf = fso.CreateTextFile("c:\\somestuff.txt", true);
tf.WriteLine("Some shit...") ;

Да так можно и файл в автозагрузке создать и через AJAX туда качнуть и зафигачить хоть учe-шник...
Тока канешна надо сначала разрешить все ActiveX...
И работает токмо в ишачке...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог