调用.NET Interaction.Shell执行系统命令

admin 2023年2月28日15:05:09评论18 views字数 1247阅读4分9秒阅读模式

0x01 基本介绍

Interaction.Shell方法是在Visual Basic.NET中定义的一个方法,可以在Windows操作系统中启动一个外部程序或执行一个命令,并且可以指定应用程序的工作目录和命令行参数等。在.NET Framework中,这个方法也可以通过Microsoft.VisualBasic.Interaction类进行调用。下面是Interaction.Shell方法的参数及用法:

Microsoft.VisualBasic.Interaction.Shell(pathNamestylewaittimeout)

入参pathName:要启动的程序文件路径或命令行命令,可以是一个字符串表达式,也可以是一个Object类型的表达式。如果是字符串表达式,必须包含完整的路径和文件名,如果是Object类型的表达式,则需要将其转换为字符串类型。style参数是一个可选的整数值,指定了应用程序窗口的外观和行为,可以取以下值之一

0:隐藏应用程序窗口。1:正常大小和位置。2:最小化。3:最大化。4:不激活应用程序窗口。6:隐藏应用程序窗口,同时在任务栏上显示一个按钮。

参数wait:一个可选的布尔值,指定是否等待启动的程序完成,可以取以下值之一

True:等待程序完成后继续执行。False:不等待程序完成,立即返回。

下面是一个使用Interaction.Shell方法启动外部程序的demo

Microsoft.VisualBasic.Interaction.Shell("C:WindowsSystem32notepad.exe", AppWinStyle.NormalFocustrue-1)

在上面的示例中,我们使用Interaction.Shell方法启动Windows系统中的记事本应用程序,并将其窗口设置为正常大小和位置,等待程序完成后继续执行。由于没有指定超时时间,因此等待程序完成的时间没有限制。需要注意的是,Interaction.Shell方法在启动外部程序时并没有提供进程间通信(IPC)的功能,因此在启动外部程序后,不能直接与其进行交互或获取其输出。如果需要进行IPC操作,则需要使用其他的方法或技术,例如使用命名管道或套接字等

0x02 Webshell

调用需要引入程序集Microsoft.VisualBasic.dll,代码如下 ,文章涉及的工具和PDF已打包发布在星球

<script runat="server" language="c#">    public void Page_load(){           Interaction.Shell("calc.exe", AppWinStyle.NormalFocus);        } </script>

欢迎对.NET安全关注和关心的同学加入我们 [dotNet安全矩阵] ,在这里能遇到有情有义的小伙伴,大家聚在一起做一件有意义的事

调用.NET Interaction.Shell执行系统命令

原文始发于微信公众号(dotNet安全矩阵):调用.NET Interaction.Shell执行系统命令

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年2月28日15:05:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   调用.NET Interaction.Shell执行系统命令https://cn-sec.com/archives/1579370.html

发表评论

匿名网友 填写信息