
Linux挖掘基础
hollk
FUZZ && PWN
展开
-
Linux64位系统调用号——奇偶排列表格方便查找
前言博主精心准备的表格,基数调用号与偶数调用号分开排列,方便查找。整理不易,如果能够帮到你,记得点赞收藏加关注哦!!!Thanks♪(・ω・)ノLinux 64位系统系统调用调用号系统调用调用号read0write1open2close3stat4fstat5lstat6poll7lseek8mmap9mprotect10munmap11brk12rt_sigaction13rt_sigp.原创 2020-07-10 14:30:22 · 1042 阅读 · 0 评论 -
Linux32位系统调用号——奇偶排列表格方便查找
Linux32位系统系统调用调用号系统调用调用号exit1fork2read3write4open5close6waitpid7creat8link9unlink10execve11chdir12time13mknod14chmod15lchown16break17oldstat18lseek19getpid20mount21umount22setui原创 2020-07-10 14:04:22 · 1183 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第十二章 系统调用与API
前言老规矩,还是只看Linux相关的东西,想要了解Windows的朋友还请自行翻阅原著。关于系统调用,起始在前面ret2sys这道题中有过一些了解,程序本身没有system函数,通过使用int 0x80的方式进行系统调用。完全不知道我在说些什么也没有关系,这是一道pwn栈溢出的题,可以翻看前面的文章。下一个文章会列出系统调用号如果这篇文章能够帮助到你,就点个赞吧,有什么问题也可以在评论区留言Thanks♪(・ω・)ノ一、系统调用介绍1、什么是系统调用为了让应用程序有能力访问系统资源,也为了让程.原创 2020-07-07 16:57:51 · 508 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第十一章 运行库
前言这章主要想写的是入口函数和程序初始化的部分,在这张可以很清楚的看到,之前在做栈溢出的时候需要用到的知识点,比如_start_main_init 还有_csu_init等。虽然在溢出部分主要用的是函数的gadget,但是从执行流程来看,这一部分知识还是有必要了解一下的。这篇没有将整章内容提炼,如果需要了解其他知识的朋友可以自行阅读第十一章内容如果这篇文章对你有帮助,就点个赞吧,有什么问题也可以在评论区留言Thanks♪(・ω・)ノ一、入口函数和程序初始化1、程序从main开始吗我们可能在学校.原创 2020-07-07 14:11:14 · 485 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第十章 内存
前言终于到了期待的内存了,这章主讲的是堆和栈。我们按照做题的思想分开来看堆和栈,首先是在栈溢出的角度,在编写payload的时候就需要在脑海中有一个栈部署的体系,哪个位置是参数,哪个位置是指令,栈顶指针走到哪一步的时候执行某种操作等等,想好了这些东西之后再通过代码实现出来。在从堆溢出的角度来看,如何申请一个堆块,申请多大,堆块中应该些什么,堆块之间如何连接,释放之后会有什么效果。这些也是应该在计划之中的。这章我会在原著提炼的基础上加一些自己做题时候的理解,如果能够帮助到你,希望能够点个赞支持一下T.原创 2020-07-07 09:03:39 · 481 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第七章 动态链接※※※
前言这一样会有一些在做题当中会用到的点,前面几章一直讲的都是静态链接,静态链接会有一些缺点,比如浪费内存、磁盘空间模块更新困难的问题一、为什么要动态链接在说动态链接之前,咱们先回顾一下静态链接,起始静态链接的过程你可以把它看做一个集装打包的过程。举个栗子:比如有两个程序Program1和Program2,分别包含Program1.o和Program2.o两个模块,而且他们还共用Libc.o:在静态链接的情况下,因为Program1和Program2都用到Lib.o这个模块,所以同时在链接输出的可.原创 2020-07-03 09:51:51 · 746 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第六章 可执行文件的装载与进程 (下)
引言个人认为接下来的部分对做题很有帮助,所以就分了上和下。接下来的堆栈的介绍会让你做题的时候更加通透。2、堆和栈操作系统通过使用VMA来对进程的地址空间进行管理,例如栈(Stack)和堆(Heap),他们在进程的虚拟空间中的表现也是以VMA的形式存在的,并且一个进程中的栈和堆分别都有一个对应的VMA操作系统通过给进程空间划分出一个个VMA来管理进程的虚拟空间,基本原则是将相同权限属性的、有相同映像文件的映射成一个VMA,一个进程基本上可以分为如下VNA区域:代码VMA,权限只读、可执行;有映.原创 2020-06-28 12:15:58 · 547 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第六章 可执行文件的装载与进程(上)
引言第五章没写,是因为第五章主要将的是Windows下的PE结构。其实在前面也提到过,做这个系列是为Linux下漏洞挖掘和做pwn题准备的,所以Windows的东西基本上不碰。我是从Windows转到Linux,因为个人认为如果咱们国家如果想要实现技术自主的话,Windows系统很有可能会被淘汰。国产操作系统在类Unix系统方面的厂商有很多,所以,只是个人的一些想法。如果你喜欢Windows下的漏洞挖掘,那么可以自行看一下《程序员的自我修养》第五章。好的嘛,第六章开整,记得点赞哦Thanks♪(・ω.原创 2020-06-23 17:04:17 · 593 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第四章 静态链接
引言这章主要讲的是将两个目标文件链接起来的过程,核心内容:静态链接这一节主要使用下面两个源代码”a.c“和”b.c“作为例子讲解:/* a.c */extern int shared;int main() { int a = 100; swap( &a, &shared );}/* b.c */int shared = 1;void swap( int* a , int* b ) { *a ^= *b ^= *a ^= *b;}假设程序只有这两个.原创 2020-06-22 10:11:18 · 608 阅读 · 0 评论 -
《程序员的自我修养》学习心得——第三章 目标文件里有什么
引言仔细看了一遍第二章,发现第二章好像和Linux下漏洞挖掘没有什么太大的关联。第二章主要讲了程序从源代码阶段如何一步一步变成可执行程序的,但是在正常漏洞挖掘的时候一般都是挖掘已经编译好的可执行程序,很少关心编译过程中的流程,所以第二章就不写了。今天来讲讲目标文件里面的事,比如在挖掘中很重要的ELF文件构造,开整!一、目标文件的格式目标文件从结构上将,它是已经编译后的可执行文件格式,但是还没有经过链接的过程,和真正的可执行文件在结构上稍有不同。但目标文件一般和可执行文件格式一起采用一种格式存储,.原创 2020-06-22 10:11:09 · 709 阅读 · 1 评论 -
《程序员的自我修养》学习心得——第一章 温故而知新
引言已经好久没更新了,最近一直在讲课,也没有一个完整的时间能够好好整理一下后面的内容。但是今天在继续做接下来的pwn题的时候发现遇到了一些瓶颈,产生瓶颈的原因是自己对操作系统本身的基础知识不够,比如对于Linux下的内存管理、进程以及文件结构等。我是从web后转到二进制领域,所以一直都是做到什么样的题,遇到不懂的地方再去研究,这导致知识没有体系,知识之间的联动也很费劲。所以找到了这本《程序员的自我修养》恶补一下缺少的基础知识。其实标题虽然写的是心得,但基本上就是自己看完之后的理解,带了很多主观的想法.原创 2020-06-22 10:11:01 · 1155 阅读 · 5 评论