如何在asp mvc 3中破解回发
本文关键字:破解 mvc asp | 更新日期: 2023-09-27 18:05:14
我有一些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);
}
}
AntiForgeryToken将在您的表单中创建一个隐藏字段,并在其中放置一个值。在发布期间,如果值与MVC生成的不匹配,您的请求将被取消。它只是确认帖子来自你的网站。搜索CSRF(跨站点请求伪造)。
Captcha将"验证"一个"人"填写了您的表单,而不是一个机器人/爬虫。