DASCTF 2023六月挑战赛|二进制专项 PWN

1.easynote

64位的,给了libc库,开了canary,拖入ida分析,在edit函数中存在堆溢出

 delete函数中存在uaf漏洞

 通过uaf漏洞泄露出main_arena地址,获取libc基址,system

因为有堆溢出和uaf,可以伪装fastchunk,通过gdb调试0x602095地址的值为0x7f,可伪装

 修改chunk_ptr数组里的值为free_got,然后把它修改为system,再free时即可拿到shell

 

2.fooooood

64位,也给了libc库,开了canary和pie地址随机  拖入ida看存在格式化字符串漏洞,有3次

 通过gdb调试可泄露程序基址,栈地址,libc基址,然后第一次用格式化字符串泄露它们

通过ida分析和gdb调试i在rbp-c中,它是int类型占4字节,还有两次格式化字符串漏洞,可通过这两次修改为i的值,第一次是把args参数链修改为i地址,第二次是修改i值即可再次使用格式化字符串漏洞

 

 37为第二次修改i值的位置。因为给了Libc,修改返回地址的低4字节为one_gadget的低4字节即可拿到shell

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值