flux

新攻击新武器:盲眼鹰 APT 组织最新攻击活动完全分析

会有一股神秘感。 提交于 2020-09-25 05:11:57
作者:启明星辰 ADLab 公众号: https://mp.weixin.qq.com/s/T15pdznZZ4ZsVVpcKrWlnQ 一、概述 启明星辰ADLab实验室在近几个月内,通过威胁情报检测系统接连捕获到多起针对哥伦比亚国家的政府部门,金融、银行、保险等行业及卫生和制药机构发起的钓鱼邮件定向攻击。攻击者以“冠状病毒检测紧急告知单”或“刑事诉讼通知单”等命名的诱饵文档作为邮件附件,并配合鱼叉邮件向攻击目标电脑植入远控木马。从邮件分析结果来看,攻击者会将邮件的来源伪装成哥伦比亚国家卫生部、国家税务和海关总署、民事身份登记处、检察院以及移民局等政府部门,以加强其邮件的真实性。我们通过对攻击者伪装的来源信息、域名使用偏好、IP地址关联及地理位置等特性进行对比分析,发现该系列攻击来源于盲眼鹰组织,但采用的攻击武器较以往完全不同。盲眼鹰首次被披露于2019年初,是一个疑似来自南美洲的APT组织,其最早活跃时间可追溯到2018年,主要针对哥伦比亚政府和大型公司进行攻击。 在对攻击活动深入分析后,我们发现该组织在我们发现的这批攻击中采用了更为先进攻击技术和反追踪技术。在以往的攻击中,该组织多使用MHTML格式的恶意文档作为攻击附件,而在本次攻击过程中,该黑客组织使用一个无恶意的文档作为媒介,诱使目标下载文档中提供恶意短链接(该短链接指向一个加密过MHTML的恶意文档)

学习响应式编程 Reactor (4)

末鹿安然 提交于 2020-08-20 05:38:21
Reactor 操作符 数据在响应式流中的处理,就像流过一条装配流水线。Reactor 既是传送带,又是一个个的装配工或机器人。原材料从源头(最初的 Publisher )流出,经过一个个的装配线中装配工或机器人的工位加工(operator 操作),最终被加工成成品,等待被推送到消费者( subscribe 操作)。 在 Reactor 中,每个操作符对 Publisher 进行处理,然后将 Publisher 包装为另一个新的 Publisher 。就像一个链条,数据源自第一个 Publisher ,然后顺链条而下,在每个环节进行相应的处理。最终,订阅者(Subscriber )终结这个过程。所以, 响应式编程按照链式方式进行开发。 注意,如同 Java Stream 的终端操作,订阅者( Subscriber )在没有订阅( subscribe )到一个发布者( Publisher )之前,什么也不会发生。 如同 Java Stream 的中间操作一样,Reactor 的 Flux 和 Mono 也为我们提供了多种操作符(远多于 Stream ),我们将它们分类如下: 序号 类型 操作符 1 转换 as, cast, collect, collectList, collectMap, collectMultimap, collectSortedList, concatMap,

为什么使用Redux而不是Facebook Flux? [关闭]

匆匆过客 提交于 2020-08-18 14:10:39
问题: I've read this answer , reducing boilerplate , looked at few GitHub examples and even tried redux a little bit (todo apps). 我已经阅读了 这个答案 , 减少了样板 ,看了几个GitHub示例,甚至尝试了redux(todo apps)。 As I understand, official redux doc motivations provide pros comparing to traditional MVC architectures. 据我了解, 官方redux doc动机 提供了与传统MVC架构相比的优点。 BUT it doesn't provide an answer to the question: 但它没有提供问题的答案: Why you should use Redux over Facebook Flux? 为什么你应该使用Redux而不是Facebook Flux? Is that only a question of programming styles: functional vs non-functional? 这只是编程风格的问题:功能与非功能? Or the question is in abilities/dev

Spring Boot (十四): 响应式编程以及 Spring Boot Webflux 快速入门

