摘要: Heap-Based Buffer Overflow in Sudo (Baron Samedit) 分析 -- POC 验证篇 从源码的角度去调试分析 CVE-2021-3156: Heap-Based Buffer Overflow in Sudo (Baron Samedit) 说实话我没有分 阅读全文
posted @ 2021-04-05 19:24 scriptkid 阅读(141) 评论(1) 推荐(1) 编辑
摘要: 之前写完前面四个的时候凌晨 4 点了,剩下最后一题没写 babykernel 补完 babykernel_level5_teaching1.ko 老样子,通过 ioctl 去控制 device_ioctl __int64 __fastcall device_ioctl(file *file, uns 阅读全文
posted @ 2021-02-25 01:14 scriptkid 阅读(109) 评论(0) 推荐(0) 编辑
摘要: prepare_kernel_cred - Prepare a set of credentials for a kernel service 使用指定进程的 real_cred 去构造一个新的 cred,不是引用,不是引用,不是引用,而是创建一个新的 cred 源码版本:Linux Kernel 阅读全文
posted @ 2021-02-23 19:02 scriptkid 阅读(468) 评论(0) 推荐(0) 编辑
摘要: 浅析一下用来修改当前进程 cred 的函数 commit_creds 源码版本:Linux kernel 5.9.9 首先来看 cred 结构 /* * The security context of a task * * The parts of the context break down in 阅读全文
posted @ 2021-02-23 03:57 scriptkid 阅读(260) 评论(0) 推荐(0) 编辑
摘要: 浅析一下几道不算 kernel pwn 的 babykernel 题 题目来自:https://cse466.pwn.college/ level1_teaching1.ko IDA 打开可以看到 看看初始化函数 init_module int __cdecl init_module() { __i 阅读全文
posted @ 2021-02-22 17:35 scriptkid 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 源码版本:Linux kernel 1.0 分析字符设备 /dev/mem 的驱动程序 既然是字符设备,万物皆文件,先找 file_operations 结构 struct file_operations mem_fops static struct file_operations mem_fops 阅读全文
posted @ 2021-01-23 21:27 scriptkid 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 今天看了 CSAPP (深入理解计算机系统)的异常控制流篇,直接来简单分析一下 Linux 内核的 中断描述符表 的初始化 源码版本:Linux kernel 5.6 内核启动时会在 start_kernel 里面调用 trap_init 去初始化中断向量表 以此为入口,开始分析 start_ker 阅读全文
posted @ 2021-01-23 01:05 scriptkid 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 其实只要接触过 Linux 内核源码的人都应该见过 current 这个宏,使用它获取当前进程的 task_struct 结构(当然这个不是绝对的) 现在就来看看 current 真正的样子 /* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_X8 阅读全文
posted @ 2020-12-03 20:25 scriptkid 阅读(295) 评论(0) 推荐(0) 编辑
摘要: how2heap -- glibc 2.23 -- fastbin_dup_consolidate.c #include <stdio.h> #include <stdint.h> #include <stdlib.h> int main() { void* p1 = malloc(0x40); v 阅读全文
posted @ 2020-11-11 17:33 scriptkid 阅读(321) 评论(0) 推荐(0) 编辑
摘要: __lib_free void __libc_free (void *mem) { mstate ar_ptr; mchunkptr p; /* chunk corresponding to mem */ // 检查 malloc.h 中有没有定义 __free_hook 函数 // 定义的话则执行 阅读全文
posted @ 2020-10-16 16:01 scriptkid 阅读(321) 评论(0) 推荐(0) 编辑