Фев 27

imagesJSantispam WP edition - это плагин для WordPres предназначенный для борьбы со спамом в комментариях. Он позволяет добавлять сообщения пользователям, не требую от них никаких дополнительных действий, при этом значительно усложняет жизнь ботам.  Для тог чтобы пользователь мог оставлять комментарии  у него в браузере должна быть включена поддержка JavScript. Также требуется php5 на сервере.
C алгоритмом примененным в данной защите можно ознакомиться ТУТ

Установка максимальна проста:

  1. Скачайте и распакуйте архив
  2. загрузите плагин на сервер
  3. Активируйте его в админпанели

Готово! Никаких дополнительных настроек не требуется.

Внимание! Данный плагин предназначен для защиты от спама рассылаемого РОБОТАМИ а не долбаебами. Если вы в ручную добавляете какойто безсмысленный комент, и он проходит это не значит что плагин не работает!

Скачать JSantispam WP edition v1.1

written by admin \\ tags: , , , , ,

Фев 24

Обфускация - это процесс затруднения понимания кода, при этом сохраняя его работоспособность. Иногда необходим для некотоых участков кода. Решил написать простенький абфускатор который будет изменять имена переменных, посмотрим насколько это затруднит понимание программы;)
Если порыться в официальной документации по PHP и посмотреть ограничения на имена переменных, мы видим следующее:
имя переменной в PHP может состоять из любых символов, код ASCII которых старше 127, это значит что переменная может состоять и из русских букв, и даже из некоторых непечатных символов.

Написал класс который заменяет имена переменных на новые, генерированные из определенных символов.

Для примера скормим скрипту такой код:

	function fxor($string, $key)
	{
		$slen=strlen($string);
		$klen=strlen($key);
		for($i=0, $j=0; $i < $slen; $i++, $j++)
		{
			if($j == $klen)
				$j=0;
			$string[$i] = $string[$i] ^ $key[$j];
		}
		return $string;
	}

На выходи получаем:

function fxor($   , $    )
	{
		$     =strlen($   );
		$      =strlen($    );
		for($       =0, $        =0; $       <$     ; $       ++, $        ++)
		{
			if($         == $      ) 
				$        =0;
			$   [$       ] = $   [$       ] ^ $    [$        ];
		}
		return $   ;
	}

Такой вот забавный код) Имена переменных заменены на переменные состоящие из непечатного символа xA0
Восприятие кода немного затруднилось. Еще можно убрать все символы n и r получим:

function fxor($   , $    )  	{  		$     =strlen($   );  		$      =strlen($    );  		for($       =0, $        =0; $       <$     ; $       ++, $        ++)  		{  			if($         == $      )   				$        =0;  			$   [$       ] = $   [$       ] ^ $    [$        ];  		}  		return $   ;  	}

Выглядить симпатично))

Онлайн версию скрипта можно потестить тут: http://blog.taran.su/development/obfuscator/
Скачать исходники ТУТ

written by admin \\ tags: ,

Янв 20

Сейчас при стремительном развитие Интернета очень остро стоит проблема спама/флуда и прочих видов нежелательных сообщений, в результате этого даже на самых простых гостевых книгах/формах стоят капчи, что в большинстве случаев очень напрягает тем более что угадывать значение получается не всегда с первого раза.
Идея защиты от спама средствами JavaScript состоит в следующем:

  1. На страницу в форму добавляем скрытое поле с определенным именем и ID
  2. средствами php генерируем уникальный ключ, генерируем JS скрипт который будет присваивать значение этого ключа скрытому полю по его ID
  3. Производим абфускацию JS кода, и выполняем его в браузере пользователя.
    (Абфускация кода нужна для того чтобы ключ не выводился на странице в открытом виде, а получался в результате выполнения скрипта)
  4. При субмите формы проверяем значение скрытого поля, и сгенерированного ключ, если значения совпадают значит все OK.

Такая схема не требует от пользователя никаких действий, у него всего лиш должен быть включен JavaScript, а вот спамерам жизнь затруднит. Конечно значение ключа можно выдрать из DOM и пройти проверку, НО для этого необходимо выполнить JS код средствами спамера , т.к. это не линейная задача (не для PHP) 90% быдло-кодеров с этим не справятся;)

Скриптов по обфускации JS довольно много (я использовал Dean Edwards JavaScript Packer) поэтому задача свелась к написанию функции генератора кода и функции проверки ключа.

array gen_js_key()

Функция для генерация ключа и кода.  Возвращает ассоциативный массив, значение ключа сохраняет в $_SESSION['js_key']

Ключи возврашаемого массива:

[js_key] - униальный ключ

[input] - скрытое поле с уникальным именем и id

[js] - абфусцированный JS код для ыполнения на стороне юзера

bool check_js_key()

Проеряет ключ. Нужно вызывать после субмита формы.

Пимер использования:

<? 
	include('JavaScriptCaptcha.php');
 
	if(!empty($_POST['knopka']))
	{
		if(check_js_key())
			echo 'вы ввели <b>'.htmlspecialchars($_POST['txt']).'</b><br>';
		else 
			echo 'Ключ не подходит<br>';
	}
 
?>
<div id="testjs">
	<h1><b>JavaScript отключен! включите..</b></h1>
</div>
<body OnLoad="JavaScript:window.document.getElementById('testjs').style.display = 'none'">
<form method=post>
	<input type=text name=txt>
<?
	$r = gen_js_key();
	echo $r['input'];
?>
<input type=submit name=knopka>
</form>
<script type="text/javascript">
	<?=$r['js']?>
</script>

Скачать JScaptcha.rar v1.1

В архиве 3и файла:
class.JavaScriptPacker.php – класс обйускации JS
JavaScriptCaptcha.php – файл с необходимыми функциями для генерации и проверки кода
Index.php – пример использования


written by admin \\ tags: , , ,

Янв 12

Shell Dddos-net набор скриптов позволяющий осуществлять Ddos атаки через шелы.
Скрипту для работы даеться список шелов, он автоматически определяет их тип и прогружает свой скрипт, через который в дальнейшем и происходят атаки.

[Установка]
Распаковуем архив. Открываем файл cfg.php, прописуем url к директории где будет находиться скрипт. Здесь же можно добавлять новые типы шелов.
Заливаем на сервак (тот который прописали в конфиге), выставляем права на *.txt файлы 666

[Использование]
Клацаем на вкладочку Load Shell указуем файл со списком шелов (каждый с новой строки) клацаем load. Когда скрипт закончит работу, напишет скок файлов было прогруженно.
На вкладке DDos вбиваем URl сайта, Time - продолжительность атаки в секундах, и Thr - кол-во запусков каждого скрипта (типа патоки). Опционально можно задать User-agent, Referer, и порт. Клацаем Ddos и ждем пару минут пока все запуститься. Все)
Вкладка Check предназначена для проверки уже прогруженных скрипто на валидность.

Скачать Shell Ddos-net v1.0

written by admin \\ tags: , ,