
LInux
文章平均质量分 60
钞sir
物是人非事事休
展开
-
qemu调试Ubuntu内核
一眉柳叶弯 一双桃花眼 他爱她一滴一点原创 2021-11-07 21:50:35 · 16888 阅读 · 1 评论 -
Linux syscall Hook
简介Linux程序基本都是靠系统调用(syscall)来实现的, 所以可以控制到syscall, 就可以对程序进行监控或修改了;前置知识我们知道现在系统中程序分为64位和32位的, 系统为了兼容这些程序对系统函数的调用方法进行了简单的区分,最直观的就是64位程序使用syscall来调用系统函数,而32位的程序使用的是int 0x80, 比如这里的sleep函数的系统调用:64位程序:32位程序:当然, 不是简单一个syscall命令或者int 0x80命令就可以完成一个系统调用, 还有一个系原创 2021-03-26 20:25:43 · 1960 阅读 · 0 评论 -
运行任意Linux so文件的导出函数
命定运变…原创 2021-02-26 17:35:45 · 11828 阅读 · 0 评论 -
gdb调试多进程
简介在Linux系统下主要使用的调试器就是gdb, 但是在使用gdb的时候遇到了多进程的程序时,默认的配置我们是不可以直接多多个进程同时进行调试的, 需要设置几个参数…例子这里程序利用fork()函数生成了一个子进程(第一个框中就是子进程执行的代码);follow-fork-mode和detach-on-fork通过在gdb中设置follow-fork-mode和detach-on-fork的值来调试子程序, 在gdb中分别默认的值是: parent和on:follow-fork-mo原创 2020-12-01 11:15:28 · 10075 阅读 · 0 评论 -
Linux Kernel Exploit 内核漏洞学习(5)-整数溢出
Linux Kernel Exploit 内核漏洞学习(5)-整数溢出前言在计算机语言中整数类型都有一个宽度,我们常见的整数类型有8位(单字节字符、布尔类型)、16位(短整型)、32位(长整型)等,也就是说,一个整数类型有一个最大值和一个最小值;如歌把一个数据放入了比它本身小的存储空间中,从而出现了溢出;而通常一个数据的溢出,往往影响的是一个堆或者栈的申请,最终导致堆或栈的溢出…我这里是通过...原创 2019-11-05 23:58:50 · 10407 阅读 · 0 评论 -
Linux Kernel Exploit 内核漏洞学习(4)-RW Any Memory
简介RW Any Memory的全称是Read and write any memory, 就是内存任意读写;通常这种类型的漏洞是由于越界读写或者错误引用了指针操作造成可以修改控制某个区域里面的指针,导致我们可以改变程序的常规读写区域甚至程序执行流程…这里我是利用2019 STARCTF里面的hackeme来演示和学习这种漏洞的利用,其中环境和题目我放在github上面了.需要的话可以自行下载...原创 2019-09-02 12:59:33 · 10470 阅读 · 0 评论 -
Linux Hook--ptrace的常用参数使用
简介ptrace是一种系统调用,也就是进程追踪(process trace);用于对进程的执行进行干涉以及寄存器状态(值)的读取以及设置,内存的写入与读取;我们常用的Linux下的gdb主要功能实现就是通过ptrace系统调用的:#include <sys/ptrace.h>long ptrace(enum __ptrace_request request, pid_t pid,...原创 2020-04-28 20:00:03 · 10939 阅读 · 3 评论