Имя: Пароль:
1C
1С v8
инъекция SQL для 1с это актуально ?
,
0 vde69
 
01.12.15
09:21
кто не в курсе, инъекция это самый распространенный взлом веб сайтов, а интересно для 1с это актуально?

банально можно-ли сак сформировать параметр запроса, что бы он проскочил через сервер 1с и модифицировал конечный запрос 1с....

если это так, то в 1с можно юзать прямые инсерты и дропы?
1 Бубка Гоп
 
01.12.15
09:24
(0) *шепотом* а можно обсуждать темы которые 1с считает нарушением лицензионного соглашения?
2 vde69
 
01.12.15
09:26
(1) это обсуждение безопасности...

в условиях много фирменого учета, фреша, публикуемых приложений, сервисов это должно быть понятно...
3 упс
 
01.12.15
09:27
1с обращается к sql server'у, в основном через sp_executesql, которая как раз-таки и рекомендуется к использованию для защиты от инъекций. Так что всё хорошо там в этом плане.
4 Asmody
 
01.12.15
09:30
(0) А ты где-то видел в коде 1С "прямые" запросы к SQL? И потом, там же своя "прокладка" dbengine.
5 Asmody
 
01.12.15
09:32
На самом деле а) либо никто этим серьёзно не занимался, б) либо там действительно всё хорошо.
Возможно, в Softpoint больше смогут рассказать. Они как раз в этом месте собаку с будкой съели.
6 vde69
 
01.12.15
09:33
(4) прямых не видел, по этому и спрашиваю, пройдет ли параметр до скуля или нет
7 oslokot
 
01.12.15
09:35
(3) Другими словами 1с можно выставлять голой попой в интернет? Например, опубликованную на веб-сервере.

Пароли только посерьезней и кроме ддоса бояться нечего?
8 фобка
 
01.12.15
09:36
(6) у меня на семере были прямые запросы к базе и несколько мест из которых юзер на них выходил (например поиск пэлмента справочника по части идентификатора), приходилось дописывать заглушки по ключевым словам
9 фобка
 
01.12.15
09:40
+8 база была внешняя, не сама ИБ, запросы ado
10 фобка
 
01.12.15
09:49
Но, думаю на прямых запросах к базе 7.7 если используются, тоже могут быть выходы (там где юзатся  like, например), ибо там полноценный t-sql. У восьмерки такое невозможно
11 xxTANATORxx
 
01.12.15
09:54
(0)вызов сервера для этого и существует
на ИТС есть статья как правильно организовывать общие модули, почитай
12 Necessitudo
 
01.12.15
09:57
(3) Расскажи про sp_executesql. Что там за безопасность такая?
13 Stim213
 
01.12.15
09:58
типа если имя пользователя будет "Drop Database Catalog1234" ?
14 Andrewww123
 
01.12.15
10:02
Небольшая модификация запроса возможна, как минимум. Сталкивался с поиском по справочнику, на форме было поле и значение этого поля передавалось в запрос в качестве параметра для конструкции "ПОДОБНО". То есть, можно было добиться добавления своего условия в текст запроса после "ПОДОБНО"
15 Господин ПЖ
 
01.12.15
10:09
главное не давать лишнего в правах "юзера от 1с" на скуле и держать shell закрытым
16 Necessitudo
 
01.12.15
10:18
(15) Особенно учитывая что везде используется sa)))
17 Господин ПЖ
 
01.12.15
10:19
(16) где "везде"? в базах клюшечников по киоскам - может быть...
18 Necessitudo
 
01.12.15
10:20
(17) Увы я такое видел не только в киосках
19 vde69
 
01.12.15
10:22
банально если в счете в поле БИК вбить что-то типа

"(select * from xxx)" по логике такой параметр будет преобразован в строку и передан в запрос типа этого


exec sp_executesql N'SELECT
T9._LineNo10807,
T9._Fld10808,
T9._Fld10809,
T9._Fld10810,
0 AS SDBL_IDENTITY
FROM dbo._Document9508_VT10806 T9
INNER JOIN dbo._Document9508 T10
ON T10._IDRRef = T9._Document9508_IDRRef
WHERE T10._IDRRef = P1 AND T10._Version <> @P2
ORDER BY 5 ASC, T9._LineNo10807',N'P1 varbinary(16),@P2 varbinary(8000)',0x8981D7AB49B165B943086A3CB436BB3F,0x000000000212EC2C

здесь мы видим, что параметры передаются как и положено им в виде параметров, но вот если в запросе будет текстовое условие типа

ON T10._Fld10809 = '12w22222'

то сабж возможен как минимум на уровне формирования текста запроса (динамическая сборка запроса)
Закон Брукера: Даже маленькая практика стоит большой теории.