void TestLog(int LogId) { Session Sess = Session.FromProxyLog(LogId); if (Sess.Response != null) { Request ReqToTest = ModifyCsrfTokenInRequest(Sess.Request.GetClone()); ReqToTest.SetSource("CsrfTester"); if (LoginRecording != null) { ReqToTest.SetCookie(LoginRecording.Cookies); if (!LoginRecording.IsLoggedIn()) { LoginRecording.DoLogin(); if (!LoginRecording.IsLoggedIn()) { throw new Exception("Unable to login user!"); } ReqToTest.SetCookie(LoginRecording.Cookies); } } Response Res = ReqToTest.Send(); int DiffPercent = Tools.DiffLevel(Sess.Response.ToString(), Res.ToString()); AddTestResult(Sess.Request.ToBinaryString(), Sess.Response.ToBinaryString(), ReqToTest.ToBinaryString(), Res.ToBinaryString(), DiffPercent, Sess.Request, ReqToTest); } }
void TestLog(int LogId) { Session Sess = Session.FromProxyLog(LogId); if (Sess.Response != null) { foreach (string Section in ParametersToAdd.Keys) { foreach (string[] ParamVal in ParametersToAdd[Section]) { Request ReqToTest = Sess.Request.GetClone(); switch (Section) { case ("Query"): ReqToTest.Query.Set(ParamVal[0], ParamVal[1]); break; case ("Body"): if (ReqToTest.IsNormal) { ReqToTest.Body.Set(ParamVal[0], ParamVal[1]); } break; case ("Cookie"): ReqToTest.Cookie.Set(ParamVal[0], ParamVal[1]); break; case ("Headers"): if (ParamVal[0].Equals("Host")) { ReqToTest.OverrideHostTo = ParamVal[1]; } else { ReqToTest.Headers.Set(ParamVal[0], ParamVal[1]); } break; } ReqToTest.SetSource("HiddenParameterGuesser"); if (LoginRecording != null) { ReqToTest.SetCookie(LoginRecording.Cookies); if (!LoginRecording.IsLoggedIn()) { LoginRecording.DoLogin(); if (!LoginRecording.IsLoggedIn()) { throw new Exception("Unable to login user!"); } ReqToTest.SetCookie(LoginRecording.Cookies); } } Response Res = ReqToTest.Send(); int DiffPercent = Tools.DiffLevel(Sess.Response.ToString(), Res.ToString()); AddTestResult(Sess.Request.ToBinaryString(), Sess.Response.ToBinaryString(), ReqToTest.ToBinaryString(), Res.ToBinaryString(), DiffPercent, Sess.Request, ReqToTest, Section, ParamVal[0], ParamVal[1]); } } } }