Métodos relacionados con problemas de seguridad de APPScan

Sugerencia: después de escribir el artículo, la tabla de contenido se puede generar automáticamente. Cómo generarla puede consultar el documento de ayuda a la derecha


Divulgación de información confidencial en comentarios HTML

Aclarar la información confidencial que aparece en los comentarios del código; la información confidencial incluye: código fuente comentado, correo electrónico, dirección IP, etc.;

Descubra patrones de direcciones de correo electrónico

Limpieza de correos electrónicos que aparecen en el código;

Versión alternativa del archivo detectada

Limpie todos los archivos del producto que comiencen con "Copia de", "_", ".", "~" y "OId"

Bloqueo de cuenta inadecuado

Limite la cantidad de veces que un usuario inicia sesión incorrectamente y no se le permite volver a iniciar sesión dentro de un cierto período de tiempo

pescando a través del marco

Al establecer un método de filtro, se agrega para juzgar y filtrar la fuente de información de respuesta de solicitud y para limpiar y filtrar toda la información de entrada del usuario.
Al desinfectar y filtrar la entrada del usuario que contiene caracteres peligrosos, es posible evitar que los usuarios maliciosos hagan que la aplicación realice tareas no deseadas.
Por ejemplo: iniciar consultas SQL arbitrarias, incrustar código Javascript que se ejecutará en el lado del cliente, ejecutar varios comandos del sistema operativo, etc.
1. Escritura de archivos de inyección SQL
3. Solución de falsificación de solicitudes entre sitios

Inyección de enlaces (facilita la falsificación de solicitudes entre sitios)

Al establecer un método de filtro, se agrega para juzgar y filtrar la fuente de información de respuesta de solicitud y para limpiar y filtrar toda la información de entrada del usuario.
Al limpiar y filtrar los caracteres peligrosos contenidos en la entrada del usuario, es posible evitar que los usuarios malintencionados hagan que la aplicación realice tareas no planificadas, como
iniciar consultas SQL arbitrarias, incrustar código Javascript que se ejecutará en el cliente, ejecutar varios comandos del sistema operativo , etc.
Para una implementación específica, consulte la solución de combinar 1. Escritura de archivos de inyección SQL y 3. Falsificación de solicitudes entre sitios;

Cambios de parámetros de archivos de Windows

Al establecer un método de filtro, se agrega para limpiar y filtrar si toda la información ingresada por el usuario contiene cadenas "..." (dos puntos).
Para una implementación específica, consulte la solución combinada con 1. Escritura de archivos de inyección SQL;

Cambios en los parámetros del archivo Unix

Al establecer un método de filtro, se agrega para limpiar y filtrar si toda la información ingresada por el usuario contiene cadenas "..." (dos puntos).
Para una implementación específica, consulte la solución combinada con 1. Escritura de archivos de inyección SQL;

Script de prueba de aplicación detectado

Borre los archivos de script de prueba que aparecen en el código; los archivos de script incluyen principalmente test.php, test.asp, test.cgi, test.html, etc.; y modifique los nombres de algunos archivos que contienen caracteres confidenciales relacionados; los caracteres confidenciales incluyen: prueba, viejo, etc.;

Descubrimiento de patrones internos de fuga de IP

Limpiar las direcciones IP que aparecen en el código

Autocompletar atributos HTML no deshabilitados para campos de contraseña

Agregue el atributo autocompletar = 'apagado' en el cuadro de entrada de contraseña

Descubra patrones en filtraciones de código fuente de aplicaciones web

Limpie partes del código fuente que aparecen en los comentarios del código

Falta el atributo HttpOnly en la cookie de sesión

Se inició un método HTTP no seguro

Solicitud de inicio de sesión descifrada

