-Поиск по дневнику

Поиск сообщений в СЕОшник

 -Подписка по e-mail

 

 -Интересы

php seo фото nikon

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 14.02.2009
Записей:
Комментариев:
Написано: 23

Записи с меткой ucoz

(и еще 1954 записям на сайте сопоставлена такая метка)

Другие метки пользователя ↓

addurl anti-captcha javascript php sape seo ucoz wmz yandex антикапча бегун идеи империя инвайт капча непот платные ссылки стратегия тиц цель эксперименты яндекс
Комментарии (3)

Спамер ucoz`а

Дневник

Понедельник, 27 Апреля 2009 г. 13:44 + в цитатник

Где-то месяц назад решил как-то автоматизировать постинг сообщений в гостевые юкоза и разбирая их систему впервые натолкнулся на довольно интересный способ защиты.

Сообщение постилось при отправке запроса по адресу

http://$HOST/gb/

В запросе нужно было отдать все куки полученные при загрузке страницы и вот такой POST-массив:

$postdata = array(
	"id" => '/gb/',
	"name" => "[имя]",
	"message" => "[само сообщение]",
	"email" => "",
	"www"	=> "",
	"code" => "[циферки с капче]",
	"a" => "[этот парамерт есть в странице]",
	"m"	=> "[этот парамерт есть в странице]",
	"syst" => "",
	"sos" => [гвоздь]
);

Как видно, почти все данные можно вытащить из страницы, с капчей тоже проблем нет (сливаем ее с полученными куками).  Но я сказал “почти” не спроста. sos - этого параметра в странице нет, а без него спамить не получится. После не очень продолжительного ломания мозга я обратил внимание на след кусок JS-кода (табуляцию сам проставил):

var _y8M='';
function _dS(s)
{
	var i;
	var r="";
	var l=s.length-1;
	var k=s.substr(l,1);
	for (i=0;i<32){
		c=127-(32-c);
		}
		r+=String.fromCharCode(c);
	}
return r;
}
_y8M=_dS('>kprwv"v{rg?$jkffgp$"pcog?$uqu$"xcnwg?$37234;746:$"1@2');

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

<input name="sos" type="hidden" value="1501295248" />

Как все просто. Осталось вытащить из страницы зашифрованную строку и преобразовать ее. Вот функция на PHP, которая делает нужное преобразование:

function sos_decode($code)
{
	$ret = '';
	$code = stripcslashes($code);
	$l = strlen($code)-1;
	$k = substr($code,$l,1);
	for($i=0;$i<$l;$i++){
		$c = ord($code[$i])-$k;
		if($c<32){
			$c = 127-(32-$c);
		}
		$ret .= chr($c);
	}
	return $ret;
}

Вот и все. Я свой спамер так и не написал т.к. не очень он мне нужен, да и с недавних пор описаных действий стало маловато! UCOZ что-то изменил в своей анти-спам защите и с этим я пока не разобрался.

Оригинал статьи


Метки:  

 Страницы: [1]