ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Безопасность и Уязвимости > Уязвимости
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

фильтрация параметров
  #1  
Старый 04.11.2009, 06:27
Аватар для svolarga
svolarga
Новичок
Регистрация: 29.10.2009
Сообщений: 3
Провел на форуме:
7123

Репутация: 0
Unhappy фильтрация параметров

Здравствуйте!
Я в этой теме новичок, пытаюсь разобраться и честно гуглю, но уже всю голову сломал. Помогите пожалуйса...

1. Ковырял сайт, нашел внутри фрейма ссылку вот такого вида http://10.10.10.10:10006/WWWTree/Default.aspx?param=id_user;10;2009;RU
То есть не нужно даже никакого пароля, чтобы посмотреть всю инфу о юзере и его финансовый отчет за выбранный период.
Передаются 4 параметра (номер юзера, месяц, год, язык), и работает вся эта хрень только с корректными данными. Если пихать в эти параметры что-то откровенно левое, то перебрасывает на дефолтовую странцу, следовательно, грубые ошибки обрабатываются. Но вот например 200 месяц 3000 года - хавает нормально.
Пробовал добавлять в конец строки различные хитрые приблуды типа UNION, ставил кавычки, плюсы и т.д. (ну короче самые распространенные и типичные добавки) - реакция нулевая, все что после 4-го параметра уже не воспринимается. Или я просто что-то не так делаю.

Какие мысли есть по этому поводу? как можно обойти фиьтрацию данных в параметрах и сотворить что-нибудь полезное?


2. Искал дальше и обнаружил, что на сайт можно авторизоваться не только через форму, которая постит сама в себя, но и по ссылке типа http://сайт/_tree.php?login=&password=
Соответственно пробовал покрутить тут что-то. Добавлял кавычки, юнионы, [] - тоже ничего не получил. Что примечательно, если вообще не указывать пароль, то выводится инфа на самого первого юзера

3. Искал еще дальше и обнаружил, что в другом месте есть ссылка типа http://сайт/index.php?modul=11&d=12,2007
вот тут мне показалось очень интересно следующее:
можно писать всякую ерунду - и она не ругается, но как-то странно реагирует на некоторые символы, а именно:
' заменяет на \'
" заменяет на \"
\ заменяет на \\
+ заменяет на пробел
Если пишу d=12,2007qwe, то он так на странцу и выводит информацию для года 2007qwe, если пишу вобще d=qwe,asd - то выводит для этого месяца-даты. Короче не фильтруется. Пытался запихать туда фразу <?php echo $login; ?> (благо он все равно выводится в этом же отчете) - страница мои наивные поползновения игнорирует напрочь, это просто не отображается.
Нутром чую, что тут где-то есть лазейка, но мозгов не хватает понять где именно и какая.


4. Еще дальше нашел вот такую ерунду:

Warning: Variable passed to each() is not an array or object in /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php on line 406

Warning: Cannot modify header information - headers already sent by (output started at /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php:406) in /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php on line 420

С чем это вообще хоть едят-то?



В общем, вроде где-то во всем этом есть какой-то полудохлый баг, но мне знаний не хватает чтобы его выщемить. Расскажите, пожалуйста, кто и что думает об этом безобразии?..

Последний раз редактировалось svolarga; 04.11.2009 в 06:31..
 
Ответить с цитированием

  #2  
Старый 04.11.2009, 06:46
Аватар для keng
keng
Познающий
Регистрация: 09.04.2008
Сообщений: 79
Провел на форуме:
463189

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

Привет! Вот хорошая статья на эту тему.
 
Ответить с цитированием

  #3  
Старый 04.11.2009, 07:03
Аватар для Ctacok
Ctacok
Moderator - Level 7
Регистрация: 19.12.2008
Сообщений: 1,203
Провел на форуме:
5011696

Репутация: 2221


По умолчанию

Цитата:
Сообщение от keng  
Привет! Вот хорошая статья на эту тему.
Там описана SQL иньекция в MySQL, а у него скорее всего MSSQL.

ТС, попробуй 1' or 1=@@version.
Если выведет ошибку, то прочитай её полностью, если заработает как надо, то в ошибке будет версия MSSQL. А дальше читай мануалы по MSSQL иньекциям.
 
Ответить с цитированием

  #4  
Старый 04.11.2009, 10:25
Аватар для Dyxxx
Dyxxx
Участник форума
Регистрация: 16.02.2009
Сообщений: 191
Провел на форуме:
879928

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

