Категория ‘ОСУП’
* Форми за качване на картинки с PHP
Публикувано на 30 ноември 2016 в раздел ОСУП.
В тази статия ще се запознаем с основните проблеми при качването на файлове чрез уеб форми. Ще покажем проста галерия, в която ще искаме да качваме снимки във формат jpg, png или gif.
Да разгледаме следния пример: Прочети още...
* SSLStrip атаки
Публикувано на 29 ноември 2016 в раздел ОСУП.
В редица предишни статии написах как винаги целия трафик трябва да минава през HTTPS с валиден сертификат от trusted authority, разбира се ако искаме да предотвратим MITM атаките. Това най-лесно се постигаше с .htaccess файл със следния код: Прочети още...
* WiFi Карма и Pineapple атаки
Публикувано на 18 ноември 2016 в раздел ОСУП.
Едно голямо удобство при мобилните устройства и лаптопи е, че те могат да се свързват автоматично към познати мрежи (такива, към които вече са се свързвали). Така например вашия мобилен телефон ще се свърже директно с домашната мрежа като се приберете вкъщи. Как се осъществява това? Прочети още...
* Cross site script inclusion (XSSI) атаки
Публикувано на 02 ноември 2016 в раздел ОСУП.
Има една страна на same origin policy, която е със съзнателно отслабена защита. Това е вмъкването на javascript от външни домейни. Когато изпълните код <script src="http://www.othersite.../script.js>...</scipt>, браузъра на клиента ще изтегли скрипта и ще го изпълни в origin, който е същия както на HTML документа, който се зарежда. До какви проблеми свързани със сигурността може да доведе това? Прочети още...
* ПТСК резултати редовна сесия 2015 г.
Публикувано на 16 май 2015 в раздел ОСУП.
* Добавяне на captcha към автентикационната форма
Публикувано на 05 април 2015 в раздел ОСУП.
В тази статия ще покажем съвсем елементарна форма за captcha. Първо ще започнем с файл "captcha.php", в който се прави следното: Прочети още...
* Автоматична автентикация с cookie чрез token
Публикувано на 20 март 2015 в раздел ОСУП.
В предишните примери, в които показвахме автентикация с cookie, ние записвахме името и паролата в това cookie. Основен проблем на първоначалното решение беше, че ги записвахме като най-обикновен текст. В този случай хакер може да открадне бисквитката и моментално да разбере името и паролата на човека. Първоначалното решение на проблема, което предложихме, беше да се криптират със симетричен алгоритъм за криптиране (напр. aes256-cbc) с много дълъг (хардкоднат в приложението ни, или пък защо не - записан в базата от данни и различен за всеки клиент) ключ. В тази статия ще покажем една изцяло различна концепция - няма да записваме име и парола в бисквитката, а вместо това ще записваме уникален token в базата от данни, с който ще автентикираме потребителите. За основа на кода ще използваме този осъвременен вариант на нашата автентикационна система вместо оригиналния пример (въпреки, че ще забележите, че освен key straightening и по-надеждни хеш алгоритми, като цяло кодът е еквивалентен на оригиналния). Оригиналните статии за cookies (1, 2, 3) бяха писани преди да покажем техниките за запазване на пароли в база от данни. Именно затова в тази статия ще обвържем двете техники в един общ автентикиращ стрипт. Прочети още...
* Упражнение 2, 2015
Публикувано на 18 март 2015 в раздел ОСУП.
В това упражнение показваме login форма. Паролите са хеширани със salt (уникален ключ за всеки потребител в базата) и pepper (един общ salt в кода). Прочети още...
* Goto грешката на Apple
Публикувано на 11 април 2014 в раздел ОСУП.
В средата на февруари Епъл пуснаха критично обновяване на iOS. Версията беше iOS 7.0.6. После се оказа, че засяга всякакви i-работи, че дори и версии на OSX операционната система. Този бъг позволяваше да се прави man in the middle атака срещу iPhone, iPad и други епъл устройства. А за който не си е обновил софтуера, това важи все още и ще важи - уязвимостта е при клиентските приложения :) Прочети още...
* OpenSSL Heartbleed уязвимост при версии 1.0.1-1.0.1f
Публикувано на 11 април 2014 в раздел ОСУП.
В последните дни нашумя един от най-големите пробиви в сигурността в историята на Интернет. Състои се в потенциално разбиване на протокола TLS (SSL) <<< това е стара моя статия, в която не мисля, че съм го обяснил достатъчно коректно. По-рано тази година имаше подобен пробив при мобилни устройства на Apple (за тях ще пиша в следваща статия). Грешката при OpenSSL обаче е значително по-мащабна, защото по груби данни засяга над 20% от уебсайтовете, които използват TLS. В тази статия, подчертавайки че самия аз не съм задълбавал сериозно в темата, ще се опитам да обясня по максимално опростен начин какво точно представлява грешката. Визията ми е по-скоро да ви покажа какво не трябва вие самите да правите, когато програмирате. Прочети още...