newbieからバイナリアンへ

newbieからバイナリアンへ

人参の秘めたる甘さに気づいた大学生日記

【pwn 4.8】 vuln100 - Codegate CTF 2013

なんか解けなかった

同じ問題に何時間も費やすと発狂しそうだからとばし




 

 

 

 

 

0: 参考

bataさんの良問リスト

 

問題ファイル

 

shell-storm.org

 

 

1: イントロ

 

2: 静的解析

./vuln100: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/l, for GNU/Linux 2.6.24, BuildID[sha1]=405654ce20fe1b9e5b8cd57c1299ce770f8d3b5d, stripped
    Arch:     amd64-64-little
    RELRO:    Partial RELRO
    Stack:    No canary found
    NX:       NX disabled
    PIE:      No PIE (0x400000)
    RWX:      Has RWX segments
local_10 = local_118;
    uVar2 = 0xffffffffffffffff;
    pcVar3 = pcParm1;
    do {
        if (uVar2 == 0x0) break;
        uVar2 = uVar2 - 0x1;
        cVar1 = *pcVar3;
        pcVar3 = pcVar3 + 0x1;
    } while (cVar1 != '\0');
    memcpy(local_118,pcParm1,~uVar2 - 0x1);

こういうコードはstrlenをしていると覚えておこう