2022鹏城杯 pwn--one--wp
这次比赛由于本人较菜,只做出了一道格式化字符串的那道题(比赛24个小时,这道题我打了18个小时,是真菜),在知道roderick师傅三小时做了四道题之后,就感觉自己更菜了 o(╥﹏╥)o 然后由于堆题的libc版本都很高,所以暂时先没打算复现(主要菜狗才刚把低版本libc的堆基础漏洞学完)
这次比赛由于本人较菜,只做出了一道格式化字符串的那道题(比赛24个小时,这道题我打了18个小时,是真菜),在知道roderick师傅三小时做了四道题之后,就感觉自己更菜了 o(╥﹏╥)o 然后由于堆题的libc版本都很高,所以暂时先没打算复现(主要菜狗才刚把低版本libc的堆基础漏洞学完)
CATCTF2022 PWN赛题复现
buu刷题…
考察了off by null
赛题WP
赛题WP
这次比赛放了三道pwn,做起来还是蛮吃力的,shellcode那题还是经过师傅们提示才做出来的,R()P这题到比赛结束也没有做出来。通过这次比赛感觉自己对于汇编中的gadget理解和利用还是有写不足,在此写下wp记录一下解题的过程。
赛题WP
通过这道题的学习和收获有:
1、栈迁移,何为栈?本来栈的定义就是rsp指针与rbp指针之间的就是栈。rsp在哪栈就在哪,因此两次leave,栈就变了两次,而真正跳到变化的栈那步是在最后的ret执行的。也算是对栈迁移又有了一点新的理解。
2、利用magic gadget修改got表
3、这道题的核心考察的就是栈迁移以及payload布局。
4、取magic gadget中的ebx时,如果ebx的值为正,则直接取,如果为负,则加0x100000000取补码。
5、如果可以的话,迁移到bss段尽量迁移到地址高一点的地方。这次打远程的那个exp就是因为bss段迁移的太低了,因为是破坏了某些数据,导致最后执行system函数的时候卡住了。