pwn学习日记Day5 基础知识积累】的更多相关文章

知识杂项 int mprotect(const void *start, size_t len, int prot); mprotect()函数把自start开始的.长度为len的内存区的保护属性修改为prot指定的值. int fflush(FILE *stream) fflush():会强迫将缓冲区内的数据写回参数stream 指定的文件中. 如果参数stream 为NULL,fflush()会将所有打开的文件数据更新. DEP:可帮助防止数据页当作代码执行,从而有效分离数据与代码.通常情况…
知识杂项 strncpy(char s1,const char s2,int n); 其中有三个参数分别表示目标字符串s1,源字符串s2,拷贝长度.意思是将s2指向的字符串的前n个长度的字符放到s1指向的字符串中,并将s1原有的前n个字符覆盖. sys_execve() 在真正的开始执行系统调用函数之前,系统调用服务程序已经将一些系统调用的函数的参数传递给了相应的寄存器,比如这里的ebx,ecx,edx都分别保存了系统调用的参数,ebx保存的是第一个参数,依次类推(当然最多传递的参数个数不能大于…
知识杂项 msfVENOM:Msfvenom是msf框架配套的攻击载荷生成器. payload:有效载荷. payload:目标系统上渗透成功后执行的代码. Metasploit:一款开源的安全漏洞检测工具. BufferRegister:缓冲寄存器 shellcode的变形 "\x31\xc9\xf7\xe1\xb0\x0b\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xcd\x80"显然含有大量的非base64编码字符,甚…
知识杂项 libc是Linux下的ANSI C的函数库. LOOKUP函数 数组形式:公式为= LOOKUP(lookup_value,array) 式中 array-包含文本.数字或逻辑值的单元格区域或数组它的值用于与 lookup_value 进行比较. str.ljust(width[, fillchar]) 1.width -- 指定字符串长度. 2.fillchar -- 填充字符,默认为空格. 返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串.如果指定的长度小于原字符串的长…
知识杂项 aslr:是一种针对缓冲区溢出的安全保护技术,通过对堆.栈.共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的的一种技术. str.strip([chars]); 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. chars -- 移除字符串头尾指定的字符序列. 返回移除字符串头尾指定的字符生成的新字符串. 调整栈帧技巧 在存在栈溢出的程序中,有时候我们会碰到一些栈相关的问题,例如溢出的字节数太小,AS…
知识杂项 ELF:在计算机科学中,是一种用于二进制文件.可执行文件.目标代码.共享库和核心转储格式文件. char fgets(char buf, int bufsize, FILE stream); buf: 字符型指针,指向用来存储所得数据的地址. bufsize: 整型数据,指明存储数据的大小. *stream: 文件结构体指针,将要读取的文件流. 从文件结构体指针stream中读取数据,每次读取一行.读取的数据保存在buf指向的字符数组中,每次最多读取bufsize-1个字符(第bufs…
知识杂项 shell-storm.org的shellcode数据库 使用pwntools库把shellcode作为输入传递给程序,尝试使用io.interactive()与程序进行交互,发现可以执行shell命令. shellcode:是一段可以执行特定功能的神秘代码. shell-storm:上还有可以执行其他功能如关机,进程炸弹,读取/etc/passwd等的shellcode. EAX 是"累加器"(accumulator), 它是很多加法乘法指令的缺省寄存器. EBX 是&qu…
ida / od 窗口(针对od操作) 反汇编窗口:显示被调试程序的反汇编代码,标题栏上的地址.HEX 数据.反汇编.注释可以通过在窗口中右击出现的菜单 界面选项->隐藏标题 或 显示标题 来进行切换是否显示.用鼠标左键点击注释标签可以切换注释显示的方式. 寄存器窗口:显示当前所选线程的 CPU 寄存器内容.同样点击标签 寄存器 (FPU) 可以切换显示寄存器的方式.重点关注ESP .EBP.EIP EBP寄存器:存放函数栈底指针. ESP寄存器:存放函数栈顶指针. EIP寄存器:下一条指令的地…
知识杂项 *:字符串重复 空指令NOP:\x90 cmp:是比较指令,cmp的功能相当于减法指令.它不保存结果,只是影响相应的标志位. xor:将两个操作数进行异或运算,并将结果存放到操作数1中. shr:带进位的右移 shellcode的变形 函数代码在栈中保存顺序(直观理解,已省略其他细节): buffer 前栈帧EBP 返回地址 ESP 溢出原理 正常情况下函数在返回过程中,最后会执行返回地址中保存的内容,通常是跳到下一条指令的地址如果buffer长度过长,长到覆盖了返回地址的值,那么函数…
如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA   基础知识       FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门.网络上各种开发板.培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT啦.那么我们要玩转FPGA必须具备哪些基础知识呢?下面我们慢慢道来. (一) 要了解什么是FPGA 既然要玩转FPGA,那我们首先最重要的当然是要了解什么FPGA.FPGA(Field-Programmabl…