fastjson

Emotet重出江湖:2020年十大恶意软件、漏洞榜单(7月)

自古美人都是妖i 提交于 2020-08-16 10:15:35
近日,根据Checkpoint发布的2020年7月全球威胁指数,在缺席五个月之后,Emotet已升至该指数的榜首位置,短时间内袭击了全球5%的企业和组织,主要活动是传播钓鱼邮件窃取银行账户并在目标网络内部传播。 由于具备类似硅谷顶级科技企业的一流“敏捷开发”能力,过去几年Emotet始终是最具“创造性”、“颠覆性”、“影响力”和破坏力的恶意软件,其产品迭代和技术创新的速度甚至很多网络安全公司都自叹弗如。 具体来说,Emotet就像一个“搬运工”,侵入宿主系统后,具备下载其他恶意软件的能力,由于其模块化的性质,这只是其能力之一。借助传播组件,Emotet能够将自身传送到同一网络上的其他计算机,该组件可以通过挂载共享或利用漏洞利用来传播恶意软件。换而言之,Emotet就像一个大的恶意软件“电商平台”,是很多其他恶意软件的重要“投放渠道”。 自2020年2月以来,Emotet的活动(主要是发送大量的垃圾和钓鱼邮件)开始放缓,并最终停止,直到7月重新开始活跃。值得注意的是,2019年Emotet僵尸网络也选择在夏季“蛰伏”,在9月恢复活动。 今年7月,Emotet通过垃圾和钓鱼邮件活动,用TrickBot和Qbot感染了大量受害者,这些***活动的主要目的是窃取银行凭证并在企业网络内部传播。这些钓鱼邮件活动中有些包含名称为“form.doc”或“invoice.doc”之类的恶意doc文件

字符串数据脱敏以及与日志框架logback的集成(日志脱敏)

…衆ロ難τιáo~ 提交于 2020-08-15 16:51:44
字符串数据脱敏框架 可选择唯品会的工具: https://github.com/vipshop/vjtools/blob/master/vjkit/docs/data_masking.md 也可以自定义,用正则或者其他方式(如:commons-lang3#StringUtils) 与logback集成 分析: 由于logback的api和语法多种多样( http://logback.qos.ch/manual/architecture.html , 如下),导致在logback级别处理数据脱敏不太方便,为了保持日志框架原本自由的使用方式,所以在调用前处理日志脱敏,且注意加上必要的日志打印判断提高性能。 logback基本语法: String message = "This is a message."; logger.info(message); logger.info("This is a message"); String param = "some variable"; logger.info("This is a message. {}", param); String param1 = "some variable1"; String param2 = "some variable2"; logger.info("This is a message. {} {}",

它又又又来了,Fastjson 最新高危漏洞来袭

大城市里の小女人 提交于 2020-08-15 14:03:52
0x01 漏洞背景 2020年05月28日, 360CERT监测发现业内安全厂商发布了Fastjson远程代码执行漏洞的风险通告, 漏洞等级:高危 Fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。 Fastjson存在远程代码执行漏洞,autotype开关的限制可以被绕过,链式的反序列化攻击者精心构造反序列化利用链,最终达成远程命令执行的后果。此漏洞本身无法绕过Fastjson的黑名单限制,需要配合不在黑名单中的反序列化利用链才能完成完整的漏洞利用。 截止到漏洞通告发布,官方还未发布1.2.69版本,360CERT建议广大用户及时关注官方更新通告,做好资产自查,同时根据临时修复建议进行安全加固,以免遭受黑客攻击。 0x02 风险等级 360CERT对该漏洞的评定结果如下 评定方式 等级 威胁等级 【高危】 影响面 【广泛】 0x03 影响版本 Fastjson:<= 1.2.68 0x04 修复建议 临时修补建议:升级到Fastjson 1.2.68版本,通过配置以下参数开启 SafeMode 来防护攻击: ParserConfig.getGlobalInstance().setSafeMode(true); safeMode会完全禁用autotype

kafka多容器工厂反序列化kafkaListenerContainerFactory

