Blog | Nejčastější bezpečnostní chyba při vývoji webů je…

Nejčastější bezpečnostní chyba při vývoji webů je…

nečekaně podvržení POSTu. Díky osvětě mnoha autorů a podpoře frameworků, už dnes pomalu není nic zvláštního předpokládat od nového kolegy v týmu, že bude chránit svůj kód proti XSS, SQLi, CSRF nebo Session Hijackingu.

Něco jiného je to ale s podvržením POSTu. Skoro každý systém, s kterým jsem se setkal, trpěl tím, že přinejmenším v administrační části bylo možné podvržením postu editovat údaje, na které ten uživatel neměl dostatečná práva.

Je to samozřejmě dáno tím, že programovat tuto ochranu není zcela triviální (ve srovnání s ochranou proti např. SQLi).

Jaké jsou nároky na architekturu, aby bylo možné naprogramovat ochranu proti podvržení postu?

  1. Model musí být schopen říci už před uložením, které položky smí uživatel vidět/upravit/sma­zat.
  2. Controller tyto údaje předá z modelu do view a to podle toho (ne)zobrazí editační prvky, případně údaje samotné.
  3. Při ukládání formuláře se pošlou data modelu a ten opět musí provést kontrolu, která se prováděla už při renderování stránky. Tohle je bod, před kterým většina vývojářů skončí.

Pokud budete někdy dělat bezpečnostní audit svého firemního CMS, e-shopu, zkuste se zaměřit i na podvržení POSTu.

Programování

Předejte zkušenosti i dalším a sdílejte tento článek!



Jiří Knesl
Business & IT konzultant

Jiří Knesl poprvé začal programovat v roce 1993. Od té doby, díky skvělým učitelům a později zákazníkům, měl možnost neustále růst v oboru vývoje webových aplikací a informačních systémů. v roce 2002 se přidal zájem o ekonomii a v roce 2006 o organizaci práce. Vším tím se konstantně profesně zabývá jak ve svém podnikání, tak i u zákazníků. Za posledních 5 let vydal na tato témata přes 400 článků.

Prohlédněte si moje reference

Mám zkušenosti z rozsáhlých projektů pro korporace, velké podniky, střední i malé firmy, ale i pro startupy v cloudu. Zvyšoval jsem jejich know-how, pomáhal nastavovat jejich organizační strukturu, byl lektorem a mentorem v náročných situacích. Podívejte se, jak vidí můj přínos samotní klienti.

Sledujte mé postřehy na sociálních sítích