Преглед садржаја
Много је врста напада које можемо примити у нашим апликацијама, један од најчешћих и који може створити велику штету је СКЛ ИњецтионОвај напад се састоји у проналажењу рањивости у начину на који обрађујемо упите према базама података ради издвајања информација или уметања вредности које могу утицати на његову функционалност.Да бисмо се заштитили од ове врсте напада, прво морамо знати у чему се састоји, на овај начин можемо научити које мере предострожности морамо предузети.
Као што смо споменули, овај напад чини да наша база података не ради исправно, јер нападач уводи податке због којих наши упити не успевају у складу са одређеним рањивостима, чиме нападач може покушати добити шеме наших табела или унети податке који могу угрозити рад, као што је нпр унесите корисника за приступ административном одељку наше апликације.
Један од најчешћих начина је да параметре уносимо директно онако како их примамо од контролера, на пример имамо претрагу по категоријама и од контролера добијамо идентификатор категорије за претрагу, ако прође директно без чишћења може генерисати напад који приказује нападачу све постојеће категорије.
Погледајмо следећи несигурни код:
ЕНЛАРГЕ
Како се заштитити?Начин да се заштитимо у овом случају пролази кроз два основна корака, тј први је да не можемо дозволити да се подаци извршавају директно онако како их примамо, за то, прије упита, морамо очистити параметар методом који тражи недозвољене знакове и у случају да их пронађе, послати корисника на страницу 404 или Страница није пронађена.
Погледајмо у следећем коду како можемо да филтрирамо оно што примамо:
Тхе друго корак за избегавање напада је не ради са заменом "*" и увек ограничимо упите када чекамо запис, на овај начин избегавамо откривање свих података у случају да неко успе да премаши наше прогнозе.
Ухватите изузеткеКоначно, ако у нашу апликацију уђе илегални параметар, морамо по сваку цијену избјећи траг грешке, будући да садржи осјетљиве податке из наше инсталације и може се користити против нас, па се увијек морамо побринути да ухватимо изузеци и послати персонализовану поруку која не садржи много детаља, будући да се ти детаљи могу видети у развојном окружењу.
Као што смо могли видети, познавање напада даје нам другачију перспективу о томе како можемо заштитити нашу апликацију и како то учинити како бисмо дали већу сигурност нашим корисницима.Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен