小编The*_*Guy的帖子

缓冲区溢出漏洞利用示例

我正在研究一些缓冲区溢出漏洞利用示例,并编写了一个基本的易受攻击的C应用程序来测试:(目标和攻击者是相同的Kali 2机器并运行"echo"0">/proc/sys/kernel/randomize_va_space")

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
        char buffer[256];
        if (argc != 2)
        {
                exit(0);
        }

        strcpy(buffer, argv[1]);
        printf("%s\n", buffer);
}
Run Code Online (Sandbox Code Playgroud)

现在,通过在GDB中进行一些测试,我可以通过在缓冲区中放入260个字节来导致seg错误:

r $(python -c 'print "A" * 204 + "BBBB" + "C" * 52')
Run Code Online (Sandbox Code Playgroud)

寄存器显示:

eax            0x105    261
ecx            0xffffd300   -11520
edx            0xf7fb3878   -134530952
ebx            0xf7fb2000   -134537216
esp            0xffffd300   0xffffd300
ebp            0x0  0x0
esi            0x0  0
edi            0x0  0
eip            0x42424242   0x42424242
eflags         0x10286  [ PF SF IF RF ]
cs             0x23 …
Run Code Online (Sandbox Code Playgroud)

c assembly exploit buffer-overflow

5
推荐指数
1
解决办法
1972
查看次数

标签 统计

assembly ×1

buffer-overflow ×1

c ×1

exploit ×1