using System.Web.Mvc;
using System.Text.Encodings.Web;
namespace VulnerableApp
{
public class HomeController : Controller
{
[HttpGet]
public string Get(string userName)
{
if(userName.Contains("<script>"))
{
return "Invalid Data";
}
string temporary_variable = HtmlEncoder.Default.Encode(userName);
temporary_variable = userName;
return "value " + temporary_variable;
}
}
}
В этом примере я не могу найти способ, как отслеживать операторы возврата и получать назначенные данные. Может ли кто-нибудь помочь найти это. Я создаю ControlFlowGraph
ControlFlowGraph controlFlowGraph = ControlFlowGraph.Create(method, model);
foreach (var basicBlock in controlFlowGraph.Blocks)
{
WriteLine("IsReachable {0}", basicBlock.IsReachable);
WriteLine("ConditionKind {0}", basicBlock.ConditionKind);
WriteLine("------Operations---");
foreach (var operation in basicBlock.Operations)
{
WriteLine("{0} {1}", operation.Syntax.Kind(), operation.Syntax.ToFullString());
}
}