Xman pwn int_overflow writeup

本文分析了Xman pwn题目中int_overflow的漏洞利用过程。通过查看程序开启的NX保护和IDA分析,发现了一个由于strcpy函数导致的栈溢出。通过构造特定长度的password,可以绕过长度检查并覆盖EIP。利用存在的一段system("/bin/sh")代码,成功获取shell,从而得到flag。
摘要由CSDN通过智能技术生成

题目描述:

菜鸡感觉这题似乎没有办法溢出,真的么?

分析思路:

1、首先查看一下文件的详细信息,以及相关的安全机制:

tucker@ubuntu:~/pwn$ file int_overflow
int_overflow: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked,
interpreter /lib/ld-, for GNU/Linux 2.6.32,
BuildID[sha1]=aaef797b1ad6698f0c629966a879b42e92de3787, not stripped
tucker@ubuntu:~/pwn$ checksec int_overflow
[*] '/home/tucker/pwn/int_overflow'
    Arch:     i386-32-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX enabled
    PIE:      No PIE (0x8048000)

我们发现程序开启了NX,即栈不可执行,因此我们只能通过栈跳转到现有的代码。

2、打开IDA看一下:

int __cdecl main(int argc, const char **argv, const char **envp)
{
  int v4; // [esp+Ch] [ebp-Ch]

  setbuf(stdin, 0);
  setbuf(stdout, 0);
  setbuf(stderr, 0);
  puts("------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值