Цитата:
Сообщение от Ctacok  
Там описана SQL иньекция в MySQL, а у него скорее всего MSSQL.

ТС, попробуй 1' or 1=@@version.
Если выведет ошибку, то прочитай её полностью, если заработает как надо, то в ошибке будет версия MSSQL. А дальше читай мануалы по MSSQL иньекциям.
Код:
Warning: Variable passed to each() is not an array or object in /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php on line 406
сомневаюсь я что на unix ставят mssql )
 
Ответить с цитированием

  #5  
Старый 04.11.2009, 22:42
Аватар для svolarga
svolarga
Новичок
Регистрация: 29.10.2009
Сообщений: 3
Провел на форуме:
7123

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

2 Ctacok
спасибо, обязательно прочитаю


Вот по поводу СУБД, я сам что-то в легком дауне нахожусь... Насколько мне известно, там именно MS SQL, люди оттуда так говорят. И еще говорят что там ASP.
Меня смущает что где-то используется ASP, а где-то PHP... Как будто в одной системе за каким-то хреном применили разные технологии. Хотя может быть разработчикам просто дали все это на откуп, а над разными частями функционала работали разные команды. Вот и долбятся к одной БД разные клиенты. Но все равно это как-то странно.
 
Ответить с цитированием

  #6  
Старый 04.11.2009, 23:05
Аватар для svolarga
svolarga
Новичок
Регистрация: 29.10.2009
Сообщений: 3
Провел на форуме:
7123

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

1' or 1=@@version ошибку не выдает, обрабатывается адекватно
 
Ответить с цитированием

  #7  
Старый 06.11.2009, 10:56
Аватар для mr.celt
mr.celt
Участник форума
Регистрация: 06.02.2008
Сообщений: 110
Провел на форуме:
217423

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

Цитата:
Сообщение от svolarga  
http://10.10.10.10:10006/WWWTree/Default.aspx?param=id_user;10;2009;RU

http://сайт/_tree.php?login=&password=

Warning: Variable passed to each() is not an array or object in /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php on line 406
че-то меня смущает структура URL и используемые технологии ...
не может быть так, что web-приложения расположены на разных физических серваках и конектятся к одной базе?
 
Ответить с цитированием

  #8  
Старый 09.11.2009, 14:34
Аватар для Termin@L
Termin@L
Участник форума
Регистрация: 07.12.2006
Сообщений: 192
Провел на форуме:
492591

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

Цитата:
Warning: Variable passed to each() is not an array or object in /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php on line 406

Warning: Cannot modify header information - headers already sent by (output started at /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php:406) in /usr/local/httpd/virtual/адрес_сайта/modules/users/users_class.php on line 420

С чем это вообще хоть едят-то?
первая строчка значит, что в цикл - foreach в качестве первого параметра передался не массив, что скорее всего вызвано пустой выборкой из базы, а вторая вызвана тем, что выведен текст ошибки, а где то позже скрипт пытается отправить заголовок через функцию header().
А вот по поводу всего остального - ссылку в студию, тогда разберемся.
 
Ответить с цитированием

  #9  
Старый 09.11.2009, 15:14
Аватар для Ins3t
Ins3t
Участник форума
Регистрация: 18.07.2009
Сообщений: 272
Провел на форуме:
2083691

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

Цитата:
Сообщение от mr.celt  
не может быть так, что web-приложения расположены на разных физических серваках и конектятся к одной базе?
Почему же не может?
Еще как может, если разрешен удаленный доступ к БД.
 
Ответить с цитированием

  #10  
Старый 09.11.2009, 17:46
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Цитата:
Сообщение от Termin@L  
первая строчка значит, что в цикл - foreach в качестве первого параметра передался не массив, что скорее всего вызвано пустой выборкой из базы
Там нету ни слова о цикле foreach.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров в приложение POS_troi С/С++, C#, Delphi, .NET, Asm 7 28.07.2009 13:45
Китай: фильтрация "вредных" сайтов все равно будет проводиться tux Мировые новости 1 04.07.2009 06:55
Поднять Soscks с авторизацией без возможности определения параметров запуска. nikp Анонимность 0 02.07.2009 18:34
SCC Программа для смены параметров системы Serber Разное - Покупка, продажа, обмен 14 01.06.2009 23:59
передача параметров в строке j0y PHP, PERL, MySQL, JavaScript 13 13.06.2005 23:50



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


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




ANTICHAT.XYZ