Web Security 之 Server-side template injection

2021-03-10
阅读 6 分钟
2.5k
模板引擎被设计成通过结合固定模板和可变数据来生成网页。当用户输入直接拼接到模板中,而不是作为数据传入时,可能会发生服务端模板注入攻击。这使得攻击者能够注入任意模板指令来操纵模板引擎,从而能够完全控制服务器。顾名思义,服务端模板注入有效负载是在服务端交付和执行的,这可能使它们比典型的客户端模板注入...

Web 安全 之 CSRF

2021-03-09
阅读 8 分钟
5.8k
在成功的 CSRF 攻击中,攻击者会使受害用户无意中执行某个操作。例如,这可能是更改他们帐户上的电子邮件地址、更改密码或进行资金转账。根据操作的性质,攻击者可能能够完全控制用户的帐户。如果受害用户在应用程序中具有特权角色,则攻击者可能能够完全控制应用程序的所有数据和功能。

Web 安全 之 Insecure deserialization

2021-03-08
阅读 9 分钟
7.9k
在本节中,我们将介绍什么是不安全的反序列化,并描述它是如何使网站遭受高危害性攻击的。我们将重点介绍典型的场景,并演示一些 PHP、Ruby 和 Java 反序列化的具体示例。最后也会介绍一些避免不安全的反序列化漏洞的方法。

Web 安全 之 DOM-based vulnerabilities

2021-03-07
阅读 5 分钟
4.5k
Document Object Model(DOM)文档对象模型是 web 浏览器对页面上元素的层次表示。网站可以使用 JavaScript 来操作 DOM 的节点和对象,以及它们的属性。DOM 操作本身不是问题,事实上,它也是现代网站中不可或缺的一部分。然而,不安全地处理数据的 JavaScript 可能会引发各种攻击。当网站包含的 JavaScript 接受攻击者...

Web 安全 之 Clickjacking

2021-03-05
阅读 4 分钟
5.5k
例如:某个用户被诱导访问了一个钓鱼网站(可能是点击了电子邮件中的链接),然后点击了一个赢取大奖的按钮。实际情况则是,攻击者在这个赢取大奖的按钮下面隐藏了另一个网站上向其他账户进行支付的按钮,而结果就是用户被诱骗进行了支付。这就是一个点击劫持攻击的例子。这项技术实际上就是通过 iframe 合并两个页面,...

Web 安全 之 HTTP request smuggling

2021-03-04
阅读 12 分钟
5.6k
HTTP 请求走私是一种干扰网站处理多个 HTTP 请求序列的技术。请求走私漏洞危害很大,它使攻击者可以绕过安全控制,未经授权访问敏感数据并直接危害其他应用程序用户。

Web 安全 之 OS command injection

2021-03-03
阅读 3 分钟
4.8k
在本节中,我们将解释什么是操作系统命令注入,描述如何检测和利用此漏洞,为不同的操作系统阐明一些有用的命令和技术,并总结如何防止操作系统命令注入。

Web 安全 之 Server-side request forgery

2021-03-01
阅读 5 分钟
6.6k
在本节中,我们将解释 server-side request forgery(服务端请求伪造)是什么,并描述一些常见的示例,以及解释如何发现和利用各种 SSRF 漏洞。

Web 安全 之 Directory traversal

2021-03-01
阅读 2 分钟
5.9k
目录遍历(也称为文件路径遍历)是一个 web 安全漏洞,此漏洞使攻击者能够读取运行应用程序的服务器上的任意文件。这可能包括应用程序代码和数据、后端系统的凭据以及操作系统相关敏感文件。在某些情况下,攻击者可能能够对服务器上的任意文件进行写入,从而允许他们修改应用程序数据或行为,并最终完全控制服务器。

Web 安全 之 CORS

2021-02-28
阅读 9 分钟
7.9k
CORS(跨域资源共享)是一种浏览器机制,它允许对位于当前访问域之外的资源进行受控访问。它扩展并增加了同源策略的灵活性。然而,如果一个网站的 CORS 策略配置和实现不当,它也可能导致基于跨域的攻击。CORS 不是针对跨源攻击(例如跨站请求伪造 CSRF)的保护。

