xstream

Error using XStream in Spring context: DuplicateFieldException

心不动则不痛 提交于 2021-02-19 04:28:12
问题 I've a problem using XStream in Spring context. The method c.t.x.XStream.addImplicitCollection(Class ownerType, String fieldName, String itemFieldName, Class itemType) doesn't work correctly if we import the xstream dependency in pom but it does work if we import xstream source code and we esclude related dependency in pom. We used the following dependencies' version: xstream : 1.4.11.1 spring-boot-dependencies : 2.1.2.RELEASE Testing fromXml with the xstream's dependency in the pom.xml we

Apache Struts2-052 漏洞分析预警

安稳与你 提交于 2021-02-17 00:09:15
0x00 漏洞描述 The REST Plugin is using a XStreamHandler with an instance of XStream for deserialization without any type filtering and this can lead to Remote Code Execution when deserializing XML payloads. -- Apache Struts 官方安全通告(参考1) 2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为CVE-2017-9805(S2-052)。Struts2 REST插件的XStream组件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,存在安全隐患,可被远程攻击。 Struts2启用了rest-plugin后并编写并设置了`XStreamHandler`后,可以导致远程命令执行这一严重问题。 0x01 漏洞影响面 1、影响面 确定CVE-2017-9805为高危漏洞。 实际场景中存在一定局限性,需要满足一定条件,非struts本身默认开启的组件。 2、影响版本 Version 2

XStream serialize custom Map with NamedMapConverter

爱⌒轻易说出口 提交于 2021-02-10 15:15:26
问题 I am successfully serializing my Base class containing HashMap<String, String> with NamedMapConverter . My requirements have changed and I need to change HashMap to custom StringDictionary class that extends HashMap<String, String> . But after using StringDictionary , my serialization got broken. Is there a way to configure XStream and/or NamedMapConverter to preserve needed xml output without writing custom converters? Using XStream 1.4.7 on Android. Required xml output: <base> <values> <val

CVE-2020-13671: Drupal 远程代码执行漏洞通告

a 夏天 提交于 2021-02-06 10:56:03
报告编号:B6-2020-111901 报告来源:360CERT 报告作者:360CERT 更新日期:2020-11-19 0x01 漏洞简述 2020年11月19日,360CERT监测发现 Drupal 发布了 Drupal 代码执行漏洞 的风险通告,该漏洞编号为 CVE-2020-13671 ,漏洞等级: 高危 ,漏洞评分: 8.1 。 未授权的远程攻击者通过 上传特定文件名的文件 ,可造成 任意代码执行 。 对此,360CERT建议广大用户及时将 Drupal 升级到最新版本。与此同时,请做好资产自查以及预防工作,以免遭受黑客攻击。 0x02 风险等级 360CERT对该漏洞的评定结果如下 评定方式 等级 威胁等级 高危 影响面 广泛 360CERT评分 8.1 0x03 漏洞详情 CVE-2020-13671: 代码执行漏洞 Drupal core 没有正确地处理上传文件中的某些文件名,这可能导致文件被解释为不正确的扩展名,并被用作错误的 MIME 类型,在某些特定的配置下,可能会被当作 php 解析,导致远程代码执行。 0x04 影响版本 - Drupal:Drupal : 9.0 - Drupal:Drupal : 8.9 - Drupal:Drupal : 8.8.x - Drupal:Drupal : 7 0x05 修复建议 通用修补建议 升级到最新版本: -

java下载HLS视频

痴心易碎 提交于 2021-01-23 20:07:37
转自大佬 https://www.cnblogs.com/developer-ios/p/12460006.html https://www.jianshu.com/p/dbac4c041de8 HLS简介 M3U8,用 UTF-8 编码。"M3U" 和 "M3U8" 文件都是苹果公司使用的 HTTP Live Streaming(HLS) 协议格式的基础; 是 Unicode 版本的 M3U M3U8文件是M3U文件的一种,只不过它的编码格式是UTF-8。M3U使用Latin-1字符集编码。M3U的全称是Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator,即mp3 URL。M3U是纯文本文件; 所以UTF-8编码的M3U文件也简称为 M3U8; HLS 是一个由苹果公司提出的基于 HTTP 的 流媒体 网络传输协议。 HLS 的工作原理是把整个流分成一个个小的基于 HTTP 的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的 extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。 HLS 只请求基本的 HTTP 报文

Java XStream - How to ignore some elements

。_饼干妹妹 提交于 2021-01-21 07:08:01
问题 I have the following XML: <xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="CGImap 0.0.2"> <bounds minlat="48.1400000" minlon="11.5400000" maxlat="48.1450000" maxlon="11.5430000"/> <node id="398692" lat="48.1452196" lon="11.5414971" user="Peter14" uid="13832" visible="true" version="18" changeset="10762013" timestamp="2012-02-22T18:59:41Z"> </node> <node id="1956100" lat="48.1434822" lon="11.5487963" user="Peter14" uid="13832" visible="true" version="41" changeset="10762013"

