我正在尝试编写一个故意易受命令注入攻击的页面。这是针对培训环境的。这是我到目前为止的代码:
public ActionResult CommandInjection()
{
string domain = Request.QueryString["domain"];
ViewBag.Domain = domain;
ProcessStartInfo psi = new ProcessStartInfo("nslookup.exe", domain)
{
UseShellExecute = false,
CreateNoWindow = true,
RedirectStandardOutput = true
};
var proc = Process.Start(psi);
string result = proc.StandardOutput.ReadToEnd();
ViewBag.Msg = "This page is vulnerable to Command Injection";
ViewBag.Result = result;
return View();
}
看到正常的域查询请求时,它似乎运行良好。
但是,当它看到这样的请求时:
http://localhost:50159/Home/CommandInjection?domain=www.google.com+%26+dir 它返回一个空白。
我期望的是它将返回域查找的结果,然后返回dir命令的输出。
C#
慕运维8079593
相关分类