OAuth 2.0 之 Authorization code 与 Implicit

2021-01-28
阅读 4 分钟
4.5k
OAuth 2.0 是用于授权的行业标准协议。我们常见的比如第三方登录、授权第三方应用获取保存在其它服务商的个人数据,这种都是 OAuth 2.0 的应用场景。

解读 MySQL Client/Server Protocol: Connection & Replication

2020-12-20
阅读 8 分钟
7.4k
MySQL 客户端与服务器之间的通信基于特定的 TCP 协议,本文将会详解其中的 Connection 和 Replication 部分,这两个部分分别对应的是客户端与服务器建立连接、完成认证鉴权,以及客户端注册成为一个 slave 并获取 master 的 binlog 日志。

同步 MySQL 数据至 Elasticsearch/Redis/MQ 等的五种方式

2020-11-30
阅读 2 分钟
5.4k
在实际应用中,我们经常需要把 MySQL 的数据同步至其它数据源,也就是在对 MySQL 的数据进行了新增、修改、删除等操作后,把该数据相关的业务逻辑变更也应用到其它数据源,例如:

ES 分布式搜索的运行机制

2020-11-17
阅读 2 分钟
4k
ES 分布式搜索的运行机制ES 有两种 search_type 即搜索类型:query_then_fetch (默认)dfs_query_then_fetchquery_then_fetch用户发起搜索,请求到集群中的某个节点。query 会被发送到所有相关的 shard 分片上。每个 shard 分片独立执行 query 搜索文档并进行排序分页等,打分时使用的是分片本身的 Local Term/Document...

ES Search Template

2020-11-16
阅读 8 分钟
2.8k
ES Search Template所谓 search template 搜索模板其实就是:预先定义好查询语句 DSL 的结构并预留参数搜索的时再传入参数值渲染出完整的 DSL ,最后进行搜索使用搜索模板可以将 DSL 从应用程序中解耦出来,并且可以更加灵活的更改查询语句。例如: {代码...} 构造出来的 DSL 就是: {代码...} 在模板中通过 {{ }} 的方...

构造请求日志分析系统

2020-11-07
阅读 3 分钟
3.7k
请求日志记录哪些数据time_local : 请求的时间remote_addr : 客户端的 IP 地址request_method : 请求方法request_schema : 请求协议,常见的 http 和 httpsrequest_host : 请求的域名request_path : 请求的 path 路径request_query : 请求的 query 参数request_size : 请求的大小referer : 请求来源地址,假设你在 a.com...

ES 自定义打分 Function score query

2020-11-02
阅读 7 分钟
12.7k
ES 会为 query 的每个文档计算一个相关度得分 score ,并默认按照 score 从高到低的顺序返回搜索结果。在很多场景下,我们不仅需要搜索到匹配的结果,还需要能够按照某种方式对搜索结果重新打分排序。例如:

数据管道 Logstash 入门

2020-11-01
阅读 8 分钟
5.7k
Logstash 入门Logstash 是什么Logstash 就是一个开源的数据流工具,它会做三件事:从数据源拉取数据对数据进行过滤、转换等处理将处理后的数据写入目标地例如:监听某个目录下的日志文件,读取文件内容,处理数据,写入 influxdb 。从 kafka 中消费消息,处理数据,写入 elasticsearch 。为什么要用 Logstash ?方便省事...

又拍图片管家亿级图像之搜图系统的两代演进及底层原理

2020-06-04
阅读 4 分钟
5.3k
又拍图片管家当前服务了千万级用户,管理了百亿级图片。当用户的图库变得越来越庞大时,业务上急切的需要一种方案能够快速定位图像,即直接输入图像,然后根据输入的图像内容来找到图库中的原图及相似图,而以图搜图服务就是为了解决这个问题。

以图搜图系统工程实践

2020-04-11
阅读 5 分钟
3.7k
以图搜图系统工程实践 之前写过一篇概述: 以图搜图系统概述 。 以图搜图系统需要解决的主要问题是: 提取图像特征向量(用特征向量去表示一幅图像) 特征向量的相似度计算(寻找内容相似的图像) 对应的工程实践,具体为: 卷积神经网络 CNN 提取图像特征 向量搜索引擎 Milvus CNN 使用卷积神经网路 CNN 去提取图像特征...

