Skip to content
Snippets Groups Projects
Select Git revision
  • b011fc4ddca4f4b866203f3e20210ffee2d59abc
  • master default protected
  • android-msm-bullhead-3.10-nougat_kgdb_less_changes
  • android-msm-bullhead-3.10-nougat_kgdb
  • android-msm-bullhead-3.10-nougat_klist
  • android-4.4
  • android-msm-vega-4.4-oreo-daydream
  • android-msm-wahoo-4.4-p-preview-5
  • android-msm-wahoo-4.4-pie
  • android-msm-marlin-3.18-p-preview-5
  • android-msm-marlin-3.18-pie
  • android-msm-wahoo-2018.07-oreo-m2
  • android-msm-wahoo-2018.07-oreo-m4
  • android-msm-wahoo-4.4-p-preview-4
  • android-msm-bullhead-3.10-oreo-m6
  • android-msm-angler-3.10-oreo-m6
  • android-msm-marlin-3.18-p-preview-4
  • android-msm-stargazer-3.18-oreo-wear-dr
  • android-msm-catshark-3.18-oreo-wear-dr
  • android-msm-wahoo-4.4-oreo-m2
  • android-msm-wahoo-4.4-oreo-m4
  • android-daydreamos-8.0.0_r0.5
  • android-8.1.0_r0.92
  • android-8.1.0_r0.91
  • android-daydreamos-8.0.0_r0.4
  • android-p-preview-5_r0.2
  • android-p-preview-5_r0.1
  • android-9.0.0_r0.5
  • android-9.0.0_r0.4
  • android-9.0.0_r0.2
  • android-9.0.0_r0.1
  • android-8.1.0_r0.81
  • android-8.1.0_r0.80
  • android-8.1.0_r0.78
  • android-8.1.0_r0.76
  • android-8.1.0_r0.75
  • android-8.1.0_r0.72
  • android-8.1.0_r0.70
  • android-p-preview-4_r0.2
  • android-p-preview-4_r0.1
  • android-wear-8.0.0_r0.30
41 results

Kconfig

Blame
  • connect.py 1.41 KiB
    #!/usr/bin/env python
    import sys
    import os
    from pwn import context, log, remote
    from base64 import b64encode
    
    HOST = "10.0.23.24"
    PORT = 31337
    
    ### SETUP ###
    context.log_level = 'info'
    #context.log_level = 'debug'
    
    filename        = "x"
    remote_filename = "x"
    is_executable   = True
    
    ### SPLOIT ###
    CHUNKSIZE = 64
    
    def connect():
        log.info(p.recvuntil("$ "))
    
        with open(filename, "rb") as f:
            data = f.read()
    
        data = b64encode(data).decode()
    
        ldata = len(data)
        nchunks = ldata // CHUNKSIZE
        rchunks = ldata % CHUNKSIZE
    
        progress = log.progress("Transmitting {}".format(filename))
    
        import IPython; IPython.embed()
        assert nchunks * CHUNKSIZE + rchunks == ldata
        for idx in range(0,nchunks):
            progress.status(str(idx * CHUNKSIZE) + " / " + str(ldata))
            p.sendline("echo -n \"{}\" >> {}.b64".format(data[(idx*CHUNKSIZE):(idx+1)*CHUNKSIZE], remote_filename))
            p.recvuntil("$ ")
    
        if rchunks:
            p.sendline("echo -n \"{}\" >> {}.b64".format(data[(-1)*rchunks:], remote_filename))
            p.recvuntil("$ ")
    
        progress.success("Finished.")
    
        p.sendline("cat {}.b64 | base64 -d > {}".format(remote_filename, remote_filename))
        log.info(p.recvuntil("$ "))
    
        if is_executable:
            p.sendline("chmod +x {}".format(remote_filename))
            log.info(p.recvuntil("$ "))
    
        p.interactive()
        return
    
    if __name__=="__main__":
        p = remote(HOST, PORT)
        connect()