|
|
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
BlazkowiczAlexey TominУ оракла есть кэш, где хранятся все запросы. Если используются bind, то каждый последующий запрос находится в кэше- уже готовый к исполнению. Если нет- не находится и, более того, выносит оттуда все остальные "приличные" запросы (кэш общий на instance, если не путаю). По-моему там есть некоторые оптимизации, которые умеют выделять параметры запроса, даже если они заинлайнены в SQL. Но, конечно, полагаться на эти фичи, не зная о них и не понимая того как они работают бессмысленно. Опыт показал, что в 9ке их нет. К 10ке всё переписали по уму, так что не проверяли. И не хотелось :D ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:39 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
HoBTIDПроверьте на рабочей базе, что будет, если в параметре to_hour придет вот такая строка: Код: plsql 1. должно выдать ошибку из-за первой же ';', потом to_hour рассчитывается как-то по другому и не зависит от параметров запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:40 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
0FDдолжно выдать ошибку из-за первой же ';', потом to_hour рассчитывается как-то по другому и не зависит от параметров запроса. from_day заезжает в SQL как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:42 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
HoBTID, я не могу отправить подобный запрос, там стоит ограничение в два символа, и идет проверка на то что это не строка. как еще можно отправить подобный запрос, только не удаление таблицы, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:45 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдося не могу отправить подобный запрос, там стоит ограничение в два символа, и идет проверка на то что это не строка. Поржал. Спасибо. "там" это на странице? А вы знаете что HTTP запросы можно посылать без страницы и без браузера? А вы знаете что современные браузеры позволяют даже клиенту менять HTML страницы. Можно спокойно любую длину выставить. Елдоскак еще можно отправить подобный запрос, только не удаление таблицы, Это вообще не важно как отправить запрос. Важно что сервер реализован студентом, а не профессиональным Java программистом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:50 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдос, В приведенном выше примере параметры http запроса проходят валидацию, можно считать его относительно безопасным. Правда, что там в helper-е мы не знаем. А так - в первую очередь надо искать места, где параметры вставляются в запрос напрямую, например, при вводе символьной информации. Возможные последствия - на картинке и дальше в пкомментариях :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:53 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
ivanra, в итоге все нормально по вашему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:57 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, строку проверки from_day удалил дабы вместить код на форум ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:58 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да вы правы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:59 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
на этом классе у меня пишет что есть возможность Подделка межсайтовых запросов есть ли здесь такая возможность. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 15:02 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдосстроку проверки from_day удалил дабы вместить код на форум Это не важно. Есть конкатенация, найдется и 100500 способов обойти валидацию. Просто перепишите код с использованием PreparedStatement и всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 15:03 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдосivanra, в итоге все нормально по вашему. Если это весь код сервера, то нужно проверить как работает Helper.isIP(ip), с остальным можно смириться (parseInt спасает). Но если в программе полно мест в том же духе, то дальше вступает в силу закон Мерфи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 15:06 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдосна этом классе у меня пишет что есть возможность Подделка межсайтовых запросов есть ли здесь такая возможность. Код: java 1. 2. Кто погрыз код? Тут было самое интересное. Елдос Код: java 1. 2. 3. Автора сего- разжаловать в дворники. Елдос Код: java 1. 2. 3. 4. jdk6 уже не поддерживается, давно пора try with resources использовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 15:10 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
ivanraВ приведенном выше примере параметры http запроса проходят валидацию, можно считать его относительно безопасным. Судя по тому, что сначала делают errorList.add, а затем errorList!=null там не все так прозрачно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 15:13 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin У оракла есть кэш, где хранятся все запросы. Если используются bind, то каждый последующий запрос находится в кэше- уже готовый к исполнению. Если нет- не находится и, более того, выносит оттуда все остальные "приличные" запросы (кэш общий на instance, если не путаю). Подпишусь. Руки бы отбивал за конкатенацию) Кстати, оценил RAC в этой связи - если нельзя переписать, то хоть можно вынести такую фигню на отдельную ноду, чтобы не мешалось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 17:31 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдосна этом классе у меня пишет что есть возможность Подделка межсайтовых запросов есть ли здесь такая возможность. Если вы про Cross-Site Request Forging (CSRF), то да, скорее всего есть. Вы ведь нигде не проверяете, что запрос пришел со страницы, подконтрольной вам а не хакеру (куки этого не отличат). "Скорее всего" - потому что проверка может делаться еще и фильтрами. Но если у вас возник вопрос, то фильтров скорее всего нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 21:59 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
maxkar, подскажите пожалуйста как это можно это реализовать, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 05:47 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Alexey TominЕлдосна этом классе у меня пишет что есть возможность Подделка межсайтовых запросов есть ли здесь такая возможность. Код: java 1. 2. Кто погрыз код? Тут было самое интересное. Елдос Код: java 1. 2. 3. Автора сего- разжаловать в дворники. Елдос Код: java 1. 2. 3. 4. jdk6 уже не поддерживается, давно пора try with resources использовать почему разжаловать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 08:28 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдоспочему разжаловать Потому что при ошибке (например БД упала) код выведет пустой набор данных, как-будто там ничего не нашлось. И ошибку в консоль, которую вряд ли кто читает и вообще на сервере в /dev/null часто идёт. Вообще exception любой надо либо обрабатывать (пересоздавать коннект, менять запрос и т.п.), либо выводить пользователю (если он есть) в понятном виде- "ошибка соединения с базой данных") и информировать администратора (письмо, смс в конце концов) и выводить в лог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 09:25 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Alexey TominЕлдоспочему разжаловать Потому что при ошибке (например БД упала) код выведет пустой набор данных, как-будто там ничего не нашлось. И ошибку в консоль, которую вряд ли кто читает и вообще на сервере в /dev/null часто идёт. Вообще exception любой надо либо обрабатывать (пересоздавать коннект, менять запрос и т.п.), либо выводить пользователю (если он есть) в понятном виде- "ошибка соединения с базой данных") и информировать администратора (письмо, смс в конце концов) и выводить в лог. понял спасибо. могли бы показать как я могу в этом коду реализовать защиту от csrf ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 09:31 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдосподскажите пожалуйста как это можно это реализовать, Кого? Атаку или защиту? Атака у вас тривиально пройдет в виде <img src="your-site-url-with-params"/>. Даже не нужно уговаривать пользователя нажать кнопку. Либо похожие варианты для переходов по ссылке. Для защиты читайте теорию: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) и рекомендации по защите: https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.09.2014, 23:25 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38744304&tid=2126606]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
175ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 532ms |

| 0 / 0 |
