Архив за год: 2012

Microsoft Facepalm 2012

Майкрософт такой Майкрософт. Ну вот нахрена им люди в техподдержке, если на вопросы живых людей они отвечают как роботы-имбецилы? Задал 4 вопроса, ответили куском текста с сайта, ну не ептель? Нахрена вообще такая “техподдержка”? Маразм крепчает…

VMWare + physical drive vs Android

Некоторое время назад я описывал способ лечения VMWare, которая отказывалась открывать физический диск. С того времени еще не раз сталкивался с прекрасным. Bug #2 Второй баг обнаружился вот просто только что. Перезагрузил Виндовс после установки обновлений и VMWare выдала свое феерическое: The physical disk is already in use (73). Проклиная VMWare Не понимая, что происходит,… Читать далее »

Скрытие кода, метод 5

Следующий код был выдран из тела страницы взломанного сайта, этот javascript вставлял небольшой фрейм (сразу покажу причесанный вид, изначально все было в одну строку и без пробелов, пугающе 🙂 ): var s = »; try { new asd[0] } catch (q) { if (q) r = 1; c = String; } if (r && document.createTextNode)… Читать далее »

Скрытие кода, метод 4

Взято из демо-версии DLE: <?php $_F=__FILE__;$_X=’STRING=’;$_D=strrev(‘edoced_46esab’);eval($_D(‘STRING2==’));?> В коде бросаются в глаза две длиннющие строки в base64, раскодировать “в лоб” можно только вторую, там содержится кусок кода для дешифрации первой строки (STRING=). Причесанный вид файла: $_F = __FILE__; $_X = ‘STRING=’; $_D = strrev( ‘edoced_46esab’ ); eval( $_D( ‘STRING2==’ ) ); edoced_46esab – это всего лишь… Читать далее »

Скрытие кода, метод 3

Не совсем PHP, но тоже может быть интересно. Для вставки в страницы вредительского кода, в частности блоков iframe, используют javascript и данные, закодированные в unicode: <script type="text/javascript">document.write(‘\u003c\u0069\u0066\u0072\u0061\u006d\u0065’)</script> Раскодировать можно с помощью PHP: $str = "\u003c\u0069\u0066\u0072\u0061\u006d\u0065"; $str = preg_replace( "/\\\\u([0-9a-f]{3,4})/i", "&#x\\1;", $str ); $str = html_entity_decode( $str, null, ‘UTF-8’ ); echo $str . "\n"; Чтобы посмотреть,… Читать далее »

Скрытие кода, метод 2

Следующий код был выдран из файла хакеров (или взломщиков или скрипткидсов), в закодированной строке был URL на внешний сайт, с которого подтягивался еще один кусок кода. @eval(decrypt("CODECODE==",$_COOKIE[‘HASH’])); exit; function decrypt($txt,$key){ $txt=base64_decode($txt); $res=""; for($i=0; $i<strlen($txt); $i++){ $c=substr($txt,$i,1); $kc=substr($key,($i%strlen($key))-1,1); $c=chr(ord($c)-ord($kc)); $res.=$c; } return $res; Раскодировывается просто, хотя на вскидку сложнее сказать/увидеть, что за манипуляции производятся со строкой:… Читать далее »

Скрытие кода, метод 1

Один из самых популярных способов скрыть код, часто встречается в темах WordPress и других движков и иногда в самих движках. Код выглядит следующим образом: eval(base64_decode("CODECODECODE==")); eval(gzinflate(base64_decode("CODECODECODE=="))); Первый вариант ломается легко, стоит только раскодировать строку из base64, второй – сложнее, нужно запихнуть все в переменную и сохранить в файл: $text = gzinflate(base64_decode("CODECODECODE==")); $fp = fopen(‘decoded.txt’, ‘w’);… Читать далее »