Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A felhasználói adatok, amelyek bármilyen típusú bemenet (webes kérelemből vagy URL-címből származó adatok, a Microsoft Windows Forms-alkalmazások vezérlőinek bemenetei stb.) hátrányosan befolyásolhatják a kódot, mivel gyakran az adatok közvetlenül paraméterekként szolgálnak más kódok meghívásához. Ez a helyzet hasonló ahhoz a rosszindulatú kódhoz, amely furcsa paraméterekkel hívja meg a kódot, és ugyanazokat az óvintézkedéseket kell tenni. A felhasználói bevitelt valójában nehezebb biztonságossá tenni, mert nincs veremkeret a potenciálisan nem megbízható adatok jelenlétének nyomon követéséhez.
Ezek a legapradékosabb és legnehezebb biztonsági hibák közé tartoznak, mivel bár létezhetnek olyan kódban, amely látszólag nem kapcsolódik a biztonsághoz, átjárók, amelyek rossz adatokat adnak át más kódoknak. A hibák kereséséhez kövessen bármilyen bemeneti adatot, képzelje el a lehetséges értékek tartományát, és gondolja át, hogy az adatokat jelölő kód képes-e kezelni az összes ilyen esetet. Ezeket a hibákat a tartományellenőrzéssel és a kód által nem kezelhető bemenet elutasításával javíthatja ki.
A felhasználói adatokkal kapcsolatos néhány fontos szempont a következők:
A kiszolgáló válaszaiban szereplő felhasználói adatok a kiszolgáló ügyfélwebhelyének kontextusában futnak. Ha a webkiszolgáló felhasználói adatokat vesz fel, és beszúrja a visszaadott weblapra, előfordulhat például, hogy tartalmaz egy címkét
<script>, és úgy fut, mintha a kiszolgálóról származna.Ne feledje, hogy az ügyfél bármilyen URL-címet kérhet.
Fontolja meg a bonyolult vagy érvénytelen elérési utakat:
.. \ , rendkívül hosszú útvonalak.
Helyettesítő karakterek (*) használata.
Token-bővítés (%token%).
Különleges jelentésű utak furcsa formái.
Alternatív fájlrendszer-streamnevek, például
filename::$DATA.A fájlnevek rövidített verziói, mint például
longfi~1a(z)longfilenameesetében.
Ne feledje, hogy az Eval(userdata) bármire képes.
Legyen óvatos a késői kötésnél olyan névhez, amely bizonyos felhasználói adatokat tartalmaz.
Ha webes adatokkal foglalkozik, vegye figyelembe a különböző menekülési formákat, amelyek megengedettek, beleértve a következőket:
Hexadecimális menekülések (%nn).
Unicode-feloldások (%nnn).
Túl hosszú UTF-8 kódolások (%nn%nn).
Kettős menekülés (%nn %mmnnlesz, ahol %mm a '%' menekülése).
Legyen óvatos az olyan felhasználónevekkel, amelyek több canonical formátumúak lehetnek. Gyakran használhatja például a MYDOMAIN\felhasználónév űrlapot vagy a username@mydomain.example.com űrlapot.