Xman pwn guess_num writeup

这篇博客主要介绍了Xman在玩一个猜数字游戏时遇到的问题,以及如何通过分析64位ELF文件、理解程序逻辑和随机数生成机制来解决。作者发现程序使用了不随机的rand函数,并通过Python ctypes库进行验证。通过栈溢出覆盖seed值,最终成功猜中10次随机数,获取flag。
摘要由CSDN通过智能技术生成

题目描述:

菜鸡在玩一个猜数字的游戏,但他无论如何都银不了,你能帮助他么

分析思路:

1、首先查看一下文件详细信息:

tucker@ubuntu:~/pwn$ file guess_num
guess_num: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, 
interpreter /lib64/l, for GNU/Linux 2.6.32, 
BuildID[sha1]=c5689a0b4458c068fb51e3a2c167b112c3ba7323, stripped

tucker@ubuntu:~/pwn$ checksec guess_num
[*] '/home/tucker/pwn/guess_num'
    Arch:     amd64-64-little
    RELRO:    Partial RELRO
    Stack:    Canary found
    NX:       NX enabled
    PIE:      PIE enabled

发现是64bit的ELF文件,stripped(No debug info),而且感觉安全机制基本都开了。

2、IDA看一下:

__int64 __fastcall main(__int64 a1, char **a2, char **a3)
{
  int v4; // [rsp+4h] [rbp-3Ch]
  int i; // [rsp+8h] [rbp-38h]
  int v6; // [rsp+Ch] [rbp-34
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值