扶醉桌前 提交于 2020-08-16 23:22:41
1. 什么是响应式编程 在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。(了解源码可+求求: 1791743380) 例如,在命令式编程环境中,a=b+c 表示将表达式的结果赋给 a,而之后改变 b 或 c 的值不会影响 a 。但在响应式编程中,a 的值会随着 b 或 c 的更新而更新。 响应式编程是基于异步和事件驱动的非阻塞程序,只需要在程序内启动少量线程扩展,而不是水平通过集群扩展。 设想一个场景,从底层数据库驱动,经过持久层、服务层、MVC层中的model,到用户的前端界面的元素,全部都采用声明式的编程范式,从而搭建一条能够传递变化的管道,这样我们只要更新一下数据库中的数据,用户的界面上就相应的发生变化,从而无需前端轮询才能获取到最新的数据。 简单来讲,我们以前写的程序是阻塞式的,当一个请求任务过来时,线程会阻塞,等到这个任务完成后再返回出去。而响应式编程则是一个请求任务过来时,会有其他的线程去做处理,当任务执行结束后再异步的通知回去。 2. 为什么要使用响应式编程 在如今互联网时代的大背景下,Web应用通常要面对高并发、海量数据的挑战,性能从来都是必须要考量的核心因素。 阻塞便是性能杀手之一。

gateway欺人太甚!

戏子无情 提交于 2020-08-15 18:09:09
需求: 通过gateway来转义请求参数中的html标签的“<”、“>”等,来防止xss攻击 版本: springbootVersion:2.1.6RELASE springCloudGatewayVersion:2.1.2RELASE 因为gateway版本不同所以获取请求参数的方式也不同,这个版本的gateway是通过webflux来处理参数的,什么是 webflux 请点击查看,这里就不过多赘述了 对于gateway的过滤器有很多种实现方式,根据具体的业务需求来选定最便捷、最简单的处理方式 这里是我自定义gatewayfilter过滤器代码实现: 此代码只处理了两种contentType是:application/json和application/json;charset=UTF-8 对于contentType是multipart/form-data没有处理这是缺陷,如有好的处理方式请留言,大家一起学习一起进步 import lombok.extern.slf4j.Slf4j; import org.owasp.esapi.ESAPI; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter

学习Java 8 Stream Api (4)

谁说我不能喝 提交于 2020-08-15 07:24:11
Stream API 上篇内容我们学习了Stream的大部分终端操作,我们这篇着重了解下Stream中重要的终端操作:collect。 collect 方法 序号 支持的类 方法定义 方法说明 1 Stream R collect(Supplier supplier, BiConsumer<R, ? super T> accumulator, BiConsumer<R, R> combiner); 对此流的元素执行 mutable reduction操作。 2 Stream <R, A> R collect(Collector<? super T, A, R> collector); 使用 Collector对此流的元素执行 mutable reduction Collector。 以下代码见 StreamTerminalOperationTransformTest。 实现3参数转换接口 序号1的方法,传递了3个参数,参数1为创建新结果容器的函数;参数2为累加器函数,将参数1和流内元素执行累加操作;参数3为组合器函数,并行执行时会使用该函数。 同步执行时,该方法相当于执行: R result = supplier.get(); for (T element : this stream) { accumulator.accept(result, element); } return

Spring WebFlux (5): WebClient使用

一个人想着一个人 提交于 2020-08-14 15:10:05
可以使用WebFlux的WebClient类很方便的对网络请求进行代理处理操作,我想Spring Cloud Gateway中主要用的就是WebClient进行操作,这里简单介绍一下WebClient的用法,想要深度学习的话,看一下Spring Cloud Gateway源码准没错 一些用法 流数据 首先创建一个server端,用于产生一些网络服务: Employee为员工类 EmployeeFaker为通过javafaker包生成的一些数据 EmployeeController生成一些服务,其中getEmployee为每一秒生成一个Employee对象,因为是流数据使用 APPLICATION_STREAM_JSON_VALUE 进行传输 @Data @Builder @NoArgsConstructor @AllArgsConstructor class Employee { Long id ; String name ; Integer age ; Integer salary ; String phoneNumber ; String address ; } class EmployeeFaker extends Employee { private final Faker f = new Faker ( Locale . CHINA ) ; public