Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Регулярные выражения и sql инъекции |

17.09.2007, 22:58
|
|
Познающий
Регистрация: 13.01.2007
Сообщений: 78
Провел на форуме: 65872
Репутация:
10
|
|
Регулярные выражения и sql инъекции
1)
$arr = array("Gaz","Gazeta","gazirovanniy","glazirovanniy ","Gazenvagen","asdfgazasdfh");
$reg="/.?gaz.?/i";
for($i=0; $i<count($arr); $i++)
{
if (preg_match($reg, $arr[$i])) {
echo $arr[$i];
}
}
почему такое регулярное выражение $reg="/.?gaz.?/i"; выводит слова Gaz, Gazeta, Gazenvagen, asdfgazasdfh,
хотя должно выводить только Gaz?! ведь .? это 0 или 1 символ
2) как вставить точки перед знаками вопроса в такой строчке $reg="/?gaz?/i";
3)
какой sql инъекцией можно "пробить" такой код?
$login = $_REQUEST['login'];
$password = $_REQUEST['password'];
$res = mysql_query('SELECT id FROM users
WHERE login="'.$login.'" AND password="'.$password.'"');
list($user_id) = mysql_fetch_array($res);
session_start();
$_SESSION['authorized'] = isset($user_id);
|
|
|

17.09.2007, 23:29
|
|
Участник форума
Регистрация: 07.06.2006
Сообщений: 146
Провел на форуме: 1652093
Репутация:
490
|
|
3)
" or 1=1/*
admin"/*
автору ещё не надоело создавать на разных форумах одни и те же вопросы по php?
|
|
|

18.09.2007, 01:28
|
|
Banned
Регистрация: 06.10.2006
Сообщений: 288
Провел на форуме: 2741921
Репутация:
469
|
|
2) $reg="/\.?gaz\.?/i";
|
|
|

18.09.2007, 07:33
|
|
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
Провел на форуме: 2924346
Репутация:
1719
|
|
По поводу третьего: банальная скуля, никакой фильтрации, юзерские данные напрямую идут в запрос. Причем использование $_REQUEST-массива позволяет сделать ЭТО нам аж тремя способами: гет-, пост- и кукис-запрос. Это ведь глупо, как вы не понимаете.
ru.php.net:
mysql_real_escape_string()
mysql_escape_string()
RTFM
|
|
|

18.09.2007, 09:37
|
|
Познающий
Регистрация: 13.01.2007
Сообщений: 78
Провел на форуме: 65872
Репутация:
10
|
|
сенкс, я имею ввиду юзер вводит в форму поиска текст шаблон к примеру ?gaz?, а как из него построить строку регулярного выражения,
т.е. ф-я какая-нибудь которая вставляет символ в середину строки есть?
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|