Usar campos de formulario ocultos para modificar los precios en un sitio web

0

Me encontré con esta pregunta sobre Cybrary sobre el ataque que se realizará Se utiliza para modificar los precios en un sitio web. En primer lugar, asumo que por precios se refieren a los precios de un producto como en un sitio web de comercio electrónico (corríjame si me equivoco). La respuesta a esta pregunta es campos de formulario ocultos. Me pregunto cómo es eso posible.

Según mi conocimiento, los campos de formulario ocultos son una alternativa para la naturaleza sin estado de HTTP. Actúan como un token de sesión, al igual que las cookies. ¿Cómo se pueden usar valores ocultos para modificar los precios? En mi opinión, la respuesta debería ser la inyección SQL, ya que puede utilizarse para modificar el contenido de una base de datos. ¿Alguna idea?

    
pregunta 7_R3X 11.06.2017 - 13:28
fuente

3 respuestas

1
  

Según mi conocimiento, los campos de formulario ocultos son una alternativa para la naturaleza sin estado de HTTP. Actúan como un token de sesión, al igual que las cookies. ¿Cómo se pueden usar valores ocultos para modificar los precios?

Los campos de formulario ocultos hacen que algunos datos se envíen con un formulario. Por ejemplo:

<form method="POST" action="/post_answer">
    <textarea name="answer"></textarea>
    <input type="hidden" name="question_id" value="161719">
</form>

De esta manera, si escribo una respuesta en el área de texto, el servidor sabe que esta respuesta es para la pregunta 161719.

Esto es diferente de un token de sesión. Un token de sesión se almacena en una cookie e identifica la sesión. Lo que quizás quiere decir es que el ID de la pregunta podría almacenarse en la sesión. Eso es cierto, con un ligero cambio en el comportamiento: si visito varias preguntas en varias pestañas y las contesto fuera de orden, la identificación de la pregunta en la sesión será incorrecta. El publicado con la respuesta en el campo de formulario oculto seguirá siendo correcto.

Entonces, ¿cómo se pueden modificar los precios? Si el formulario se ve así:

<form method="POST" action="/finish_order">
    Enter your shipping address: <textarea name="address"></textarea>
    <input type="hidden" name="price_to_pay" value="$123.45">
    <input type="hidden" name="order_id" value="6789">
</form>

Aquí el price_to_pay se envía a finish_order , y se le cobra $ 123.45. Sin embargo, puede modificar fácilmente este valor para que se cargue menos. Si esto funciona y si su pedido aún se envía, depende de la implementación del sitio web y de las verificaciones de procedimientos existentes.

    
respondido por el Sjoerd 11.06.2017 - 13:51
fuente
0
  

Si un pirata informático quisiera modificar los precios en un sitio web, ¿cuál de los siguientes métodos usaría? Además, no se muestran alertas a través de IDS.

Esto no es mucho contexto o detalle para una pregunta como esta. Depende de lo que signifique "modificar precios".

  

XSS

Si el sitio web es vulnerable a XSS, se puede usar XSS para modificar las apariencias del sitio web. Esto significa que el precio que se muestra en el sitio web se puede cambiar.

  

Campos de formulario ocultos

Si durante el proceso de pago, el sitio web almacena el monto a pagar en un campo de formulario oculto sin más validación, un visitante puede cambiar el valor de este campo de formulario y pagar menos por el artículo solicitado. Así que el precio a pagar puede ser modificado.

  

inyección SQL

La inyección SQL hace posible alterar los datos en la base de datos. Los precios presumibles se almacenan en la base de datos y se pueden cambiar, por lo que esto también permitiría modificar los precios. Sin embargo, este es más probable que muestre una alerta en un IDS.

  

Escaneo de puertos

No, el escaneo de puertos no se puede usar para modificar los precios.

    
respondido por el Sjoerd 11.06.2017 - 13:43
fuente
0

Las preguntas de opción múltiple como esta a menudo son ambiguas y pueden tener más de una respuesta válida.

Si bien tiene razón en que la inyección de SQL puede usarse para modificar los precios, la clave aquí es que no hay alertas de IDS, por lo que con un IDS bien configurado que está buscando una inyección, dejaría un rastro.

Algunas implementaciones deficientes de sitios de comercio electrónico cargan los datos del producto y usan campos ocultos para almacenar el precio que se transfiere al servicio de pago. Esto es más común cuando una tienda en línea necesita comunicar los precios con una pasarela de pago de terceros.

Por lo tanto, el ataque en este caso sería identificar el campo oculto que contiene su precio, editarlo para que sea un centavo a través de las herramientas de desarrollador estándar en el navegador y completar la transacción como normal

    
respondido por el iainpb 11.06.2017 - 13:44
fuente

Lea otras preguntas en las etiquetas