Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как взломать сайт?

6.2K
20 июля 2007 года
abdyla_v
40 / / 02.02.2006
Есть два поля и внопка :
....................................................
....................................................
<table class="wide_table">
<tr>
<td class="side_td"></td>
<td class="lable_td">Введите логин</td>
<td class="form_td"><input type=text name=login></td>
<td class="side_td"></td>
</rt>
<tr>
<td class="side_td"></td>
<td class="lable_td">Введите пароль</td>
<td class="form_td"><input type=password name=passwd></td>
<td class="side_td"></td>
</tr>
</table>
....................................................
....................................................
<p align="center">
<input type=submit value=Войти name=submit id=submit class="button">
....................................................
....................................................

При нажатии на кнопку входа выполняется код:

if (isset($submit))
{
$query = "SELECT * FROM users WHERE login='$login'";
if ($result = mysql_query($query,db_connect()))
{
if (mysql_num_rows($result) > 0)
{
if ($user=mysql_fetch_array($result))
{
$temp_id=$user["id"];
$query2="SELECT * FROM users,groups,user_group WHERE user_group.id_user=$temp_id AND user_group.id_group=groups.id";
$result2=mysql_query($query2,db_connect());
if ($groups=mysql_fetch_array($result2))
{
if ($login === $user["login"])
{
if (md5($passwd) === $user["passwd"])
{
session_start();
$cur_user=$user["login"];
$cur_group=$groups["groups"];
$cur_user_group_c=gzcompress(serialize($groups));
setcookie("cur_user_group_c",$cur_user_group_c,time()+7200);
setcookie("cur_group",$cur_group,time()+7200);
setcookie("cur_user",$cur_user,time()+7200);

//session_register('cur_user_group');
?><script language="javaScript">
document.location.replace("main.php");
</script>
<?
exit;
}
else {print "<center><font size=5 color=#CC0000>Неправильный пароль!!!</font></center>";}

}
else {print "<center><font size=5 color=#CC0000>Неправильный логин!!!</font></center>";}
}
else {print mysql_error();}
}
}
}
else {die("Couldn't retrieve authorization data, please try again later");}
}

ВОПРОС: Можна ли взломать такую реализацию! Тобиш ввести в поля ввода такие значия чтобы мы смогли перейти на main.php.
10K
20 июля 2007 года
m0zg
41 / / 11.10.2006
А это Web-программирование, да? =))
6.2K
20 июля 2007 года
abdyla_v
40 / / 02.02.2006
Да веб! Написано с использованием php и mysql!
13K
20 июля 2007 года
whitehood
73 / / 02.11.2006
SQL иньекцию применить можно, но от неё мало смысла так как проверяется введенный логин в который можно подставить кусок SQL кода с логином из БД, а это не прокатит.
По моему мнению идентификацию пройти нельзя.
P. S. слишком много проверок, можно было сделать по проще.
7.8K
21 июля 2007 года
Tingo
201 / / 17.05.2007
Научитесь код оформлять!
Без подсвеика ии стиля!
Ужос! Читать страшно.
347
21 июля 2007 года
Maniak
319 / / 05.11.2005
Цитата: whitehood
SQL иньекцию применить можно, но от неё мало смысла так как проверяется введенный логин в который можно подставить кусок SQL кода с логином из БД, а это не прокатит.
По моему мнению идентификацию пройти нельзя.
P. S. слишком много проверок, можно было сделать по проще.


где какие проверки? че то я не понял...
вот кусок кода:

 
Код:
f (isset($submit))
{
$query = "SELECT * FROM users WHERE login='$login'";
if ($result = mysql_query($query,db_connect()))
{
if (mysql_num_rows($result) > 0)
{
if ($user=mysql_fetch_array($result))
....

никаких проверок там нету...посему лепим: ?login=login' union ...и т.д.
ЗЫ:а ты что такой прям мощный хацкер что видишь код скриптов?)))))
13K
22 июля 2007 года
whitehood
73 / / 02.11.2006
вот кусок кода:
 
Код:
...
if ($login === $user["login"])
{
if (md5($passwd) === $user["passwd"])
...

Сравниваем запрос из формы, с данными из базы.
Допустим мы в login записали что то типа ' or 1 /*
потом проверяем "' or 1/*" === "some_login"
и можно идти лесом.
Если я не прав, выкладываем эксплоит.
Так же если включено автодабавление кавычек aka magic_quotes_gpc, то про эти шалости можно забыть.

Цитата:

ЗЫ:а ты что такой прям мощный хацкер что видишь код скриптов?)))))


Так код весь нарисован в виде буковок, и видеть надо только необходимое.

347
22 июля 2007 года
Maniak
319 / / 05.11.2005
я вапщето предлагал залесть в вервую проверку, еще до апроверки логина и пароля, именно вот сюда:
 
Код:
f (isset($submit))
{
$query = "SELECT * FROM users WHERE login='$login'";
if ($result = mysql_query($query,db_connect()))
{
if (mysql_num_rows($result) > 0)
{
if ($user=mysql_fetch_array($result))
....

сдесь же уже выполняется sql запрос...
разве не получится?
например так хотябы:
login=login' union select '<?...exploit...?>' outfile 'exploit.php
13K
22 июля 2007 года
whitehood
73 / / 02.11.2006
 
Код:
login=login' union select '<?...exploit...?>' outfile 'exploit.php

Нечто вроде этого может и сработает, зальём файл на сервер, ну а смысл?
P. S.
Это надо у топикстартера спрашивать что он имел ввиду под "взломать сайт"
Обход аутентификации аля неавторизованный доступ или что то ещё.
347
22 июля 2007 года
Maniak
319 / / 05.11.2005
смысл в том что это будет r57, а дальше можно дефейсить или еще что нибудь...
347
22 июля 2007 года
Maniak
319 / / 05.11.2005
спасиба за антирепутацию - антихакеры хреновы....ггггггг......лучшеб мазгой параскинули и падумали как защититься, может быть меньше взломов бы было...
цитата их "цельно-металическая оболочка" С.Кубрик - "Если бы небыло таких далбаебав как ты - в мире давно прекратилось бы воровство"...
6.2K
23 июля 2007 года
abdyla_v
40 / / 02.02.2006
Цитата: whitehood

P. S.
Это надо у топикстартера спрашивать что он имел ввиду под "взломать сайт"
Обход аутентификации аля неавторизованный доступ или что то ещё.



ВОПРОС: Можна ли взломать такую реализацию!
Тобиш ввести в поля ввода такие значия чтобы мы смогли перейти на main.php.

И чё тут не понятного? Что нужно ввести пользователю каторый не знает ни логина ни пароля в поля что бы его пустило на сайт?
P. S. Если такое возможно ввобще!

15
23 июля 2007 года
shaelf
2.7K / / 04.05.2005
>>И чё тут не понятного?
Может Ваше не совсем культурное поведение?
>>Что нужно ввести пользователю...
Знания в Вашу голову! Но это сделать сложно, т.к. Вы ищите готового ответа.
6.2K
23 июля 2007 года
abdyla_v
40 / / 02.02.2006
Мне интиресно можна ли сделать то что я спросил? А если можна то как! Докажите! А если нет то значит та реализация которую я привел вполне функциональна!
15
23 июля 2007 года
shaelf
2.7K / / 04.05.2005
>>Докажите!
Ещё раз доказывает то, что разговаривать Вы не умеете. Тут Вам доказывать никто ничего не собирается. На "слабо" в детском саду берите. Тему закрываю в связи с переходом в флут и некоректного отношения автора к посетителям форума.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог