草庐IT

Fastjson反序列化漏洞

全部标签

c# - 如何在 C# 中将 null 数组反序列化为 null?

这是我的类(class):publicclassCommand{[XmlArray(IsNullable=true)]publicListTo{get;set;}}当我序列化这个类的一个对象时:vars=newXmlSerializer(typeof(Command));s.Serialize(Console.Out,newCommand());它按预期打印(省略了xmlheader和默认MS命名空间):当我使用这个xml并试图反序列化它时,我卡住了,因为它总是打印“Notnull”:vart=s.Deserialize(...);if(t.To==null)Console.Write

c# - 枚举不序列化

我有一个WCF服务。它绑定(bind)到MSMQ,但这不是这里的问题。我可以序列化一个对象,该对象具有基类和在基类中实现的接口(interface),具体类派生自基类-这工作正常。然而,当我在基类中有一个枚举并设置该值时,在它被反序列化/从MSMQ读取之后,该值仍设置为默认值(即不是在代码中手动设置的值)有什么想法吗?我什至将枚举标记为DataContract,并将每个Enum成员标记为EnumMember属性。如何序列化枚举? 最佳答案 试试这个。[Serializable]publicenumEnumToSerialize{[X

c# - 在 Web.API Controller 中自动反序列化为类似字符串的类

我有一个Web.API端点,它将这样的对象作为参数:publicclassPerson{publicstringFirstName{get;set;}publicstringLastName{get;set;}publicintAge{get;set;}publicUserNameUserName{get;set;}}例如:[Route("api/person")][AcceptVerbs("POST")]publicvoidUpdatePerson(Personperson){//etc.}(这只是一个例子-我们实际上并没有通过我们的Web.API端点接受用户名)我们的UserNam

WBCE CMS安全漏洞(CVE-2022-25099)

文章目录0x01漏洞介绍0x02影响版本0x03漏洞编号0x04漏洞查询0x05漏洞环境0x06漏洞复现0x07修复建议免责声明摘抄0x01漏洞介绍WBCECMS是一套基于PHP和MySQL的开源内容管理系统(CMS)。WBCECMS存在安全漏洞,该漏洞源于/languages/index.php中的漏洞允许攻击者通过精心设计的PHP文件执行任意代码。WBCECMSv1.5.2组件/languages/index.php中存在一个漏洞,使得攻击者能够通过构建的PHP文件执行任意代码。0x02影响版本WBCECMSv1.5.20x03漏洞编号CNNVD编号

c# - 如何使用 DataContractSerializer 反序列化文件中的 WCF soap 响应消息?

当我调用Web服务操作时,WCF使用DataContractSerializer将消息反序列化到代理类:为什么我不能这样做?这是文件ActLoginResponse.xml中的soap消息:0Loginetpasswordcorrect.IMT_706IMAPROTECT0TS30相应的ActLoginResponse类的WCF代理代码是:[System.Diagnostics.DebuggerStepThroughAttribute()][System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel","4.0

c# - 使用 JsonConverter 的 Json.NET 自定义序列化 - 如何获得 "default"行为

我的类DataType有一个JsonConverter。当在Json中使用纯字符串作为DataType类型的属性值时,我想做一些特殊处理。在值是“完整”对象的情况下,我想进行“正常”反序列化。这是我的尝试publicoverrideobjectReadJson(JsonReaderreader,TypeobjectType,objectexistingValue,JsonSerializerserializer){if(reader.Value!=null&&reader.ValueType==typeof(string)){returnsomeSpecialDataTypeInsta

c# - 更改单个 ASP.NET Core Controller 的 JSON 序列化设置

我有两个ControllerController:ControllerA和ControllerB。每个Controller的基类是Controller。ControllerA需要以默认格式(camelCase)返回JSON。ControllerB需要以不同的JSON格式返回数据:snake_case。如何在ASP.NETCore3.x和2.1中实现它?我尝试了startup:services.AddMvc().AddJsonOptions(options=>{options.SerializerSettings.Converters.Add(newStringEnumConverter

c# - 序列化没有根元素的数组

我试图在序列化XML时得到这个结果C:\test.txt1245我已经尝试过不同的事情了[Serializable][XmlRoot("Test")]publicclassTest{[XmlElement("Category")]publicListCategory=newList();}[Serializable][XmlRoot("Category")]publicclassCategory{[XmlElement("FileName")]publicstringFileName{get;set;}[XmlElement("Property")]publicListProperti

c# - 使用 XmlSerializer 序列化 char 数据类型

我有一个类,其属性类型为char,如下所示[XmlRoot("Root")]publicclassTestClass{[XmlElement("Test",typeof(char))]publiccharTestProperty{get;set;}}当TestProperty的值为“N”时,如果我序列化TestClass,它将产生以下结果:78但我想要的是有跟随N是否可以不将TestProperty的类型更改为字符串? 最佳答案 不是AFAIK。不过你可以作弊:[XmlIgnore]publiccharTestProperty{ge

c# - Json.NET - CustomCreationConverter 中单个属性的默认反序列化行为

在以下场景中,当CrazyItemConverter遇到我要反序列化到的类型中存在的JSON属性时,如何让它照常运行?我有一些像这样的JSON:{"Item":{"Name":"Apple","Id":null,"Size":5,"Quality":2}}JSON被反序列化为一个看起来很像这样的类:[JsonConverter(typeof(CrazyItemConverter))]publicclassItem{[JsonConverter(typeof(CrazyStringConverter))]publicstringName{get;set;}publicGuid?Id{ge