Puede alguien decirme más detalles sobre él?

OriginalEl autor Lorenzo | 2010-10-17

4 Comentarios

  1. 11

    Básicamente el anti falsificación de fichas de detener a cualquier persona de presentar peticiones a su sitio que está generado por un script malicioso, no generado por el usuario real. Hay un sólo HTTP cookie (no legible por una secuencia de comandos se ejecuta en el navegador, sino que es enviado por el navegador y accesible por el servidor) que se envía al cliente, se utiliza para generar un campo oculto con el valor que se valida en la cookie. Al menos creo que ese es el proceso.

    Hay una buena descripción de este aquí, que es exactamente lo que usted está preguntando acerca de
    https://blogs.msmvps.com/luisabreu/blog/2009/02/09/the-mvc-platform-the-new-anti-forgery-token/

    OriginalEl autor ameer

  2. 6

    Utilizando AntiForgeryToken ayuda a mitigar cross-site request forgery ataques.

    Cuando se utiliza, el formulario contiene un campo oculto y una cookie correspondiente aparecerá en el navegador.

    Entonces, cuando se envía el formulario, el campo oculto se compara con el valor de la cookie (suponiendo que ValidateAntiForgeryTokenAttribute se utiliza): si el campo y la concordancia de cookies, a continuación, el formulario post es probablemente genuino; si no, probablemente no. (Un atacante intenta un ataque CSRF podría ser capaz de forjar el campo oculto, pero no debería ser también capaces de forjar el correspondiente valor de la cookie.)

    Gracias por la respuesta. Si el usuario todos los valores han sido correctamente codificado en el código, puede todavía sucede esto?
    o alguien: ¿Cómo es que el usuario sea capaz de forjar el campo oculto?

    OriginalEl autor LukeH

  3. 2

    Bueno el día de hoy, vamos a ver un tipo de violación de la seguridad en una aplicación web que se llama Cross Site Request Forgery o CSRF hack. CSRF es el menos conocido, primo de XSS.Cross Site Request forgery es un tipo de un hack donde el hacker se aprovecha de la confianza de un sitio web en el usuario.

    La manera fácil de hacer esto es utilizar el ValidateAnitForgery token atributo en ProductDetails post método de acción de la siguiente manera

    [HttpPost]
    [Authorize(Roles = "Admins")]
    [ValidateAntiForgeryToken()]
    public ActionResult Edit(ProductDetails productdetails)
    {
      if (ModelState.IsValid)
      {
        db.Entry(productdetails).State = EntityState.Modified;
        db.SaveChanges();
        return RedirectToAction("Index");
     }
     return View(productdetails);
    }

    Para generar el AntiForgeryToken y la Cookie en el lado del cliente, declaramos lo siguiente en el formulario HTML en la Edición.cshtml

    @using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    @Html.AntiForgeryToken()
    <fieldset>
        <legend>ProductDetails</legend>

    Esto asegura que una forma de ser publicadas en el servidor de era en realidad generada por el mismo servidor. Por lo tanto falsos formularios que no tienen la AntiForgeryToken desde el servidor correcto, es rechazado.

    Consulte también el sencillo ejemplo que aquí

    https://github.com/devcurry/mvc101-anti-forgery-token

    OriginalEl autor Abi

  4. 0

    En general, la anti-falsificación-token es un HTML de entrada oculto que procesa para evitar ataques CSRF. En general, funciona comparando el valor que el servidor envía al cliente lo que el cliente envía de vuelta en el post. Es que todo lo que estás buscando?

    Probablemente, usted debe comprobar fuera de MSDN para obtener más detalles.

    Me gustaría entender mejor lo que es el problema abordado. Supongo que es un poco diferente de XSS. Is’?
    AntiForgeryToken se utiliza para defender contra CSRF, no XSS. en.wikipedia.org/wiki/Cross-site_request_forgery
    Gracias por la corrección.

    OriginalEl autor Esteban Araya

Dejar respuesta

Please enter your comment!
Please enter your name here