首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏WD学习记录

    本地缓存和分布式缓存的比较 堆污染

    本地缓存和分布式缓存的比较: 分布式缓存一致性更好一点,本地缓存 每个实例都有自己的缓存,可能会存在不一致的情况。 本地缓存会占用堆内存,影响垃圾回收、影响系统性能。 分布式缓存两大开销会导致其慢于本地缓存,网络延迟和对象序列化 进程内缓存适用于较小且频率可见的访问场景,尤其适用于不变对象,对于较大且不可预见的访问,最好采用分布式缓存。 堆污染: java中,当一个可变泛型参数指向一个无泛型参数时,堆污染(Heap Pollution)就有可能发生。可能会导致ClassCastException 的发生。

    1.3K30发布于 2019-08-14
  • 来自专栏码农架构

    Redis缓存污染了,该怎么办?

    当这些数据服务完访问请求后,如果还继续留存在缓存中的话,就只会白白占用缓存空间。这种情况,就是缓存污染。 1.如何解决缓存污染问题? 要解决缓存污染,我们也能很容易想到解决方案,那就是得把不会再被访问的数据筛选出来并淘汰掉。这样就不用等到缓存被写满以后,再逐一淘汰旧数据之后,才能写入新数据了。 也正是因为只看数据的访问时间,使用 LRU 策略在处理扫描式单次查询操作时,无法解决缓存污染。 因此,LFU 策略会优先把这些访问次数低的数据淘汰出缓存。这样一来,LFU 策略就可以避免这些数据对缓存造成污染了。 2.小结 缓存污染问题指的是留存在缓存中的数据,实际不会被再次访问了,但是又占据了缓存空间。

    1.2K50发布于 2020-11-03
  • 来自专栏vivo互联网技术

    非侵入式入侵 —— Web缓存污染与请求走私

    Web缓存污染旨在通过攻击者向缓存服务器投递恶意缓存内容,使得用户返回响应结果而触发安全风险。 一、Web 缓存污染攻击原理与场景 1.1 什么是缓存缓存技术旨在通过减少延迟来加速页面加载,还可以减少应用程序服务器上的负载。 Web缓存污染关注的是CDN等前置服务端部署的缓存服务,还有其他类型的缓存,例如客户端浏览器缓存和DNS缓存,但它们不是本次研究的关注点。 1.2 缓存的工作机制? 1.3 缓存污染具体是如何实现的? 二、Web缓存污染防御手段 2.1 禁用缓存配置 对缓存投毒的最强大防御办法就是禁用缓存

    86340编辑于 2023-03-14
  • 来自专栏架构精进之路

    Redis 经典缓存问题:一致性、穿透、击穿、雪崩与污染

    然而,使用 Redis 缓存时,可能会遇到一些经典问题,比如一致性问题、缓存穿击、缓存穿透、缓存雪崩,以及缓存污染等。这些问题如果不加以有效处理,可能导致系统性能下降,甚至引发服务不可用的严重后果。 当缓存库出现时,必须要考虑如下问题: 缓存穿透 缓存穿击 缓存雪崩 缓存污染 缓存和数据库一致性 2. 缓存空值对于不存在的键,也将其值设置为 null 并缓存一定时间,但需要注意避免缓存污染(详见后文)。 3. 解决方法: 缓存过期时间分布化为不同的缓存键设置随机过期时间,避免同一时间大批量缓存失效。 多级缓存在 Redis 缓存前增加本地缓存层,减轻数据库直接压力。 缓存污染 问题定义: 缓存污染是指缓存中存储了低命中率或无意义的数据,占用了大量内存资源,降低缓存效率。 解决方法: 设置缓存淘汰策略根据业务需求选择合适的淘汰策略(如 LRU、LFU)。

    42110编辑于 2025-01-11
  • 来自专栏c++ 学习分享

    JavaScript变量污染

    JavaScript变量污染 定义全局变量有 3 种方式: 在任何函数体外直接使用 var 语句声明。var f = 'value1'; 直接添加属性到全局对象上。 f = 'value'; 全局变量在全局作用域内都是可见的,因此具有污染性。大量使用全局变量会降低程序的可靠性,用户应该避免使用全局变量。

    47320编辑于 2023-07-07
  • 来自专栏cultureSun学安全

    js原型链污染

    js原型链 前两天,做了一道CTF题目,遇到了js原型链污染。 js原型,我的理解,类似于java中的静态属性。 原型链污染 通过修改或者添加其原型链上的原型对象,使其当前对象可以访问到错误或者不具备的属性。 res.json({ msg: 'user created successfully', err: false }) }) JSON.parse()配合Object.assign()可以触发原型链污染 INVITE_CODE) { user.isAdmin = false } let newUser = Object.assign({}, baseUser, user) //触发原型链污染 所以造成了原型链污染

    63910编辑于 2023-12-22
  • 来自专栏hotarugaliの技术分享

    DNS污染和DNS劫持

    DNS 污染 DNS 污染又称 DNS 缓存投毒,通过制造一些虚假的域名服务器数据包,将域名指向不正确的 IP 地址。 image.png 不过由于缓存过期时间的限制,污染的域名不是一成不变的,若某个污染过的域名缓存记录过了缓存过期时间后没有对其进行再污染,则该域名的污染就会消失。 解决办法 绕过被污染的非权威 DNS 服务器,直接访问干净的公共 DNS 服务器。 在本机直接绑定 hosts,绕过 DNS 解析过程。

    16.2K21编辑于 2022-02-28
  • 深入JavaScript原型链污染

    原型链污染 既然我们可以通过 foo.__proto__ 访问到 Foo.prototype ,同时,修改 Foo.prototype 就会影响到 foo. 原型链污染举例 哪些情况下我们可以设置 __proto__ 的值呢?

    56710编辑于 2024-02-04
  • 来自专栏LoRexxar's Blog

    pwnhub 被污染的Jade

    首先打开题目是比较简单粗暴的模板渲染,再结合题目不难发现题目是node+jade 因为我打开题目已经是下午了,所以基本上打开题目就一直都是报错,大概长这样: 基本也没什么好猜了,直接能看出来就是js原型链污染 ://www.leavesongs.com/PENETRATION/javascript-prototype-pollution-attack.html 顺着这样的思路就可以翻翻看jade的代码看看 污染 jade 在之前文章中提到,我们可以通过污染object来影响js中没有设置的变量属性,首先我们就需要找一个没有被设置过但是却很重要的变量,形似与: if(x.xxxxx){ x.xxxxx } 这里是我的第一个思路,通过控制self,然后污染globals,globals会在addwith中直接被拼接进代码中。 不难发现出题人强行写了一个merge,把req.body和{}合并导致了原型链污染,所以传递的对象不能是name,这也是坑了我开始的一大个问题。

    98520编辑于 2023-02-21
  • 来自专栏云原生实验室

    使用 CoreDNS 来应对 DNS 污染

    按照什么顺序溯源,由下面的 policy 指令决定; cache : 溯源得到的结果,缓存指定时间。类似 TTL 的概念; reload : 多久扫描配置文件一次。

    6.7K20发布于 2019-08-29
  • 来自专栏数据科学和人工智能

    数据集 | 印度污染数据集

    下载数据集请登录爱数科(www.idatascience.cn) 数据集包含印度各州的污染数据。 1. 字段描述 2. 数据预览 3. 字段诊断信息 4. 数据来源 来源于Kaggle。

    1.3K20编辑于 2022-03-30
  • 来自专栏信安之路

    利用 AicLaunchAdminProcess 参数污染 bypass UAC

    AicLaunchAdminProcess 参数污染 先介绍第三十八种方法,该方法利用 mmc.exe 执行自定义的 msc 文件从而在本地或者远程执行任意代码(仅适用于 64 位系统)。

    1.9K10发布于 2019-01-23
  • 如何解决DNS污染问题

    解决DNS污染问题的常见方法包括:1. **使用加密的DNS协议**: - **DNS over HTTPS (DoH)**:通过HTTPS协议加密DNS查询,防止中间人攻击和篡改。 **使用VPN服务**: - 虚拟专用网络(VPN)可以将所有网络流量,包括DNS查询,通过加密隧道传输,从而避免DNS污染。选择信誉良好的VPN服务商,确保隐私和安全。3. **DNSCrypt**: - DNSCrypt是一个用于加密DNS流量的协议,能够有效防止DNS污染。通过安装DNSCrypt客户端,可以确保DNS查询的安全性和完整性。7. **使用代理服务器**: - 通过代理服务器(例如SOCKS5、HTTP Proxy)中转DNS查询,隐藏实际DNS请求源,规避DNS污染。9. **利用Tor网络**: - Tor网络通过多层加密传输数据,能够隐藏DNS查询路径,有效规避DNS污染,但访问速度可能较慢。

    2.7K10编辑于 2024-07-07
  • 来自专栏网站监控

    DNS污染可用网站监控检测修复

      平时使用的系统上,这里以 Windows 系统为例,系统通常会在内部有一个 DNS 的缓存 DNS 记录。缓存 DNS 记录有什么用呢? 可以帮助系统快速定位并访问 DNS 地址。 但有时候可能缓存的一些 DNS 记录会有问题,导致在打开网页时会出现打不开的情况。如果遇到这种情况,可以尝试用命令来手动查看或是清除这些系统内部的 DNS 记录。    而且在网站维护的同时都可以使用iis7网站监控来第一时间检查是否被dns污染以及劫持等安全性的问题,并且可以检测快照有没有问题。 ,会发现刷新过后的 DNS 缓存记录要少,是当前最新的一些 DNS 记录。    方法二   除了可以手动修复系统内部缓存的一些 DNS 记录以后,但有时候一些其它恶意软件,病毒可能会背着我们偷偷修改系统的 DNS 文件。

    5K30发布于 2019-08-13
  • 来自专栏离别歌 - 信息安全与代码审计

    深入理解 JavaScript Prototype 污染攻击

    所以,除了传统的SQL注入、代码执行等注入型漏洞外,也会有一些独有的安全问题,比如今天要说这个prototype污染。 0x01 prototype和__proto__分别是什么? 这种攻击方式就是原型链污染。 0x04 哪些情况下原型链会被污染? 在实际应用中,哪些情况下可能存在原型链能被攻击者修改的情况呢? 我们思考一下,哪些情况下我们可以设置__proto__的值呢? 而这里的lodash.merge操作实际上就存在原型链污染漏洞。 在污染原型链后,我们相当于可以给Object对象插入任意属性,这个插入的属性反应在最后的lodash.template中。 但因为原型链污染,我们可以给所有Object对象中都插入一个sourceURL属性。最后,这个sourceURL被拼接进new Function的第二个参数中,造成任意代码执行漏洞。 整个案例我觉得是一个非常经典的原型链污染漏洞教程,代码不多,逻辑不复杂,没有刻意创造漏洞,真正触发漏洞的代码在库中。 我一直觉得,出题不要刻意创造漏洞,而是找找你的知识点是否能在真实环境下找到应用。

    63120编辑于 2023-10-28
  • 来自专栏用户3355187的专栏

    域名污染是什么玩意?怎么解决?

    首先什么叫做域名污染,有很多同学并不知道域名污染是什么回事。 下面教叫你如何看~ 怎么验证是否遭遇DNS污染? 咱们拿域名www.vipba.cc 测试! 域名遭遇DNS污染怎么解决? 1.更换DNS解析服务器。 一般来说,域名注册商家都是提供免费的DNS解析服务的,以我所实用的Godaddy为例,就提供了许多免费的DNS解析服务,而且解析速度很快,比之前实用的什么万网之流要快得多,不可能全部被污染,所以更换两个 注意事项二:Godaddy目前本身域名就被DNS污染了,即使挂V**也访问不了,只有更改自己电脑的DNS(比如改成google的8.8.8.8)才能访问。

    10.1K00发布于 2019-07-06
  • 来自专栏linux教程

    预防DNS污染的措施有哪些?

    下面亚洲云就来和大家分享关于不需要代理服务器/VPN等软件就可以解决DNS污染的方法,让大家对DNS污染有更多认识,以及知道如何去应对DNS污染。 DNS污染的数据包不存在在网络数据包传输经过的路由器上,而存在于旁路中,DNS污染不会阻止正确的DNS解析结果的返回,但旁路中DNS污染的数据包发回的速度回更快,导致了操作系统误以为收到的第一个数据包就是正确的返回结果 有一些国家的DNS污染情况,是在一时间内污染IP固定,忽略返回结果中的IP数据包,这样就可以解决DNS污染问题。 如何验证DNS污染? 即可证明这个域名已经被DNS污染了。 DNS污染解决方案 1、通过多种SSH加密代理,在加密代理里进行远程DNS解析,或者使用VPN上网。 可以在hosts添加受到污染的DNS地址来解决DNS污染和DNS劫持。 3、在软件编程处理后,可以直接忽略返回结果是虚假IP地址的数据包,这样就可以解决DNS污染

    2.1K20编辑于 2023-04-26
  • 来自专栏Leetcode名企之路

    缓存缓存穿透、缓存雪崩、缓存击穿

    原文:https://www.cnblogs.com/raichen/p/7750165.htm 缓存穿透 概念 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存 缓存雪崩 概念 大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。 解决办法 从业务层面。 可以给缓存设置过期时间时加上一个随机值时间,使得每个key的过期时间分布开来,不会集中在同一时刻失效。 缓存击穿(并发) 概念 高并发系统,如果一个缓存失效,存在多进程同时查询DB,同时更新缓存。 这对缓存和DB都是比较大的挑战。 解决办法 使用互斥锁(mutex key): 这种解决方案思路比较简单,就是只让一个线程构建缓存,其他线程等待构建缓存的线程执行完,重新从缓存获取数据就可以了(如下图) ?

    2.9K20发布于 2018-10-25
  • 来自专栏鳄鱼儿的技术分享

    Redis缓存缓存穿透、缓存击穿、缓存雪崩

    ☘️解决思路 思路一:由于缓存穿透是因为缓存没有生效,是否可以针对DB不存在的数据设置缓存空值,让请求到缓存就OK。缓存的有效时间可以设置短点,如30s,避免误伤正常业务。 缓存击穿 缓存击穿是指数据库有,缓存没有的数据,大量请求访问这个缓存不存在的数据,最后请求打到DB可能导致DB宕机。 思路三:保证热点数据在缓存中,可以设置热点缓存数据永不过期;或者采用定时任务去定时刷新缓存数据与过期时间,保证缓存数据存在。 缓存雪崩 缓存雪崩是指数据库有,缓存没有的数据,大量请求访问这些缓存不存在的数据,最后请求打到DB可能导致DB宕机。 缓存一致性 缓存一致性指的是缓存与DB之间的数据一致性,我们需要通过各种手段来防止缓存与DB不一致,我们要保证缓存与DB的数据一致或者数据最终一致。 ☘️解决思路 思路一:先删除缓存再更新数据。

    1.1K10编辑于 2024-05-22
  • 来自专栏FreeBuf

    看我如何通过参数污染绕过IDOR

    在一次渗透测试过程中,我偶然间发现了一个有趣的IDOR(不安全的直接对象引用)漏洞,通过使用参数污染技术(利用一个被忽略的测试用例),攻击者将能够成功地在目标站点上实现IDOR绕过。 接下来,我将跟大家介绍如何使用参数污染技术来实现IDOR绕过。 此时,为了实现IDOR绕过,我们需要使用参数污染技术,即传递两个UserID参数,其中一个包含目标账号的UserID,另一个参数需要包含你账号的UserID。 下图显示的是我们所发送的样本请求: ? 考虑到参数污染技术的实现,我尝试在测试样例(请求)中添加了我自己的UserID参数以及目标用户的UserID,并以此来尝试访问目标用户的个人资料。 想必大家也猜到了,这一次我成功了! 下图显示的是我们利用参数污染技术构建的IDOR绕过请求: ? 没错,通过结合参数污染技术构造出来的恶意请求,我成功拿到了目标用户的全名以及很多不会公开的敏感信息。

    84800发布于 2019-11-13
领券