想看些新东西缓解一下了,.NET的反序列化漏洞也不少,打算学习一下,先来把环境搭起来吧
学习.NET微软的官方文档是非常重要的
环境搭建
这里下一个.NET8.0的版本

这三个运行时的不同点如下
-
.NET 运行时:控制台、类库、后台服务等
-
ASP.NET Core 运行时:Web 应用(MVC、API、Blazor)
-
桌面运行时:Windows 桌面应用(WinForms、WPF)
安装好后输入
dotnet -v
验证一下即可
然后创建一个示例项目运行一下看看
dotnet new console -o sample1
cd sample1
dotnet run

创建控制台应用
写c#我这里还是选择vscode比较熟悉
在vscode安装开发插件后,我们可以选择创建.NET项目

创建一个控制台应用,其文件结构如下:

这里的写法其实是一个顶级语句写法,可以看https://learn.microsoft.com/zh-cn/dotnet/csharp/fundamentals/program-structure/top-level-statements这篇文档
正常应该这么写
namespace HelloWorld;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
这里有跟java差不多,一个类一个Main函数
c#这里并没有要求类名一定要和文件名一致,这是和java不一样的地方
后续的一些语法上的东西就不特别记录了,看官方文档自己过一遍就好,主要记录漏洞部分
参考
https://learn.microsoft.com/zh-cn/dotnet/fundamentals/