以图搜图系统概述

2020-03-31
阅读 2 分钟
4.8k
以图搜图系统概述 以图搜图指的是根据图像内容搜索出相似内容的图像。 构建一个以图搜图系统需要解决两个最关键的问题:首先,提取图像特征;其次,特征数据搜索引擎,即特征数据构建成数据库并提供相似性搜索的功能。 图像特征表示 介绍三种方式。 图像哈希 图像通过一系列的变换和处理最终得到的一组哈希值称之为图像...

GitHub Actions 指南

2019-12-23
阅读 8 分钟
9.8k
GitHub Actions 使你可以直接在你的 GitHub 库中创建自定义的工作流,工作流指的就是自动化的流程,比如构建、测试、打包、发布、部署等等,也就是说你可以直接进行 CI(持续集成)和 CD (持续部署)。

给库加上酷炫的小徽章 & ava、codecov、travis 示例

2019-12-21
阅读 5 分钟
5.9k
给库加上酷炫的小徽章 & ava、codecov、travis 示例 GitHub 很多开源库都会有几个酷炫的小徽章,比如: 这些是怎么加上去的呢? Shields.io 首先这些徽章可以直接去 shields.io 网站自动生成。 比如: 就是 version 这一类里的一种图标,选择 npm 一栏填入包名,然后复制成 Markdown 内容,就会得到诸如: {代码...}...

使用 Makefile 构建指令集

2019-12-15
阅读 3 分钟
6.3k
make 是一个历史悠久的构建工具,通过配置 Makefile 文件就可以很方便的使用你自己自定义的各种指令集,且与具体的编程语言无关。例如配置如下的 Makefile :

实现 memcached 客户端:TCP、连接池、一致性哈希、自定义协议。

2019-12-09
阅读 6 分钟
4.8k
memcached 本身并不支持集群,为了使用集群,我们可以自己在客户端实现路由分发,将相同的 key 路由到同一台 memcached 上去即可。路由算法有很多,这里我们使用一致性哈希算法。

时序数据库 InfluxDB(七)

2019-11-17
阅读 1 分钟
3.7k
相关文章:时序数据库 InfluxDB(一)时序数据库 InfluxDB(二)时序数据库 InfluxDB(三)时序数据库 InfluxDB(四)时序数据库 InfluxDB(五)时序数据库 InfluxDB(六) 单点故障和容灾备份 InfluxDB 开源的社区版本面临的最大的问题就是单点故障和容灾备份,有没有一个简单的方案去解决这个问题呢? 既然有单点故障...

时序数据库 InfluxDB(六)

2019-11-06
阅读 6 分钟
6.8k
连续查询 Continuous Queries( CQ )是 InfluxDB 很重要的一项功能,它的作用是在 InfluxDB 数据库内部自动定期的执行查询,然后将查询结果存储到指定的 measurement 里。

时序数据库 InfluxDB(五)

2019-10-30
阅读 2 分钟
8.4k
InfluxDB 自带有一个监控系统,默认情况下此功能是开启的,每隔 10 秒中采集一次系统数据并把数据写入到 _internal 数据库中,其默认使用名称为 monitor 的 RP(数据保留 7 天),相关配置见配置文件中的:

时序数据库 InfluxDB(四)

2019-10-28
阅读 2 分钟
6k
所有数据先写入到 WAL( Write Ahead Log )预写日志文件,并同步到 Cache 缓存中,当 Cache 缓存的数据达到了一定的大小,或者达到一定的时间间隔之后,数据会被写入到 TSM 文件中。

时序数据库 InfluxDB(三)

2019-10-27
阅读 2 分钟
11.1k
相关文章:时序数据库 InfluxDB(一)时序数据库 InfluxDB(二)时序数据库 InfluxDB(三)时序数据库 InfluxDB(四)时序数据库 InfluxDB(五)时序数据库 InfluxDB(六) 数据类型 InfluxDB 是一个无结构模式,这也就是说你无需事先定义好表以及表的数据结构。 InfluxDB 支持的数据类型非常简单: measurement : strin...