asp.net 如何解决微软的问题,代码分析,CSharp,脚本,CSharpScript

k10s72fa  于 2023-01-14  发布在  .NET
关注(0)|答案(1)|浏览(107)
[HttpGet("vulnerability")]
public IActionResult vulnerability(string input)
{
  object content = 0;
  try
  {
    content = new Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript(input).EvaluateAsync().Result;
  }
  catch (Exception)
  {
    content = "";
  }
  return View("Example", new { vuln = content });
}

我将在. net内核中实现一个"代码注入"漏洞。
易受攻击的配置将输入作为输入,并尝试将其作为eval执行。是)输入:1 + 1结果屏幕:2
顺便说一句
脚本编写。CSharpScript(输入)。计算异步()。结果;
部分中出现错误。出现错误-CS0712
微软.代码分析. CSharp.脚本编写. CSharp脚本(输入).
部分中出现错误。CS0712
评估异步()发生错误-CS1501
我该如何解决这个问题?
我试图通过查阅官方文件来解决这个问题。

yjghlzjz

yjghlzjz1#

您的代码应该如下所示:

[HttpGet("vulnerability")]
    public async Task<IActionResult> vulnerability(string input)
    {
        object content = 0;
        try
        {
            content =  await CSharpScript.EvaluateAsync(input);
        }
        catch (Exception)
        {
            content = "";
        }
        return Ok(new { vuln = content });
    }

测试结果为:

相关问题