Java XStream - How to ignore some elements

对着背影说爱祢 提交于 2021-01-21 07:05:22
问题 I have the following XML: <xml version="1.0" encoding="UTF-8"?> <osm version="0.6" generator="CGImap 0.0.2"> <bounds minlat="48.1400000" minlon="11.5400000" maxlat="48.1450000" maxlon="11.5430000"/> <node id="398692" lat="48.1452196" lon="11.5414971" user="Peter14" uid="13832" visible="true" version="18" changeset="10762013" timestamp="2012-02-22T18:59:41Z"> </node> <node id="1956100" lat="48.1434822" lon="11.5487963" user="Peter14" uid="13832" visible="true" version="41" changeset="10762013"

Struts2 S2-052 RCE简单测试

一笑奈何 提交于 2020-11-01 20:02:52
本文由玄魂和 方块K 合写。 不太愿意跟风写类似的文章,网友“方块K” 投了一篇相关文章过来,但是略显简略,我重新进行了扩展。 参考了网上的相关文章,自己重新做 实验,算不上原创。 1.1 简介 2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为CVE-2017-9805(S2-052)。Struts2 REST插件的XStream组件存在反序列化漏洞,使用XStream组件对XML格式的数据包进行反序列化操作时,未对数据内容进行有效验证,存在安全隐患,可被远程攻击。 参考: https://cwiki.apache.org/confluence/display/WW/S2-052 https://lgtm.com/blog/apache_struts_CVE-2017-9805 1.2 漏洞分析 根据补丁分析, 构造相对应的漏洞检测数据包。使用调试工具分析,发现Action经过REST插件处理时会被ContentTypeInterceptor这个类拦截,进入intercept方法如下图所示: 这个Intercept拦截方法很重要,分三步: 第一步:getHandlerForRequest方法会判断提交的请求类型

Java 微信公众号开发_学习笔记

。_饼干妹妹 提交于 2020-05-04 04:34:41
一、课程介绍   本套课程的学习内容,开发语言   微信公众号介绍,申请以及后台设置详解   编辑模式下的消息回复,菜单建立,素材管理等   开发前的环境搭建以及工具准备   开发者模式的切换、以及消息的接收与响应   百度BAE服务器的搭建,代码上传 二、公众号与微信的区别   微信定位于聊天、朋友圈等个人娱乐   公众号定位于商业用途,达到个人品牌的推广、企业品牌宣传等 三、公众号类型介绍   账号类型一旦成功建立账号,类型不可更改(企业号、服务号与订阅号)   企业号与服务号、订阅号的区别: 企业号 服务号 订阅号 面向人群 面向企业、政府、事业单位和非政府组织,实现生产管理、协作运营的移动化 面向企业、政府或组织,用以对用户进行服务 面向媒体和个人提供一种信息传播方式 消息显示方式 出现在好友会话列表首层 出现在好友会话列表首层 折叠在订阅号目录中 消息次数限制 最高每分钟可群发200次 每月主动发送消息不超过4条 每天群发一条 验证关注身份 通讯录成员可关注 微信用户扫码即可关注 微信用户扫码即可关注 消息保密 消息可转发、分享。支持保密消息,防止成员转发 消息可转发、分享 消息可转发、分享 高级接口权限 支持 支持 不支持(微信支付、推广等) 定制应用 可根据需要定制应用,多个应用聚合成一个企业号 不支持,新增服务号需要重新关注 不支持,新增服务号需要重新关注 四

SpringBoot使用devtools导致的类型转换异常

回眸只為那壹抹淺笑 提交于 2020-05-04 01:51:06
遇到的问题: SpringBoot项目中的热部署引发的血的教训,报错代码位置: 1 XStream xStream1 = new XStream(); 2 xStream1.autodetectAnnotations( true ); 3 xStream1.alias(" InterBOSS ", InterBossHeader. class ); 4 InterBossHeader resp = (InterBossHeader) xStream1.fromXML(response); 项目中的pom配置: 1 < dependency > 2 < groupId > org.springframework.boot </ groupId > 3 < artifactId > spring-boot-devtools </ artifactId > 4 < scope > runtime </ scope > 5 </ dependency> 问题的分析: 以上配置发现同样的类型(InterBossHeader)竟然出现了类型转换异常!WQNMMP—。— 分析出ClassLoader不同导致的类型转换异常,Spring的dev-tools为了实现重新装载class自己实现了一个类加载器,来加载项目中会改变的类,方便重启时将新改动的内容更新进来,其实其中官方文档中是有做说明的: 1