1. La contraseña ingresada por el usuario se cifra con MD5 en la página y se retroalimenta al cuadro de ingreso de contraseña.

  1. Genere manualmente un certificado de acceso de seguridad SSL; no lo presentaré aquí, y los métodos relacionados se pueden encontrar en línea;

  2. Cambie el modo de acceso HTTP del producto al modo de acceso de seguridad SSL; agregue el siguiente código a server.xml en la carpeta conf del servidor de aplicaciones Apache-Tomcat:

<!--设置SSL(Https)安全访问方式;访问端口为:8443 ->
<Connectorport="8443"minSpareThreads="5"maxSpareThreads="75"
enableLookups="true"disableUploadTimeout="true"
acceptCount="100"maxThreads="200"
scheme="https" secure="true"SSLEnabled="true"
ciphers="SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA,
SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
keystoreFile="keystore/server.keystore"keystorePass="123456"
clientAuth="false"sslProtocol="TLS"/>

(Nota: keystore/server.keystore es la ruta de almacenamiento del certificado; 123456 es la contraseña del certificado;)
4. Agregue el siguiente código al archivo WEB.XML del producto:

<!--解决安全性问题:已解密登录请求;将改为SSL安全访问方式 -->
<security-constraint>
<web-resource-collection>
<web-resource-name>SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>

secuencias de comandos entre sitios

Al establecer un método de filtro, se agrega para juzgar y filtrar la fuente de información de respuesta de solicitud y para limpiar y filtrar toda la información de entrada del usuario.
Al desinfectar y filtrar la entrada del usuario que contiene caracteres peligrosos, es posible evitar que los usuarios maliciosos hagan que la aplicación realice tareas no deseadas.
Por ejemplo: iniciar consultas SQL arbitrarias, incrustar código Javascript que se ejecutará en el lado del cliente, ejecutar varios comandos del sistema operativo, etc.
Para una implementación específica, consulte la solución de combinar 1. Escritura de archivos de inyección SQL y 3. Falsificación de solicitudes entre sitios;

Falsificación de solicitud entre sitios

Agregado en el filtro para juzgar y filtrar la fuente de información de respuesta de solicitud

//解决安全性问题:跨站点请求伪造
   String referer = req.getHeader("Referer");   //REFRESH  
   String serverName = request.getServerName();
if(null != referer&&referer.indexOf(serverName) < 0){
    
                
req.getRequestDispatcher(req.getRequestURI()).forward(req, response);  
   }

sesión no actualizada

Agregue el siguiente código a la página de inicio de sesión

//解决安全性问题,会话未更新
request.getSession().invalidate();//清空session
Cookie[] cookies = request.getCookies();//获取cookie
if(null != cookies &&cookies.length> 0){
    
    
for(Cookie cookie : cookies){
    
    
cookie.setMaxAge(0);//让cookie过期
}
}

Escritura de archivos de inyección SQL (requiere autenticación de usuario)

Al establecer un método de filtro, toda la información ingresada por el usuario se limpia y filtra. Al limpiar y filtrar los caracteres peligrosos contenidos en la entrada del usuario, es posible evitar que los usuarios malintencionados hagan que la aplicación realice tareas no planificadas, como iniciar consultas SQL arbitrarias, incrustar código Javascript que se ejecutará en el cliente, ejecutar varios comandos del sistema operativo , etc .

[1] |(竖线符号)
[2] &&符号)
[3];(分号)
[4] $(美元符号)
[5] %(百分比符号)
[6] @(at 符号)
[7] \'(单引号)
[8] "(引号)
[9] \\'(反斜杠转义单引号)
[10] \"(反斜杠转义引号)
[11] <>(尖括号)
[12] ()(括号)
[13] +(加号)
[14] CR(回车符,ASCII 0x0d)
[15] LF(换行,ASCII 0x0a)
[16] ,(逗号)
[17] \(反斜杠)

https://www.likecs.com/show-339524.html

Supongo que te gusta

Origin blog.csdn.net/weixin_44406011/article/details/131715458
Recomendado
Clasificación