首页 > 其他分享 >脏牛漏洞原理

脏牛漏洞原理

时间:2023-03-29 13:11:49浏览次数:45  
标签:map 映射 mmap private 漏洞 脏牛 内存 原理

漏洞概述

dirty cow漏洞是一种发生在写时复制的竞态条件产生的漏洞

写时复制(copy on write)

允许不同进程中的虚拟内存映射到相同物理内存页面的技术

三个重要流程

A:制作映射内存的副本

B:更新页表,是的虚拟内存指向新创建的物理内存

C 写入内存

tips:他们可以被其他线程中断从而产生潜在的竞态条件

漏洞成因1 mmap()函数

系统调用mmap() 将文件或者设备映射到进程内存的系统调用(对进程内存的读写就是文件的读写)

mmap()函数包含几个参数

参数1和2是映射内存区域的起始地址和大小 参数3:指定映射方式(map_shared,map_private)

参数解析

map_shared是指当多个线程将同一个文件映射到自己的虚拟地址中,它们都共享同一个物理内存块,说通俗点就是共享内存,

map_private则是将文件映射到进程的私有内存

关键点:map_private允许程序通过WRITE系统调用往物理内存块的副本中写入数据,这为我们后面的利用创造了条件。

总结:写时复制可能会具有竞态条件的漏洞

漏洞成因2 madvise()函数

 

关键点:madvise(),这个调用通过指定第三个参数为MADV_DONOTNEED告诉内核不再需要声明地址部分的内存,内核将释放该地址的资源,进程的页表会重新指向原始的物理内存。

漏洞利用

学习链接:(17条消息) Dirty COW漏洞原理与简单利用_dirtycow_卖行家的小报纸的博客-CSDN博客

标签:map,映射,mmap,private,漏洞,脏牛,内存,原理
From: https://www.cnblogs.com/lisenMiller/p/17268539.html

相关文章

  • DolphinDB StreamEngineParser 解析原理介绍
    DolphinDB曾发布过 DolphinDB:WorldQuant101Alpha因子的流批一体实现 和 DolphinDB:国泰君安191Alpha因子的流批一体实现 这两篇文章,介绍了如何基于DolphinDB的......
  • 河北稳控科技便携式钻孔测斜仪的组成与测量原理
    河北稳控科技便携式钻孔测斜仪的组成与测量原理 便携式钻孔测斜仪由测斜探头、多功能数据采集仪组成。测斜探头组成:探头包括吊环、传感段、导向段、加长段、尾段五部分......
  • 20201331 黄文刚 Exp3-免杀原理
    20201331黄文刚Exp3-免杀原理基础问题回答(1)杀软是如何检测出恶意代码的?目前杀毒软件的原理主要有3种:引擎与病毒库的交互作用,通过特征码提取与病毒库中的特征码进行......
  • zabbix原理与搭建
    zabbix的含义:curl-o/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repoyummakecachewgethttp://repo.zabbix.com/zabbix/4.0/rhel/7/x......
  • PXE 原理和概念
    原文地址:https://blog.csdn.net/weixin_44841019/article/details/124306378目录一、PXE概述1、PXE2、PXE优点3、使用PXE的前提条件二、KickStart概述三、PXE服务的构建......
  • HTTPS加密原理
    一、单向加密单向加密算法又叫做不可逆算法,就是明文被加密后,原则上是不能还原的;名称运行速度安全性MD5快中SHA-1慢高SHA-256更慢更高//h......
  • 最小生成树+点乘原理
    点乘原理对于两个向量,最小向量点乘即为向量中最大的去乘另外一个向量中最小的,重复执行,最后的结果即为最小的观察题意,易得二分答案p,再写一个check()函数即可在check过......
  • 一文剖析:LVS/Nginx/HAProxy原理及应用场景
    负载均衡已经发展成为网络架构中的基础核心组件,消除了服务器单点故障,可以进行请求流量分流,提升冗余,保证服务器的稳定性。在开源的软件负载均衡中,应用最为广泛的有LVS、Nginx......
  • 19-springboot自动配置原理
    SpringBoot自动配置原理(SpringBoot自动装配原理,SpringBootstarter原理)SpringBoot可以根据定义在classpath下的类,自动的给你生成一些Bean,并加载到Spring的Context中,自动配......
  • k8s service原理
    1.为什么需要servicePod是非永久性资源,会动态创建和销毁,pod的ip会变化,而service会动态感知pod的变化,而对调用方无感知,调用方只需要访问固定的servicename就可以动态地访......