Escriba un programa general de inyección ASP para seleccionar el blog de Ph4Studio
Escriba un programa anti-inyección ASP común para palabras clave
Fuente
La inyección de SQL fue jugada por esos llamados piratas informáticos a nivel de novatos. Descubrí que la mayoría de las intrusiones de los hackers ahora se basan en la inyección SQL.
, Por desgracia, ¿quién hizo esto fácil de comenzar? Ok, ya no hablaré tonterías, ahora estoy empezando a decir si escribo un programa general de inyección de SQL
Las solicitudes generales de HTTP no son más que obtener y publicar, por lo que siempre que filtremos toda la publicación o obtengamos información de parámetros de solicitud en el archivo
Los caracteres ilegales son suficientes, por lo que podemos usar el filtro de información de solicitud HTTP para determinar si está sujeto al ataque de inyección SQL.
IIS pasado a ASP.DLL tiene la forma de una cadena, cuando se pasa a request.
ASP Parser analizará la información de Solic.
Así que siéntete de intercepción de la siguiente manera
Primero, definimos que la solicitud no puede contener los siguientes caracteres
'| y | ejecutor | insertar | seleccionar | Eliminar | Actualización | Conte |*|%| chr | Mid | Master | Truncate | Char | Declarar
Cada personaje está separado por "|", y luego juzgamos la solicitud.
El código específico es el siguiente
dimsql_injdata
Sql_injdata = "'| y | ejecut | insertar | seleccionar | eliminar | actualización | conte |*|%| chr | mid | maestro | truncate | char | declarar"
Sql_inj = split (sql_injdata, "|")
Ifrequest.querystring <> "" entonces
Foreachsql_getInRequest.querystring
Forsql_data = 0toUbound (sql_inj)
ifinstr (request.querystring (sql_get), sql_inj (sql_data))> 0then
Response.write "<scriptLanguage = ****> Alert ('Tianxia Movie Alliance SQL Sistema anti-inyección universal indica que no incluya caracteres ilegales en los parámetros e intente inyectar!'); History.back (-1) </script>"
Respuesta.
endif
próximo
Próximo
Endif
De esta manera, implementamos la intercepción de la inyección de la solicitud GET, pero también tenemos que filtrar la solicitud posterior, por lo que debemos continuar considerando la solicitud. El código es el siguiente
Ifrequest.form <> "" entonces
Foreachsql_postinRequest.form
Forsql_data = 0toUbound (sql_inj)
ifinstr (request.form (sql_post), sql_inj (sql_data))> 0then
Respuesta.Write "<scriptLanguage = ****> Alert ('Tianxia Movie Alliance SQL Sistema anti-inyección universal indica que no incluya caracteres ilegales en los parámetros e intente inyectar!
Respuesta.
endif
próximo
próximo
endif
Ok, el trabajo está hecho, hemos implementado la intercepción de información de las solicitudes de Get and Post. Solo necesita hacer referencia a esta página antes de abrir el archivo de la base de datos como Conn.asp. Siga desarrollando su programa con confianza, no es necesario considerar si aún será atacado por la inyección de SQL. ¿No es así?