首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ROP-Ret2csu详解

利用原理 当在x64环境下函数的参数传递凑不齐类似“pop rdi;ret”/“pop rsi;ret”/“pop rdx;ret”等3个传参的gadgets时,就可以考虑使用_libc_csu_init...     rbx, 1 #此时,rbx会加1,然后和rbp对比 cmp     rbp, rbx #payload中只需要将rbp置为1,比较结果为非零值,便不会发生跳转,使程序继续执行到ret...jnz     short loc_5555555546F0 这两段代码运行后,会将栈顶指针移动56字节 所以一般要在后面加上56个字节的数据才可以连接到到ret...利用思路 当在x64程序中找不到rdx、rsi、edi时,再使用此方法 确定gadget1、gadget2的地址及顺序 构造初步ret2csu payload函数 ---- 例题 easy_csu...main'] print "write_got:"+ hex(write_got) print "main_Addr:"+ hex(main_addr) def csu(r12,r13,r14,r15,ret_addr

1.5K20

ROP_Ret2Shellcode-32实例

ROP_Ret2Shellcode-32实例 一、相关知识 之前我们说过ret2text漏洞是依赖于程序中存在执行 system("/bin/sh")的函数,那么如何解决ret2text的局限性 ret2textshellcode...没有执行shell的函数,没有开启NX保护 传入自定义的shellcode ret2libc 开启NX(可写的不可执行) 使用libc函数,leak libc + ROP 什么是shellcode...(DEP)数据执行保护:可写的不可执行,可执行的不可写 二、实例教学 实例下载:提取码:8189 step1:checksec 检查保护 我们发现没有NX和canary保护 这时我们可以用ret2text...护着ret2shellcode step2:查看是否存在系统函数 -d 显示汇编语句 grep system 查找是否存在system函数,但是这里显然是没有的,所以只能用ret2shellcode

6710
领券