摘要:
1. 矩阵简介 欢迎进入dotNet安全矩阵,[ dotNet安全矩阵 ] —— 聚焦于微软.NET安全技术,关注基于.NET衍生出的各种红蓝攻防对抗技术、分享内容不限于 .NET代码审计、 最新的.NET漏洞分析、反序列化漏洞研究、有趣的.NET安全Trick、.NET开源软件分享、. NET生态 阅读全文
摘要:
0x01 链路1 SettingsPropertyValue SettingsPropertyValue位于命名空间 System.Configuration,用于应用程序存储和检索设置的值,此类具有Name、IsDirty、Deserialized、PropertyValue、Serialized 阅读全文
摘要:
Response.BinaryWrite Response.BinaryWrite是.NET中用于将字节数据发送到客户端的方法,比如直接输出图像、音频或视频等二进制数据到客户端。下面是Response.BinaryWrite的代码示例,复现存在文件下载漏洞的场景,代码如下 string fileNa 阅读全文
摘要:
dot.NET安全矩阵星球群有位师傅问起如何才能生成和ysoserial一样的JavaScriptSerializer序列化poc,同Json.NET一样序列化使用了ObjectDataProvider类,ObjectInstance属性绑定实例化的Process对象,这里没有使用MethodPar 阅读全文
摘要:
Ysoserial.Net只提供序列化之后的Payload主体,具体执行的命令从外部输入,实现代码清单如下 String payload = @"{ '$type':'System.Windows.Data.ObjectDataProvider, PresentationFramework, Ver 阅读全文
摘要:
在.NET MVC项目中,默认创建的视图,都是以cshtml为后缀的Razor视图,这种视图通常以.cshtml文件扩展名,Razor视图引擎对自动对输出的内容进行HTML编码,这些字符会被编码成HTML实体,如图1 如果确实某些场景需要在视图中显示原始HTML内容,而不进行HTML编码,可以使用H 阅读全文
摘要:
.NET禁止解析特定文件扩展名,使用web.config配置handler节点,所有的HTTP请求均被系统System.Web.HttpForbiddenHandler拦截,例如限制当前web目录不允许解析aspx扩展名 <system.webServer> <handlers> <add name 阅读全文
摘要:
.NET通过Type.GetTypeFromCLSID获取组件的 CLSID,CLSID 是一个唯一标识符,用于标识 组件,如果遇到某些拦截的场景,可以使用GetTypeFromCLSID替代GetTypeFromProgID,这样做的好处传递的组件的方式从名称转成唯一标识符,例如ShellBrow 阅读全文
摘要:
在.NET中,IntPtr是一个结构体,封装于mscorlib.dll程序集,表示一个指针或句柄类型的整数值。它的作用类似于C/C++中的void*指针类型,可以存储指向任意数据类型的内存地址 ,定义如下图 IntPtr通常用于与非托管代码进行交互,比如调用Win32 API函数,由于非托管代码使用 阅读全文
摘要:
背景是微信群里有伙伴问起asmx接口怎么测试,其实和其他语言的API接口一样,每一条接口都有可能存在SQL注入、XXE、文件读取写入等风险,代码审计时需关注扩展名为 .asmx的文件。在审计XXE漏洞时需看loadxml方法,如下图 HTTP请求Post 需要把xxe.xml地址更换成你的主机地址 阅读全文
摘要:
0x01 案例一 bin目录在.NET下默认不允许通过HTTP请求访问,如果想设置能访问的话,通过移除<requestFiltering>标签内的<hiddenSegments>即可,黑盒扫描的时候记得要扫一下bin目录,白盒审计时需注意如下代码片段 <system.webServer> <dire 阅读全文