Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.01.2012, 23:54   #1
Ma7
 
Регистрация: 04.09.2011
Сообщений: 9
Вопрос Проблемы с SQL-инъекцией и XSS

Вечер добрый, форумчане! Помогите советом, есть несколько вопросов.
1. Есть скрипт авторизации -
форма
Код:
  <form action="login_on.php" method="POST">
  <p>Логин</p>
  <p><input type="text" name="login"></p>
  <p>Пароль</p>
  <p><input type="password" name="password"></p>
  <p><input type="submit" name="submit" value="Войти"></p>
  </form>
и обработчик
Код:
$login=$_POST['login'];
$password=$_POST['password'];
$result = mysql_query("SELECT * FROM users 
  WHERE login='$login' && password='$password'");
Пробую обойти авторизацию инъекцией на логин ivan' -- , вместо зарегистрированного пользователя ivan, соответственно с произвольным паролем. Не приходит. Видимо экранируются пробелы и кавычка. Добавляю в скрипт строку,
Код:
ini_set(’magic_quotes_gpc’, ‘off’);
которая должна отключить magic_quotes_gpc и соответственно экранирование спецсимволов. Как быть?

2. Необходимо реализовать XSS, лучше активную. Соответственно нужно разработать какой-то функционал, который позволит пользователю реализовать XSS. Какой функционал проще реализовать и какую XSS сможет реализовать пользователь в соответствие с этим функционалом.

Спасибо.
Ma7 вне форума Ответить с цитированием
Старый 06.01.2012, 23:59   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Сомневаюсь, что на этом форуме кто-то согласиться Вам помочь.
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 07.01.2012, 01:06   #3
Ma7
 
Регистрация: 04.09.2011
Сообщений: 9
По умолчанию

P.S. Скрипт мой. Дыры в нем сделать нужно по учебе, чтобы студенты изучали уязвимости, а затем их закрывали.
Ma7 вне форума Ответить с цитированием
Старый 07.01.2012, 11:28   #4
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Во-первых, настройте профилирование в xDebug, иначе будете очень долго возиться.
Во-вторых, Вы по моему путаете XSS и SQL-инъекцию. Что конкретно вам нужно?
Виталий Желтяков вне форума Ответить с цитированием
Старый 07.01.2012, 11:43   #5
Ma7
 
Регистрация: 04.09.2011
Сообщений: 9
По умолчанию

Спасибо, не знал о xDebug.
Под цифрой один - форма и скрипт авторизации, которую нужно обойти с помощью SQL-инъекции. Инъекция направлена на обход проверки пароля при известном зарегистрированном имени.
XSS нужно предусмотреть на другой странице, которой еще нет. Вопрос в том, какой функционал предусмотреть на этой странице и как при этом функционале будет реализовываться XSS?
Ma7 вне форума Ответить с цитированием
Старый 07.01.2012, 18:57   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

это точно не xss, а чисто воды sql инъекция, к тому же - покажите её нам?
ADSoft вне форума Ответить с цитированием
Старый 07.01.2012, 21:07   #7
Dexes
Пользователь
 
Регистрация: 27.12.2011
Сообщений: 86
По умолчанию

Цитата:
Сообщение от Ma7 Посмотреть сообщение
Под цифрой один - форма и скрипт авторизации, которую нужно обойти с помощью SQL-инъекции. Инъекция направлена на обход проверки пароля при известном зарегистрированном имени.
В поле login я введу имя (например Вася), в поле пароль я введу
' or '' = '' '
В итоге выполняется такой SQL-запрос:
Код:
SELECT * FROM users 
  WHERE login='Вася' && password=' ' or '' = '' ' '
Правда выведутся все пользователи, но факт остается фактом, доступ к информации получен.

ADD

Если знать имя поля, содержащее пароль, в таблице, то можно ввести вот такой вариант
В поле login:
Вася' and
В поле password
= ' && password=
В итоге выполняется такой запрос
Код:
SELECT * FROM users 
  WHERE login='Вася' and ' && password=' = ' && password='
Тогда выведется информация о пользователе с именем Вася.

Последний раз редактировалось Dexes; 07.01.2012 в 21:53. Причина: ADD
Dexes вне форума Ответить с цитированием
Старый 08.01.2012, 04:14   #8
Alexei91
Заблокирован
Форумчанин
 
Аватар для Alexei91
 
Регистрация: 30.12.2009
Сообщений: 544
По умолчанию

ТС, такие вещи по форумам не спрашивают. И если уж точно надо, то делают самостоятельно. Херней страдаешь.
Темы для WordPress. Русские WordPress шаблоны
Alexei91 вне форума Ответить с цитированием
Старый 08.01.2012, 10:12   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

совет - формируйте строку для SQL и смотрите что получается при ваших инъекциях - жизнеспособный запрос или нет. По моему - что то с кавычками (типами их) у вас напутано
ADSoft вне форума Ответить с цитированием
Старый 08.01.2012, 10:48   #10
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Есть такая хорошая книга - Кузнецов. Головоломки для хакеров на PHP.
Почитайте там всё понятно и грамотно описано.
Виталий Желтяков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
xss iframe kSower Компоненты Delphi 0 06.09.2011 16:10
XSS атаки 4epT Безопасность, Шифрование 4 19.01.2011 10:58
Ajax и XSS CraZZy RabbIt JavaScript, Ajax 4 30.03.2010 22:16
Проблемы с формированием SQL-запроса Nigadyai БД в Delphi 16 11.03.2010 19:50
Автоматизированный поиск SQL и XSS-уязвимостей Lazar Безопасность, Шифрование 1 21.07.2009 06:36