转自:http://linuxperf.com/?p=116 在Linux系统上,进程运行分为用户态与内核态,进入内核态之后使用的是内核栈,作为基本的安全机制,用户程序不能直接访问内核栈,所以尽管内核栈属于进程的地址空间,但与用户栈是分开的。Linux的内核栈大小是固定的,从2.6.32-520开始
转载 2018-03-14 11:31:00
404阅读
2评论
###0x01 概述 本地溢出提权首先要有服务器的一个普通用户权限,攻击者通常会向服务器上传本地溢出程序,在服务器端执行,如果系统存在漏洞,那么将溢出Administrator权限。 系统内核溢出漏洞提权是一种通用的提权方法,攻击者通常可以使用该方法绕过系统的所有安全限制。攻击者利用该漏洞的关键是目
原创 2021-05-12 18:00:58
1423阅读
​检测内核的堆栈溢出​ “如果建筑工人盖房子的方式跟程序员写程序一样,那第一只飞来的啄木鸟就将毁掉人 类文明。” – Gerald Weinberg 内核堆栈溢出通常有两种情况。一种是函数调用栈超出了内核栈THREAD_SIZE的大小, 这是栈底越界,另一种是栈上缓冲越界访问,这是栈顶越界。 检测栈底越界 以arm平台为例,内核栈THREAD_SIZE为8K,当调用栈层次过多或某调用栈上分配过大的
转载 2018-03-14 11:07:00
413阅读
2评论
​目录​​​内核溢出漏洞提权​​​​实战MSF中CVE-2018-8120模块本地溢出漏洞提权 ​​​​查看系统补丁​​​​选择利用模块攻击​​内核溢出漏洞提权本地溢出提权首先要有服务器的一个普通用户权限,攻击者通常会向服务器上传本地溢出程序,在服务器端执行,如果系统存在漏洞,那么将溢出Administrator权限。以下是不同系统提权的漏洞和相应的补丁。github上windows系统
原创 2022-03-17 18:04:46
960阅读
用户进程会通过malloc等函数进行动态内存分配相应的内核也有一套动态的内存分配机制。该项目在执行read模块时会从内核堆地址中拷贝信息到用户空间中去,但是这里的拷贝没有对长度做限制,因此存在着越界读的漏洞。
用户进程会通过malloc等函数进行动态内存分配相应的内核也有一套动态的内存分配机制。该项目在执行read模块时会从内核堆地址中拷贝信息到用户空间中去,但是这里的拷贝没有对长度做限制,因此存在着越界读的漏洞。
原创 精选 2023-09-13 17:15:25
486阅读
【tcp socket的发送与接收缓冲区】发送缓冲队列struct sk_buff 【TCP接收/发送滑动窗口与内核接收/发送缓冲区之间的关系】滑动窗口的大小与套接字缓存区会在一定程度上影响并发连接的数据,每个TCP连接都会为维护TCP滑动窗口而消耗内存,这个窗口会根据服务器的处理速度收缩或扩张。 整个数据的流程中,首先网卡接收到的数据存放到内核缓冲区内,然后内核缓冲区存放的数
转载 2023-07-28 16:23:33
294阅读
ESP32-FreeRTOS基于 Michael_ee 老师的视频做的笔记 https://space.bilibili.com/1338335828 视频深入浅出,很适合初学者以及开发者提升用。一、FreeRTOS基础优势:系统免费方便代码复用实时性系统代码量很小,只需要3个C文件已经移植到很多平台二、ESP32中FreeRTOS启动过程2.1 FreeRTOS核心代码 在esp-idf-co
转载 2024-05-22 22:25:40
487阅读
MPU(Memory Protection Unit,内存保护单元)把内存映射为一系列内存区域,定义这些内存区域的维洲,大小,访问权限和内存熟悉信息。
原创 精选 2021-09-28 11:04:19
5435阅读
1点赞
(编辑中) 一、理论: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意...
转载 2011-12-02 11:14:00
593阅读
2评论
(编辑中) 一、理论: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, ...
原创 2021-09-29 14:00:18
673阅读
溢出:不断的new 一个对象,一直创建新的对象,栈溢出:死循环或者是递归太深,递归的原因,可能太大,也可能没有终止。在一次函数调用中,栈中将被依次压入:参数,返回地址,EBP。如果函数有局部变量,接下来,就在栈中开辟相应的空间以构造变量。举例如下:那么堆栈是什么?如果计算机是一个白领的话,那么堆栈就是他的办公桌。为了完成老板(程序)交代的工作,这个白领需要从书架或者柜子里拿出资料出来核对处理。
转载 2023-09-21 09:03:01
114阅读
一、原理事实上,堆和栈是不同的数据结构概念,堆栈溢出也可细化为堆溢出和栈溢出两种。栈有两个特性:只能从栈的顶端存取数据;数据的存取符合后进先出的原则。所谓后进先出,其实就如同自助餐中餐盘在桌面上一个一个往上叠放,在取用时先拿最上面的餐盘,这是典型的堆栈概念的应用。 堆是一种树结构,准确地说是一个完全二叉树。 在内存中,当一个可执行程序被装入到内存时,主要包括两个部分 :代码和数据。代码会被装入到内
  heap corruption detected: after normal block heap corruption detected: after normal block(#xxx) at 0x xxxxxxxx crt detected that the application wrote to menory after end of heap buff
转载 精选 2012-10-16 11:42:54
364阅读
Java内存溢出详解   一、常见的Java内存溢出有以下三种:   1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。 可以利用JVM提供的-Xmn -Xms -Xmx等选项可进行设置
翻译 2021-09-01 10:12:22
773阅读
Java内存溢出详解  一、常见的Java内存溢出有以下三种:  1. java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出JVM
翻译 2022-03-23 13:55:18
341阅读
文章目录为什么需要提权Windows提权的常见方法Windows系统常见命令1.内核溢出漏洞提权IIS权限拿shell提权过
原创 2022-11-17 07:06:57
453阅读
JVM中几种内存溢出的情况–JVM学习笔记我们在做JAVA时经常会碰到几种内存溢出的错误:栈内存溢出(StackOverflowError)、堆内存溢出(OutOfMemoryError : java heap space)。我们首先要明白什么是内存溢出,而提到提存溢出我们就又引出了一个新的概念:内存泄漏。1.内存溢出和内存泄漏的区别内存溢出 (Out Of Memory):是指程序在申请内存时,
写代码实现堆溢出、栈溢出、永久代溢出、直接内存溢出 - 根号三 - CSDN博客 https://blog.csdn.net/u011983531/article/details/63250882
转载 2019-03-09 14:01:00
299阅读
2评论
前言 现象:生产环境java项目,运行一周后出现OOM问题,初步排查是内存泄漏问题导致OOM。 在讨论内存泄漏问题之前,我们首先看一下对内存泄漏的定义,在维基百科上,对内存泄漏问题的定义如下:内存泄漏(Memory leak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了
  • 1
  • 2
  • 3
  • 4
  • 5