HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Регулярные выражения и sql инъекции
  #1  
Старый 17.09.2007, 22:58
Satell
Познающий
Регистрация: 13.01.2007
Сообщений: 78
С нами: 10171631

Репутация: 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);
 
Ответить с цитированием

  #2  
Старый 17.09.2007, 23:29
Goudini
Участник форума
Регистрация: 07.06.2006
Сообщений: 146
С нами: 10487223

Репутация: 490
По умолчанию

3)
" or 1=1/*
admin"/*

автору ещё не надоело создавать на разных форумах одни и те же вопросы по php?
 
Ответить с цитированием

  #3  
Старый 18.09.2007, 01:28
Underwit
Banned
Регистрация: 06.10.2006
Сообщений: 288
С нами: 10313060

Репутация: 469
По умолчанию

2) $reg="/\.?gaz\.?/i";
 
Ответить с цитированием

  #4  
Старый 18.09.2007, 07:33
n1†R0x
Постоянный
Регистрация: 20.01.2007
Сообщений: 787
С нами: 10160966

Репутация: 1719


По умолчанию

По поводу третьего: банальная скуля, никакой фильтрации, юзерские данные напрямую идут в запрос. Причем использование $_REQUEST-массива позволяет сделать ЭТО нам аж тремя способами: гет-, пост- и кукис-запрос. Это ведь глупо, как вы не понимаете.

ru.php.net:
mysql_real_escape_string()
mysql_escape_string()

RTFM
 
Ответить с цитированием

  #5  
Старый 18.09.2007, 09:37
Satell
Познающий
Регистрация: 13.01.2007
Сообщений: 78
С нами: 10171631

Репутация: 10
По умолчанию

сенкс, я имею ввиду юзер вводит в форму поиска текст шаблон к примеру ?gaz?, а как из него построить строку регулярного выражения,
т.е. ф-я какая-нибудь которая вставляет символ в середину строки есть?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...