![]() |
фильтрация параметров
Здравствуйте!
Я в этой теме новичок, пытаюсь разобраться и честно гуглю, но уже всю голову сломал. Помогите пожалуйса... 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 С чем это вообще хоть едят-то? В общем, вроде где-то во всем этом есть какой-то полудохлый баг, но мне знаний не хватает чтобы его выщемить. Расскажите, пожалуйста, кто и что думает об этом безобразии?.. |
Привет! Вот хорошая статья на эту тему. :)
|
Цитата:
ТС, попробуй 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 |
2 Ctacok
спасибо, обязательно прочитаю Вот по поводу СУБД, я сам что-то в легком дауне нахожусь... Насколько мне известно, там именно MS SQL, люди оттуда так говорят. И еще говорят что там ASP. Меня смущает что где-то используется ASP, а где-то PHP... Как будто в одной системе за каким-то хреном применили разные технологии. Хотя может быть разработчикам просто дали все это на откуп, а над разными частями функционала работали разные команды. Вот и долбятся к одной БД разные клиенты. Но все равно это как-то странно. |
1' or 1=@@version ошибку не выдает, обрабатывается адекватно
|
Цитата:
не может быть так, что web-приложения расположены на разных физических серваках и конектятся к одной базе? |
Цитата:
А вот по поводу всего остального - ссылку в студию, тогда разберемся. |
Цитата:
Еще как может, если разрешен удаленный доступ к БД. |
Цитата:
|
| Время: 11:14 |