Вообще, вот пару багов в некоторых сайтах:
mutoolz он сохраняет в Cookie пароли на входы, которые хранятся в tmp/cache эта уязвимость в своё время была на многих сайтах MU online
Уязвимость довольно простая, но досихпор актуальна на многих сайтах.
Решение проблемы: создать файл .htacces с такими строками
Quote
Order allow,deny Deny from all. Allow from 127.0.0.1. Order allow,deny Deny from all. Allow from 127.0.0.1.
поместить его в папку tmp
muweb или самописные сайты.
Баг в Раскидке поинтов, если у нас имеется на чаре не раскиданные поинты (допустим 100 поинтов) заполняем поля:
Strenght: 50 Vitality: 20 Energi: 38 Agiliti: 0.5
скрипт будет выполнен наполовину, то есть на Strenght u на Vitality и на Energi добавятся статы, но при прочтении Agiliti т.к. число нецелое произойдет сбой поинтов и статы останутся на месте.
SQL inj подверженны большинство самописных сайтов. Например скрипт смены пароля
Quote
$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);
Здесь мы видим
Quote
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 то пароль будет изменён.
массовое изменение пароля.
Quote
login: ' OR '1'='1
Pass: ' OR '1'='1
new pass: 123любой123
И скрипт выполнится для всех пользователей. Серваки так вешать можно. Как исправить Администратору:
Сделать проверку на SQL inj при вводе или проверки вводимых символов.