|
|
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
При сканировании сети на сайте в котором я являюсь администратором обнаружили sql уязвимость. где искать уязвимость, есть отдельный класс который использует combopooleddatasource для соединения. возможно ли через этот пул провести инъекцию. нужно ли ставить какие то дополнительную защиты вроде фильтрации имени пользователя и пароля и других данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 15:15 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
DataSource к SQL инъекциям отношения не имеет. Ищите конкатенацию строк при построении SQL запросов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 15:18 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдос, в классическом понимании, sql-injection провести через datasource нельзя, т.к. никаких сторонних запросов он не выполняет. А вот через говнокод, который использует этот datasource вполне можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 15:22 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, можно привести пример, есть маленький код класса который используется для соединения с базой данных, и там ничего подобного, попробую поискать в других классах если вы привели бы мне пример. сайт на JSP ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 15:34 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдос, как-то так bad Код: java 1. good Код: java 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 15:47 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
ваш классик коннкешена скорее всего не иметт никакого отношения к инъекции, вам же говорят, что дело в запросах выполняюшихся через этот коннекшен, ищите там откуда они приходят, ну если это конечно не шелл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 16:02 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
ЕлдосПри сканировании сети на сайте в котором я являюсь администратором обнаружили sql уязвимость. где искать уязвимость, есть отдельный класс который использует combopooleddatasource для соединения. возможно ли через этот пул провести инъекцию. нужно ли ставить какие то дополнительную защиты вроде фильтрации имени пользователя и пароля и других данных. а url по которому уязвимость проявилась инструмент не показал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 16:53 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдосгде искать уязвимость - проверить не развод ли это. Закомментировать все вызовы и дать им URL опять. - пример инжекции может быть такой, как подзапросы в запросе https://www.google.com/search?q=gjlpfghjc d pfghjct&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:official&client=firefox-a&channel=sb#newwindow=1&rls=org.mozilla:ru:official&channel=sb&q=подзапрос в запросе&spell=1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 16:58 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
DDivergood Код: java 1. 2. 3. Далеко не панацея. :) 1. Можно сохранить javascript, который потом вычитается у другого пользователя и ненароком выполнится. 2. Ну или не javascript, а какая-нибудь процедура (функция/триггер) в базе, которая вдруг бац и все же выполнит написанный код при составлении отчета (например вычисляя самописный агрегат или произведение значений столбца при обходе по дереву). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 17:42 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, А ненароком это как? Если специально не интерпритировать строку как скрипт, на клиенте он не как не выполниться. Да что либо создать в бд не получится, случай особо ожаренного программиста не рассматриваем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 18:15 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Сергей Арсеньев, от классического sql injection - как раз панацея :) Не путать с XSS! Вот хранимки да, отдельная песня, т.к. там удобные prepared statement-ы не предусмотрены конструкцией. Вот, например, интересная ссылка: http://bobby-tables.com/plsql.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.09.2014, 20:04 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
lleming, нет этого не показал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 06:27 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
DDiver, понял, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 06:30 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
scfСергей Арсеньев, от классического sql injection - как раз панацея :) Не путать с XSS! Вот хранимки да, отдельная песня, т.к. там удобные prepared statement-ы не предусмотрены конструкцией. Как не предусмотрены? Всё там есть. scfВот, например, интересная ссылка: http://bobby-tables.com/plsql.html "Bind Variables" называются. А писать, как там в примере- это можно сервер уронить хорошо, даже без инъекций. Наблюдал переписывание функции с конкатенации на bind Variables с ускорением на пару порядков (да, в 100 раз- оптимизатор при конкатенации каждый раз мучается, плюс кэш переполняется, а с переменными- один раз, всё быстро). Другое дело, что вызывая любой код (не только pl/sql), хорошо бы быть уверенным, что писал его не студент (вот в моём примере так и было, кстати), а знающий человек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 10:39 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, Речь идет об Oracle? Интересно, у нас все запросы через конкатенацию сделаны... Можно пример, как правильно? Поговорю потом с датабазниками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 11:47 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
scfРечь идет об Oracle? Интересно, у нас все запросы через конкатенацию сделаны... Можно пример, как правильно? Поговорю потом с датабазниками. Весело у вас :D Вот примеры от авторов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 12:28 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Alexey Tomin, А чем это в принципе может быть быстрее? Это даже не prepared statement, это при каждом вызове ХП компиляцию делать надо... При том, что обычные ХП компилируются в C. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 12:34 |
|
||
|
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. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. Вот код рабочий, многие переменные удалены, так как не вмещалось. есть ли здесь хоть какая то уязвимость ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 13:09 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
ivanra, я не понял о чем вы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 13:46 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдос, Ну и говнокод у Вас! Проверьте на рабочей базе, что будет, если в параметре to_hour придет вот такая строка: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 13:46 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдос, Воистину говнокод, даже если не говорить про уязвимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 13:53 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Елдосivanra, я не понял о чем вы SQL Injection на SQL Injection-е сидит и SQL Injection-ом погоняет. Так понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:01 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
scfAlexey Tomin, А чем это в принципе может быть быстрее? Это даже не prepared statement, это при каждом вызове ХП компиляцию делать надо... При том, что обычные ХП компилируются в C. У оракла есть кэш, где хранятся все запросы. Если используются bind, то каждый последующий запрос находится в кэше- уже готовый к исполнению. Если нет- не находится и, более того, выносит оттуда все остальные "приличные" запросы (кэш общий на instance, если не путаю). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:24 |
|
||
|
Sql инъекции
|
|||
|---|---|---|---|
|
#18+
Alexey TominУ оракла есть кэш, где хранятся все запросы. Если используются bind, то каждый последующий запрос находится в кэше- уже готовый к исполнению. Если нет- не находится и, более того, выносит оттуда все остальные "приличные" запросы (кэш общий на instance, если не путаю). По-моему там есть некоторые оптимизации, которые умеют выделять параметры запроса, даже если они заинлайнены в SQL. Но, конечно, полагаться на эти фичи, не зная о них и не понимая того как они работают бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.09.2014, 14:37 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38744109&tid=2126606]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
146ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 289ms |
| total: | 540ms |

| 0 / 0 |
