专栏名称: 珂技知识分享
分享自己的安全技术,渗透实例,IT知识,拒绝转载,坚持原创。
今天看啥  ›  专栏  ›  珂技知识分享

web选手入门pwn(19) ——2个字节

珂技知识分享  · 公众号  ·  · 2024-09-05 14:11

文章预览

1.    attachment(2字节shellcode) mmap分配0x1000的可读可写可执行的buf地址,然后read写入2个字节,执行buf。 gdb里看一眼。 可以看到call rcx,而rcx上就是buf,里面有我们写的AA。 进入buf之后是AA\x00\x00\x00\x00\x00\x00,所以这个题本质上就是2字节的shellcode。AA到底应该填什么呢?IDA上已经提示的很明显了。 显然是call read,但call read没法2个字节,所以答案是系统调用syscall,看下此时的寄存器对不对。 rax = 0 x0; read的系统调用号 rdi = 0 x0; 第一个参数 rsi = buf; 第二个参数 rdx = 0 x500; 第三个参数 很完美,此时已进入buf执行,第二次read重写buf,然后继续执行syscall后面的shellcode。所以第二次read的时候要注意下shellcode填充几个NOP就行。以及用send()不能用seadline() #!/usr/bin/env python from pwn import * context.log_level = 'debug' con ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览