![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pwn
文章平均质量分 97
金语
这个作者很懒,什么都没留下…
展开
-
从o开始的pwn学习之超详细ret2dl_resolve
文章目录从o开始的pwn学习之超详细ret2dl_resolve前置知识需要用到的节_dll_runtime_resolve函数延迟绑定机制_dl_fixup()函数RELROFull RELRONO RELROPartial RELRO_dll_runtime_resolve干了什么实践调用库函数实例插一个有意思的小点,关于低地址gdb无法断点调试这件事call指令的诞生与消亡栈迁移ret2dl_resolvelevel1EXP1level2目标计算 relloc_argEXP2level3思路EXP3l原创 2021-05-01 01:56:01 · 2447 阅读 · 4 评论 -
从o开始的pwn学习之随意pwnpwn(1)----两种绕过canary(金丝雀)的实例
从0开始的pwn学习之随意pwnpwn(1)----绕过canary(金丝雀)的实例做两道道简单的pwn(因为刚刚学,可能难免会有错误,望师傅们轻点骂)众所周知,绕过canary的方法除了一个一个猜字节(不是),还有两种常见方法(1)通过覆盖00字符读出canary(2)通过格式化字符串漏洞泄露canary金丝雀基础知识Canary 的意思是金丝雀,来源于英国矿井工人用来探查井下气体是否有毒的金丝雀笼子。工人们每次下井都会带上一只金丝雀。如果井下的气体有毒,金丝雀由于对毒性敏感就会停止鸣叫甚至死原创 2021-03-24 23:26:14 · 4070 阅读 · 8 评论 -
从o开始的pwn学习之ret2csu
ret2csu前置知识X64寄存器我们知道,64位寄存器有RAX,RBX,RCX,RDX,RDI,RSI,RBP,RSP,R8,R9,R10,R11,R12,R13,R14,R15,而rdi,rsi,rdx,rcx,r8,r9便用来传递函数的前六个参数,如多于六个,便在放到栈里。__libc_csu_init一般的程序都会调用libc中的函数,而此函数便是来将libc初始化的,故此函数几乎是每一个程序所必备的。gadget我们在构造ROP链的时候,往往会用到能够给寄存器赋值的gadget,形如原创 2021-04-09 23:16:34 · 2941 阅读 · 4 评论