Text 以编程方式在C#中打开文本文件

Text 以编程方式在C#中打开文本文件,text,operating-system,command,code-injection,process.start,Text,Operating System,Command,Code Injection,Process.start,我想使用C#以编程方式打开文本文件。我使用了: System.Diagnostics.Process.Start(test.txt); 但该代码在扫描威胁时会导致操作系统命令注入问题 有什么方法可以通过编程方式打开文本文件吗??还是绕过操作系统命令注入的方法 谢谢你你应该调用一个程序,比如说记事本: Process.Start("notepad.exe", fileName); 参数是文件名: Process.Start("notepad.exe", "Test.txt"); 请参阅本文

我想使用C#以编程方式打开文本文件。我使用了:

System.Diagnostics.Process.Start(test.txt);
但该代码在扫描威胁时会导致操作系统命令注入问题

有什么方法可以通过编程方式打开文本文件吗??还是绕过操作系统命令注入的方法


谢谢你

你应该调用一个程序,比如说记事本:

Process.Start("notepad.exe", fileName);
参数是文件名:

 Process.Start("notepad.exe", "Test.txt");
请参阅本文评论中的代码问题: 试试:

 System.Diagnostics.Process process = new System.Diagnostics.Process();
 System.Diagnostics.ProcessStartInfo startInfo = new 
 System.Diagnostics.ProcessStartInfo();
 startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
 startInfo.FileName = "cmd.exe";
 string _path = "c:/filepath";
 startInfo.Arguments = string.Format("/C start {0}", _path);
 process.StartInfo = startInfo;
 process.Start();

我现在正在尝试这个解决方案,并将进行扫描。感谢您的即时回复。这并不能解决问题,它仍在捕获进程。以OS命令注入的形式启动。您实际上是在输入诸如“This_is_hard_coded.txt”之类的字符串,还是只是在没有任何验证的情况下传递参数?请参阅:First time:var test=“test.txt”process.start(test)我甚至验证了变量以检查它是否包含“txt”是的,但是您是否尝试过将notepad.exe和test.txt作为硬编码字符串传递(不是从args传递)-如果这对您不起作用,我必须放弃:)