断了今生、忘了曾经 提交于 2020-08-15 07:44:40
原创 业务需要,批量消费,但是又想批量直接按List<ModelDTO> 模式直接拉取数据,批量处理。 private final String topic = "queue_notify" ; @KafkaListener ( topics = topic , containerFactory = "kafkaLiveListenerContainerFactory" ) public void listen (List<PushLiveDTO> pushLiveDTOS) { Long startTime = System. currentTimeMillis () ; // 批量个推 p ushService .notifyLiveGetui (pushLiveDTOS) ; Long endTime = System. currentTimeMillis () ; } private final String topic = "queue_push" ; // containerFactory 容器工厂方法 @KafkaListener ( topics = topic , containerFactory = "kafkaListenerContainerFactory" ) public void listen (List<PushTestDTO>

Dubbo 2.7.7 发布,FastJson 升级了!

僤鯓⒐⒋嵵緔 提交于 2020-08-13 09:53:03
作者:局长 www.oschina.net/news/115796/dubbo-2-7-7-released Apache Dubbo 2.7.7 已发布,这是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。 新版本更新内容如下: Features [Solution] 提供集成 Apache Dubbo 与 Nacos 认证的解决方案 完整的 lfu 缓存建议 [Feature] 支持应用选择首选的网络接口 [Dubbo-Performance] 重用 Hessian2Output 和 Hessian2Input 实例来降低内存使用 [Feature] In-Memory MetadataReportFactory implementation @reference和 @service 的命名问题 支持 RPC 调用链上的超时传递和倒计时 添加新的负载均衡策略 Enhancement 当 RPC 调用失败时会调用 onThrowable 升级 fastjson 至 1.2.68 升级 hessian-lite 至 3.2.7 [feature] 当线程池用尽时会发布 ThreadPoolExhaustedEvent 当处于 FINALIZE 状态时,ReferenceConfig(null

Dubbo 2.7.7 发布,FastJson 升级了!

孤人 提交于 2020-08-13 06:32:54
作者:局长 www.oschina.net/news/115796/dubbo-2-7-7-released Apache Dubbo 2.7.7 已发布,这是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。 新版本更新内容如下: Features [Solution] 提供集成 Apache Dubbo 与 Nacos 认证的解决方案 完整的 lfu 缓存建议 [Feature] 支持应用选择首选的网络接口 [Dubbo-Performance] 重用 Hessian2Output 和 Hessian2Input 实例来降低内存使用 [Feature] In-Memory MetadataReportFactory implementation @reference和@service 的命名问题 支持 RPC 调用链上的超时传递和倒计时 添加新的负载均衡策略 Enhancement 当 RPC 调用失败时会调用 onThrowable 升级 fastjson 至 1.2.68 升级 hessian-lite 至 3.2.7 [feature] 当线程池用尽时会发布 ThreadPoolExhaustedEvent 当处于 FINALIZE 状态时,ReferenceConfig(null)

SpringMVC日期格式属性自动转成时间戳实现源码分析

若如初见. 提交于 2020-08-12 14:21:30
背景介绍 SpringMVC搭建的微服务系统,后端数据库对时间类型的存储使用的是Long类型,而前端框架倾向于使用yyyy-MM-dd HH:mm:ss这种标准显示格式,前端JSON格式的请求报文与后台的接口交互都需要进行格式转换,这部分转换功能由后台实现。 使用时我们发现,前端定义的JSON请求,时间格式为yyyy-MM-dd HH:mm:ss,如果后台定义的POJO相应的属性为Long类型,可以自动转换为时间戳,对此非常好奇,框架是如何实现这一功能的? 框架选型、版本及主要功能 spring boot 2.1.6.RELEASE spring cloud Greenwich.SR3 alibaba fastjson 1.2.60 注意json框架使用的是fastjson 代码演示 为了方便演示,定义一个特别简单的POJO类: public class DateReq { private String dateFormat; private Long timestamp; // 省略getter/setter/toString方法 } 再定义一个简单的Controller方法: @RestController public class DemoController { @PostMapping(value = "/json/demo/info") public

Java 操作Fastjson JSON字符串转义正确处理方式

旧时模样 提交于 2020-08-12 11:28:50
经常使用字符串替换replace或者replaceAll ,而replaceAll是基于正则表达式实现的。 本文重点关注的是批量替换replaceAll方法。 目录 替换源码 错误示例 正确示例 真实示例 替换源码 /** * Replaces each substring of this string that matches the given <a * href="../util/regex/Pattern.html#sum">regular expression</a> with the * given replacement. * * <p> An invocation of this method of the form * <i>str</i>{@code .replaceAll(}<i>regex</i>{@code ,} <i>repl</i>{@code )} * yields exactly the same result as the expression * * <blockquote> * <code> * {@link java.util.regex.Pattern}.{@link * java.util.regex.Pattern#compile compile}(<i>regex</i>).{@link * java.util.regex

基于请求/响应对象搜索的Java中间件通用回显方法(针对HTTP)

自古美人都是妖i 提交于 2020-08-11 14:51:22
先感谢一下scz大佬给的博客推荐,受宠若惊+10086。 心血来潮有这么个想法,验证一下。 只讨论思路,工具木有~ 前言 看了很多师傅们在研究针对Java中间件+Java反序列化漏洞回显的研究: https://xz.aliyun.com/t/7740 https://xz.aliyun.com/t/7348 https://paper.seebug.org/1233/ (。。。应该还有挺多,就不翻了) 又看到了c0ny1师傅的作品: 《java内存对象搜索辅助工具》 配合IDEA在Java应用运行时,对内存中的对象进行搜索。比如可以可以用挖掘request对象用于回显等场景。 … 按照经验来讲Web中间件是多线程的应用,一般requst对象都会存储在线程对象中,可以通过 Thread.currentThread() 或 Thread.getThreads() 获取。 并且目前回显思路主要是基于加载类,执行static块或者构造方法(原生反序列化、FastJson、Jackson一类的都有): TemplatesImpl类的反序列化链,内嵌类的bytecode,defineClass。 其他反序列化链使用URLClassLoader进行远程加载类。 JNDI远程加载类。 所以想到: 我们能否写单个类,让它能够触发时,使用2的思路去寻找request和response

Springboot 整合spring Security和JWT 分布式版本

这一生的挚爱 提交于 2020-08-11 13:03:15
JWT介绍 JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息。该信息可以被验证和信任,因为它是数字签名的。 JWT使用场景 授权 常见的web项目中,当一个用户在A系统登录以后,后续的所有请求都将会包含JWT信息,允许用户访问该令牌(token)允许的路由,资源,服务等。现在常见的多系统之间的单点登录就是JWT的特性。 信息交换 JWT可以被签名,可以使用密钥对确定服务器发送的消息的真实性等。 开发环境 openjdk11 springboot 2.3.1 spring security Jwt 项目下载地址 https://gitee.com/randomObject/springboot-security-jwt-project 项目结构 springboot-security-jwt-project为父工程 父工程pom.xml内容如下 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/