Marco stuurde ons een link naar een artikel in Computable waarin wordt uitgelegd hoe fouten in websites zoals die zondag bij Tros Radio Online werden geconstateerd kunnen worden voorkomen.
De belangrijkste zaken (die relevant zijn voor de zondag geconstateerde zaken) herhalen we hier nog even:
Voeg inputparameters ('QueryString') nooit als tekst toe aan een dynamisch sql-statement. In dergelijke
gevallen is het namelijk mogelijk om middels de toevoeging van een batch-terminator (';') en/of
commentaar-quotes (--' ) aan de inputparameters(s) delen van het sql-statement uit te schakelen. Om
dezelfde reden is het verstandig om een dynamisch sql-statement meer dan één regel te laten beslaan. Het
uitschakelen van delen van het statement zoals hierboven beschreven wordt daardoor onmogelijk (lees:
lastiger).
Zorg voor een goede standaard foutafhandeling, bijvoorbeeld een re-direct naar de hoofdpagina. Voorkom in
ieder geval dat foutmeldingen die optreden tijdens het ophalen van de ASP, worden getoond in de browser van
de bezoeker. Met behulp van dergelijke meldingen kan een ervaren programmeur vrij gemakkelijk achterhalen of,
en zo ja, welke mogelijkheden er zijn om de betreffende website te hacken.
Beperk de permissies van de gebruiker onder wiens naam verbinding met de database wordt gelegd. De standaard rol 'db_datareader' is doorgaans voldoende. Log nooit in onder de gebruiker 'SA'; deze heeft normaliter toegang tot alle ingebouwde functies. Bij een inbraak kan dit grote gevolgen hebben (zie onder meer de 'books online', onder 'xp_cmdshell').
Deze posting is gelocked. Reageren is niet meer mogelijk.