BG Development


Страници: (4) [1] 2 3 ... последна »  ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Безопасност за ъплоаднати от потребители файлове.
johnfound
Публикувано на: 31-08-2018, 21:31
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 6759
Регистриран на: 27.05.04



Реших да си завърша една зарязана функция на форума: Файлове, прикачени от потребителите към постовете.

В момента го направих така;

Файловете са в базата данни, под формата на блоб, криптиран със случайна парола, за да няма никакъв шанс деструктивен файл да попадне във файловата система на сървъра.

Файловете се приемат от POST заявката, криптират се и се записват в базата данни. При даунлоадването се подават с хедъри:

CODE
Content-type: application/octet-stream
Content-Disposition: attachment;


...за да се задължи браузъра да ги запише, а да не се мъчи да ги изпълнява, ако са картинка или примерно HTML/JS;

Естествено, при даунлоад се подават в разкриптиран вид.

Да виждате във въпросната схема някакви дупки за сигурността на сървъра?

Или евентуално за потребителите? Но само такива, които могат да станат без негово участие. Ако потребителят свали вреден файл и го стартира ръчно, това си е негов проблем. Тоест, не търсим защита от албански вируси.

Това мнение е било редактирано от johnfound на 31-08-2018, 21:33


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 31-08-2018, 21:40
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1814
Регистриран на: 17.01.17



Криптирането е напълно излишно. В базата данни записвай компресиран файл + хедъри. Така ще сервираш всичко на един пас, без да губиш време и трафик.

Това мнение е било редактирано от thrawn на 31-08-2018, 21:41
PMEmail Poster
Top
johnfound
Публикувано на: 31-08-2018, 21:58
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 6759
Регистриран на: 27.05.04



Говорете ми за сигурност, не за производителност.

Криптирането не е излишно. Оказа се, че тъпото php при определени условия изпълнява скриптове, записани като blob в базата данни. Условията са трудно възпроизводими, но възможни, така че криптирането е съвсем на място.


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
thrawn
Публикувано на: 31-08-2018, 22:01
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1814
Регистриран на: 17.01.17



Изпълнява ги и като коментар в картинките и общо взето на всякъде, където може да има текст. То това не е функция на пхп то а на средата. При компресиране се затриват тия текстове, точно както и при криптирането.

Иначе няма проблеми със сигурността а с производителността.

Това мнение е било редактирано от thrawn на 31-08-2018, 22:03
PMEmail Poster
Top
akrachev
Публикувано на: 31-08-2018, 22:06
Quote Post



Име: акрачев
Група: Потребител
Ранг: Старо куче

Мнения: 612
Регистриран на: 27.11.09



QUOTE (thrawn @ 31-08-2018, 22:01)
Изпълнява ги и като коментар в картинките и общо взето на всякъде, където може да има текст. То това не е функция на пхп то а на средата. При компресиране се затриват тия текстове, точно както и при криптирането.

Иначе няма проблеми със сигурността а с производителността.

1+
PMEmail Poster
Top
johnfound
Публикувано на: 31-08-2018, 22:09
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 6759
Регистриран на: 27.05.04



Не ми мислете производителността. Говорим си за сигурност сега.

Тоест, до тука излиза, че според вас проблеми със сигурността при така работеща система не може да има? Да релизвам ли?


--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
Антон Яначков
Публикувано на: 01-09-2018, 00:22
Quote Post



Име: Антон Яначков
Група: Потребител
Ранг: Старо куче

Мнения: 696
Регистриран на: 27.07.16



QUOTE (johnfound @ 31-08-2018, 22:09)
Не ми мислете производителността. Говорим си за сигурност сега.

Тоест, до тука излиза, че според вас проблеми със сигурността при така работеща система не може да има? Да релизвам ли?

Действай, а сигурността ще я провериш след реализацията. Нищо 100% сигурно няма. Ако сам не успееш да се хакнеш, едва ли друг ще успее. Аз от опит знам за себе си, че почти винаги успявам да намеря дупка в сигурността и то след, като всичко е завършено.
PMEmail PosterUsers Website
Top
GigaByte
Публикувано на: 01-09-2018, 05:03
Quote Post



Име: ГБ
Група: Потребител
Ранг: Редовен член

Мнения: 518
Регистриран на: 19.08.09



QUOTE (johnfound @ 31-08-2018, 22:09)
Не ми мислете производителността. Говорим си за сигурност сега.

Тоест, до тука излиза, че според вас проблеми със сигурността при така работеща система не може да има? Да релизвам ли?

Проверявай обема на файловете. Ограничи ги до 1 МБ“
Понякога при обработка на голям файл, апачето се оплаква, че е твърде голям файл-а
PMEmail PosterUsers Website
Top
PxL
Публикувано на: 01-09-2018, 14:09
Quote Post


Group Icon
Име: Димитър Т. Димитров
Група: VIP
Ранг: Почетен член

Мнения: 2334
Регистриран на: 26.04.05



Сървърен скрипт трудно да изпълнят при това положение, но XSS може и да успеят. Те са криптирани в базата, но ти ги декриптираш като ги подаваш, така, че независимо от Content-type някой браузъри може и да ги изпълнят. Въпроса е останалата част от системата ти до колко е податлива на Cross-site уязвимости.


--------------------
void putchar(char c);int main(){int x,c=1,i;for(i=0;(x="PxLY2H4:2E;7231?=68255A5S5P9N:N9O84111H861I85111G9N:O811O812M<G33911EAEDBECE22169D1=2k"[i+++3]);)while(x-->'0')putchar((!(++c%'('))?0x0a:33^(i&1));}
PMEmail PosterUsers Website
Top
johnfound
Публикувано на: 01-09-2018, 15:01
Quote Post


Group Icon
Име:
Група: VIP
Ранг: Почетен член

Мнения: 6759
Регистриран на: 27.05.04



QUOTE (PxL @ 01-09-2018, 15:09)
Сървърен скрипт трудно да изпълнят при това положение, но XSS може и да успеят. Те са криптирани в базата, но ти ги декриптираш като ги подаваш, така, че независимо от Content-type някой браузъри може и да ги изпълнят. Въпроса е останалата част от системата ти до колко е податлива на Cross-site уязвимости.

Ами, сайта като че ли е проверяван за XSS, но то 100% сигурност няма. Важните кукита не са достъпни през JS...

Но в случая, въпросът не е в "Content-type"-a, а в комбинацията му с "Content-Disposition"-а, която комбинация заедно и поотделно изрично указва, че файла трябва да се сваля, а не да се показва/изпълнява в браузъра. Не знам браузър, който да не уважава тази комбинация, даже и да се прави на умен по отношение на само на "Content-type"-а (такива има).

Е или (също вероятно) аз не си представям добре как може да протече евентуална атака. Което е напълно възможно, защото точно в тази сфера съм си начинаещ.



--------------------
asm32 - Приложно програмиране на асемблер.
Tox: 2B446ADCEC7E180CD4C59391D81D4CAB3E99CA7AE767DB3AB45AF976F8A2050FF071DDB733F1
PMEmail PosterUsers Website
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (4) [1] 2 3 ... последна » Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2018 | BG Development | All Rights Reserved
RSS 2.0