Pwn_相关黑话/技术名词解释(动态更新)

Pwn知识性名词

Linux相关

延迟绑定技术

ELF采用了当函数第一次使用时,才进行绑定。

ELF实现延迟绑定是通过Plt,原先GOT中存放着全局变量和函数调用,现在把它拆分为各个部分。 .got 和.got.plt,用.got存放着全局变量的引用,用.got.plt存放函数的引用。

基本可以解释为,只有在某个函数得到运行时,对应的plt got数据才正确绑定。

动态链接

程序装载时通过 动态链接器 将所需的所有 动态链接库 装载入进程空间中(程序按模块拆分成功各个相对独立的部分),当程序运行时才将他们链接在一起形成一个完整的程序过程。

相对于静态链接,静态链接会浪费更多内存和磁盘的空间,。在不同模块的情况下,静态链接一旦某一模块发生改变就会导致整个软件需要重新编译。动态链接推迟了这个链接过程到了程序运行时才进行。

Linux系统中,ELF动态链接文件被称为动态共享对象,简称共享对象。一般是以“.so”为扩展名的文件;windows中.dll

Libc

Linux下的函数库

Plt表与GOT表

若可执行文件中调用多个动态库函数,那每个函数都需要这两样东西。这样每样东西就形成一个表,每个函数使用的一项。

PLT:内部函数表,程序链接表

GOT:全局偏移表,全局函数表

image-20220227113924344.png

Got表避免了不能节省空间的情况。

Pwn/CTF黑话

exp

指漏洞利用的脚本,通常以python编写

shellcode

指能打开shell的一段代码,通常用汇编编写。

payload

有效载荷。漏洞利用过程中需要构造的攻击代码,shellcode属于payload的一种/一部分。

通用基本常识

posted @ 2022-04-29 17:48  L1ngYi  阅读(49)  评论(0编辑  收藏  举报