摘要:
首先源代码如下 <?php class Modifier { protected $var; public function append($value){ include($value); } public function __invoke(){ $this->append($this->var 阅读全文
摘要:
file_get_contents() 作用就是将文件读到字符串中 file_get_contents(path,include_path,context,start,max_length) | 参数 | 描述 | | | | | path | 必需。规定要读取的文件。 | | include_pa 阅读全文
摘要:
一直学pop链,原理是懂的,但是就是做不出来题目,这次好好总结一下,直接上题目,研究的是 [EIS 2019]EzPOP 这道题还是很有难度的 源代码如下: 1 <?php 2 error_reporting(0); 3 4 class A { 5 6 protected $store; 7 8 p 阅读全文
摘要:
首先打开网址之后是一个文件上传 直接上传一句话木马 <?php @eval($_POST['attack']);?> 然后我们抓包改成Content-Type:image/jpeg 之后又发现其对文件后缀名进行了限制过滤了(绕过的方法php3,php4,php5,phtml,pht) 发现php3, 阅读全文
摘要:
EIP存储的是指令地址 不能使用mov来修改EIP的值 使用jmp short(如果不超过128个字节就会加short) jmp的作用是修改EIP(无条件修改) jmp 寄存器/立即数 call指令: 修改EIP push 返回地址(即call命令下一行指令的地址)(当前指令加当前指令的长度) re 阅读全文
摘要:
标志寄存器要记的: 1.进位标志寄存器CF:如果运算结果的最高位产生了一个进位或借位,那么,其值为1,否则其值为0 首先应该确定数字的宽度 (确定数据宽度之后才能说什么是最高位) (无符号计算的时候看这个标志位) 2.奇偶标志位PF:奇偶标志位PF用于反映运算结果中“1”的个数的奇偶性,如果"1"的 阅读全文
摘要:
堆栈特点:先进后出 指令pop 和push pop出栈 pop eax(出来32位) pop ax(出来16位) push进栈 push eax(进去32位) push ax(进去16位) push dword ptr DS:[0x123456](进去32位) pushad(将寄存器入栈,保存现场) 阅读全文
摘要:
mov指令两个操作数不能都是内存 寻址方式一:[立即数] mov EAX,DWORD PTR DS:[0x13FFC4] 读出来了13FFC4 C5 C6 C7 获取内存编号:(LEA指令) LEA EAX,DWORD PTR DS:[13FFC4] 将13FFC4放入EAX 寻址方式二:[reg] 阅读全文
摘要:
32位通用寄存器的制定用途如下: 32位寄存器 16位寄存器 8位寄存器 主要用途 编号 存储数据的范围 EAX AX AL 累加器 0 0-0xFFFFFFFF ECX CX CL 计数 1 0-0xFFFFFFFF EDX DX DL I/O指针 2 0-0xFFFFFFFF EBX BX BL 阅读全文
摘要:
二进制 0 1 10 11 100 101 110 111 1000 1001 1010 1011 有符号数和无符号数 如果4位表示则可以表示的最大无符号数位F(15) 如果表示有符号数则可以表示的为0,1,2,3,4,5,6,7 ,-1,-2,-3,-4,-5,-6,-7,-8 F,E, D C 阅读全文