如何在asp mvc 3中破解回发?

时间:2014-05-27 09:35:15

标签: c# asp.net asp.net-mvc

拥有 ASP MVC 3下的一些遗留代码(绝对破坏了所有理论ASP MVC的想法)。 因为我低估了这个代码是可能的,通过发送假回发到控制器? 我只是想知道如何破解ValidateAntiForgeryToken和Session假会话。什么是人们可以使用的软件?

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ProcessSignUpRequest()
{
    string message = "";
    string username = Request.Form["txtusername"];
    string email = Request.Form["txtemail"];
    string name = Request.Form["txtusername"];
    string password = Request.Form["txtoldpassword"];
    string txtCaptcha = Request.Form["txtcaptcha"];
    string startTime = Request.Form["startTime"];
    string userphone = Request.Form["phone"];

    try
    {
        if (txtCaptcha != (string)Session[Constants.CaptchaCodeSessionKey])
        {
            message = "captcha is wrong";
            return GetStandardJsonActionResult(false, message);
        }

        // some code about adding user to database

        return GetStandardJsonActionResult(true, message);
    }
    catch (Exception ex)
    {
        return GetStandardJsonActionResult(false, "Not possible to create user. " + username);
    }
}

1 个答案:

答案 0 :(得分:1)

AntiForgeryToken将在表单中创建一个隐藏字段,并在其中添加一个值。在发布期间,如果值与MVC生成的值不匹配,您的请求将被取消。它只是确认帖子来自您的网站。搜索CSRF(跨站点请求伪造)。

验证码将“验证”表格中填写了“人物”,并且它不是机器人/爬虫。