AJAX - Vulnerabilidad de seguridad método AJAX

 
Vista:

Vulnerabilidad de seguridad método AJAX

Publicado por Ruben (3 intervenciones) el 10/04/2018 16:52:52
Buenas tardes,

Tengo un problema de vulnerabilidad en mi WEB al utilizar AJAX método POST para pasar parámetros a un servicio JAVA.

En el network del navegador los parámetros que aparecen al ejecutarlo son:

Request URL : https://www........../contactabilidadEnvio.jsp
Request Method : Post
Status Code : 200 OK


Con esto entiendo que el AJAX se está generando como POST y el servicio JAVA que lo recive funciona correctamente pero la problemática es la siguiente;

Si ejecuto la URL https://www........../contactabilidadEnvio.jsp?param1=confidencial&param2=confidencial2&param3=confidencial3

En el network del navegador los parámetros que me aparecen son los siguientes:

Reques URL : https://www........../contactabilidadEnvio.jsp?param1=confidencial&param2=confidencial2&param3=confidencial3
Request Method : GET
Status Code : 200 OK


¿Porqué me deja llamar al servicio con parámetros en la URL y la función AJAX de mi fichero.js (la cuál está generada para que sea POST) me devuelve GET y encima el servicio JAVA funciona??

¿Se pueden pasar parámetros por URL y la función de JavaScript que realiza el AJAX POST es capaz de recogerlos de URL?

¿Como puedo evitar este funcionamiento para que si lanzo la llamada al servicio JAVa directamente con parámetros en la URL no funcione?


el archivo.js contiene una función para generar el AJAX con método POST de la siguiente manera genérica:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function envioAjaxPost(....)
 
var formData1 = {
'param1' : param1,
'param2' : param2
}
 
jquery.ajax({
type : "POST",
url: "...................../contactabilidadEnvio.jsp"
data : formData1,
context: document.body,
success: function(data,textStatus)
{
lo que sea
},
errr:function(xhr, textStatus, errorThrown){}


Espero haberme explicado bien, no puedo poner información sobre los ficheros puesto que son información un tanto sensible.

Cualquier comentario, información ayuda es de agradecer.

Un saludo y gracias de antemano,

Rubén
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 90
Oro
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Vulnerabilidad de seguridad método AJAX

Publicado por xve (222 intervenciones) el 10/04/2018 19:01:38
Hola Ruben, cuando dices "En el network del navegador", te refieres a la pagina que se carga o la petición que hace AJAX? porque el AJAX (según nos muestras), la petición es en POST y sin parámetros en la URL!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vulnerabilidad de seguridad método AJAX

Publicado por Rubén (3 intervenciones) el 11/04/2018 08:24:14
Hola xve,

Gracias por tu contestación.

Cuando me refiero al network del navegador, me refiero en el chrome, al inspector (F12) en la pestañan "Network" donde se puede ver la llamada al servicio con los parámetros que pongo en la descripción del problema.

La cosa es que yo veo en el inspector de chrome que se está realizando por método POST correctamente, peros si fuerzo a llamar el servicio JAVA con parámetros en la URL, también funciona correctamente..... Necesitaría que cuando lo hago con parámetros en la URL diera un error o que el servicio no funcionara, para que no viajen por URL paramétros sensibles para el usuario (correo, nombre....)

Espero sus comentarios,

Gracias y un saludo,

Rubén
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro
Val: 2
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Vulnerabilidad de seguridad método AJAX

Publicado por Alejandro (2 intervenciones) el 10/04/2018 23:04:58
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
Precisamente hoy necesite algo similar

Esto es lo que encontre para php y asi fue mi traduccion a ASP
1
2
3
4
5
6
if not Request.ServerVariables("HTTP_X-Requested-With") = "XMLHttpRequest" then
'No es Ajax
response.end
end if

'Si llega aqui si es Ajax.

tendrias que traducirlo para java.

Eso de que funcione sin importar si es Post o Get, por ejemplo en php
$_POST['algo'] != $_GET['algo']
$_REQUEST['algo'] = $_POST['algo'] o $_GET['algo']
desconosco la prioridad ya que no lo uso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Vulnerabilidad de seguridad método AJAX

Publicado por Ruben (3 intervenciones) el 11/04/2018 08:27:13
Hola Alejandro,

gracias por tu comentario.

Entiendo entonces que ,¿el tratamiento de si es get o post lo debería de hacer en el servicio JAVA a través de la request verdad?

Lo debería de traducir yo a JAVA el código que comentas de PHP. Sería un buen ejercicio para testear si funciona o no, lo probaré y os comentaré como fue la prueba.

De todas maneras, ¿sabrían decirme porqué al pasar parámetros por URL me funiona el servicio como GET aún estando el AJAX como POST?

Gracias y un saludo,

Rubén
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar