DotNetNuke , DNN o , es un sistema de gestión de contenido de código abierto programada en el lenguaje de programación de Microsoft ASP.NET Web. Es importante tener en cuenta la seguridad al escribir módulos que se conectan al sistema de DNN . Los módulos permiten a los desarrolladores ampliar la funcionalidad del CMS DNN . Los diferentes tipos de módulos que crean la información del usuario , como datos de formularios , cookies y las consultas pueden ser víctimas de los hackers que buscan aprovechar sus datos. Utilice los siguientes ejemplos de código en los módulos de DNN para bloquear los ataques de comunes. Instrucciones
1
uso rutinario InputFilter de DotNetNuke para filtrar las funciones tales como inyecciones SQL y la ejecución de otros tipos de usuario de marcado , por ejemplo :
Enum FilterFlag
MultiLine - 3
NoMarkup - 1
NoScripting - 5
NoSQL - 9
End Enum
2
Detener su módulos DNN a ser víctimas de ataques de inyección SQL mediante la adición de procedimientos para evitar las consultas no deseadas :
crean GetSearchResults proc ( @ SearchTerm nvarchar ( 50 ))
como
declar @ sql nvarchar ( 300 )
set @ sql - ' select * from searchResults donde SearchTerm como ''% '
@ SearchTerm + '% '''
ejecutivo sp_executesql @ sql
ir
3
uso InputFilter con el parámetro NoMarkup para evitar que los módulos puedan ser detectados por scripts entre sitios , los servidores de bases de datos de análisis de vulnerabilidades : < br >
Mysearch dévil como secuencia - Request.QueryString ( " txtSearch " )
objSecurity Dim As New PortalSecurity
Mysearch - objSecurity.InputFilter ( Mysearch , PortalSecurity.FilterFlag.NoMarkup ) < br >
lblSearchtext.text - "Buscar :" & mySearchTerm