Validacion del flujo de compra
A continuación, explicaré cada una de las peticiones y señalaré aspectos relevantes desde la perspectiva de un pentester.
Detalles Importantes de agregar.php:
producto=1 y cantidad=1: Esto indica que el producto que se está agregando al carrito tiene un ID de producto 1 y se está agregando una unidad. Si el ID del producto es autoincremental, esto podrÃa ser explotado por un atacante para intentar manipular o ver productos adicionales. Un pentester podrÃa probar manipulaciones en el ID, por ejemplo:
producto=2&cantidad=10
Esta manipulación podrÃa verificar si es posible agregar productos no autorizados o más costosos al carrito, o incluso productos ocultos o no disponibles públicamente.
comprar=Buy+Now: Este parámetro probablemente activa la acción de agregar el producto al carrito de compras.

La página previa de comprar.php parece cargar y visualizar los productos agregados al carrito. Según la imagen, se muestra una tabla con los productos, cantidades y precios, y un campo de correo electrónico donde el usuario ingresa su dirección para finalizar la compra.

Analisis de proceso.php con parametro llamado Correo Electrónico (email=eliasib%40spartan.com
): El correo electrónico parece ser un identificador clave en el proceso de facturación. Si no hay validaciones adecuadas en el backend, un pentester podrÃa manipular el campo del correo electrónico para procesar una compra a nombre de otro usuario:
email=otro_usuario%40correo.com
Si el sistema permite esta manipulación sin validación adicional, el atacante podrÃa cargar un carrito de compras o realizar una compra utilizando la cuenta de correo electrónico de otra persona, lo que serÃa una grave vulnerabilidad.

Los ID autoincrementales son útiles en bases de datos, pero pueden ser un vector de ataque si se exponen directamente en las solicitudes HTTP. Si el parámetro producto=1
o invoiceid
corresponde a un ID autoincremental en la base de datos, un atacante podrÃa intentar enumerar productos u otras entidades sensibles probando con diferentes valores de ID:

Se intento cargar la compra del carrito a otro usuario pero no fue posible:

Last updated