14:02 Отладка JS сценариев (скриптов) | |
Прежде всего нам нужен «Редактор сценариев». Он есть в пакете MS Office 2007. В более поздних версиях он исключен. Итак. Но прежде СТОП… ВСЕ ДЕЛАЕМ НА ВИРТУАЛКЕ!!! Не забываем. 1. Ставим компонент Office 2007 – «Редактор сценариев». Остальное можно выключить. Теперь можем отлаживать JS-сценарии. 2. Исполняемый файл редактора сценариев – MSE7.EXE, находится в каталоге «c:\Program Files\Common Files\microsoft shared\OFFICE12\», но запускать его пока не будем. 3. Запускаем cmd.exe. В консоли вводим команду исполнения нужного нам сценария: wscript /x script.js Ключ «/x» означает исполнения сценария script.js в отладчике. В появившемся окне выбираем «Да» – запуск сценария в отладчике.
4. Появляется окно отладчика. Программа сценария останавливается на первой команде. 5. Теперь можем пошагово трассировать программу. Далее стандартная отладка программ – ставим брейкпойнты, отслеживаем значения переменных (Watches). Трассировка: F11 – с заходом во внутрь процедур-функций F10 – проход кода процедур за раз. 6. Полную детализацию нашего сценария представлять не буду – он обфусцирован – много ложных вызовов. Кто знаком, что такое отладка – может выполнить сам. Могу лишь указать, что его функционал направлен на загрузку исполняемого файла с Интернет ресурса (точнее там 2 ссылки) и его запуск. Все построено на методах объекта «XMLHTTP» (по-другому - «XMLHttpRequest» ) Например, на рисунке показан вызов методов «open» и «send» в нашем сценарии. Примечания: 1) Наш сценарий естественно прерывается ввиду недоступности ссылок на Интернет-ресурсы, и мы не увидим запуск загружаемого файла. Выпускать такие программы в свободное плавание я бы не рекомендовал. 2) Для решения задачи можно деобфусцировать сценарий – вручную, что долго. Лучше замутить свой локальный веб-сервак и перенаправить на него обращения сценария. Вместо «ssj.jpg» подсунуть свой безобидный «exe» и увидеть его запуск. НО это тема отдельная.
**************************************************************************************************************************** Отладка JS-сценариев, часть 2 В ряде случаев необходимо провести динамический анализ некоторого программного обеспечения, осуществляющего доступ к Интернет-сайтам. Например, обфусцированный сценарий из нашего предыдущего анализа производит попытку загрузки с Интернет-сайта некоего файла. В прошлый раз ввиду отсутствия доступа по указанным ссылкам работа сценария прерывалась и поэтому, а также в связи с обфускацией кода, мы не знали, что происходит после этого. Давайте попытаемся эмулировать требуемый ресурс. Нам понадобится программное обеспечение, позволяющее создавать локальный WEB-сайт под Windows. Например, «Vertrigo». Загружаем, устанавливаем «Vertrigo» и стартуем сервер. Так выглядит стартовое окно запуска нашего WEB-сервера (у меня очень «древняя» версия).
По-умолчанию, дерево нашего WEB-сайта размещается в каталоге «C:\Program Files\Vertrigo\www». Браузером лезем на localhost - убеждаемся, что стартовая страница сервера грузится успешно. Далее, например, мы установили, что наш сценарий лезет по ссылкам «http://www.aciteb.org/wp-content/themes/wen-associate/assets/css/msg.jpg» «http://www.fuzionnet.com/wp-content/themes/evolve/assets/css/shortcode/msg.jpg». Для сопоставления доменов «www.aciteb.org» и «www.fuzionnet.com» локальному домену (localhost) в файле «c:\WINDOWS\system32\drivers\etc\host» делаем записи:
Таким образом, все запросы к указанным доменам будут перенаправляться на localhost, а значит на наш локальный WEB-сервер. Перегружаем «виртуалку» после этого (чтобы наверняка наша система подхватила измененный файл host). Остается только в дереве каталогов нашего сервера создать файл «msg.jpg». Т.е. создаем каталоги: «c:\Program Files\VertrigoServ\www\wp-content\themes\evolve\assets\css\shortcode\»; «c:\Program Files\VertrigoServ\www\wp-content\themes\wen-associate\assets\css\». В них помещаем тестовый исполняемый файл, в качестве которого можно взять хоть calc.exe, но лучше файл со звуковым сопровождением, так как его исполнение может производиться в невидимом режиме. Для себя я выбрал флеш-анимацию. После того, как файл в нужных местах создан, можем исполнять сценарий в песочнице или отладчике. Исполнение тестового файла успешно происходит, смотрим логи песочницы, журналы браузера (в нашем случае все работает через WinAPI) и убеждаемся в том, что наш сценарий предназначен для загрузки и исполнения стороннего файла.
Малашкевич А.А.
| |
|
Всего комментариев: 1 | |
| |