¿Cómo WAF detecta la inyección SQL y los ataques XSS?
Una inyección de lenguaje de consulta estructurado (SQL) es un ataque web común. El atacante inyecta comandos SQL maliciosos en cadenas de consulta de la base de datos para engañar al servidor para ejecutar comandos. Al explotar estos comandos, el atacante puede obtener información confidencial, agregar usuarios, exportar archivos o incluso obtener los permisos más altos para la base de datos o el sistema.
Los ataques XSS aprovechan las vulnerabilidades dejadas durante el desarrollo de la página web para inyectar código de instrucciones maliciosas en las páginas web para que los atacantes puedan engañar a los visitantes para que carguen y ejecuten programas maliciosos de página web fabricados por los atacantes. Estos programas maliciosos de páginas web son generalmente JavaScript pero también pueden incluir Java, VBScript, ActiveX, Flash, o incluso HTML común. Después de que un ataque tenga éxito, el atacante puede obtener varios contenidos, incluidos, entre otros, permisos más altos (por ejemplo, permisos para ciertas operaciones), contenido privado, sesiones y cookies.
¿Cómo WAF detecta los ataques de inyección SQL?
WAF detecta y compara palabras clave SQL, caracteres especiales, operadores y símbolos de comentarios.
- Palabras clave de SQL: union, Select, from, as, asc, desc, order by, sort, and, or, load, delete, update, execute, count, top, between, declare, distinct, distinctrow, sleep, waitfor, delay, having, sysdate, when, dba_user, case, delay, y the like
- Especial characters: ',; ()
- Operadores matemáticos: ±, *, /, % y |
- Operadores: =, >, <, >=, <=, !=, += y -=
- Símbolos de comentario: – o /**/
¿Cómo detecta WAF ataques XSS?
WAF comprueba las etiquetas de script HTML, los procesadores de eventos, los protocolos de script y los estilos para evitar que los usuarios malintencionados inyecten declaraciones XSS malintencionadas a través de las solicitudes del cliente.
- Palabras clave XSS (como javascript, script, object, style, iframe, body, input, form, onerror y alert)
- Caracteres especiales (<, >, ', y ")
- Enlaces externos (href="http://xxx/",src="http://xxx/attack.js")
El texto enriquecido se puede cargar usando la carga de varias partes en lugar del cuerpo. En la carga multiparte, el texto enriquecido se almacena en formularios y se puede decodificar incluso si se codifica usando Base64. Analice sus servicios y no utilice comillas ni corchetes angulares en la medida de lo posible.