Skip to content

Instantly share code, notes, and snippets.

@Ferdi265
Created April 26, 2020 23:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Ferdi265/ed1a8ba0512d8c1e0a5c6f8f4e1f10ce to your computer and use it in GitHub Desktop.
Save Ferdi265/ed1a8ba0512d8c1e0a5c6f8f4e1f10ce to your computer and use it in GitHub Desktop.
PlaidCTF golf.so challenge - LosFuzzys
bits 64
org 0x0
ehdr:
db 0x7f, "ELF" ; e_ident[0:4] = ELFMAG
db 2 ; e_ident[4] = ELFCLASS64
db 1 ; e_ident[5] = ELFDATA2LSB
db 1 ; e_ident[6] = EV_CURRENT
db 0 ; e_ident[7] = ELFOSABI_SYSV
db 0 ; e_ident[8] = EI_ABIVERSION
db 0, 0, 0, 0, 0, 0, 0 ; e_ident[9:16]
dw 3 ; e_type = ET_DYN
dw 62 ; e_machine = EM_386
dd 1 ; e_version = EV_CURRENT
; dq 0 ; e_entry
code2:
xor edx, edx
push rsi
push rsp
pop rdi
push rsp
jmp code3
; end of e_entry
dq phdr - ehdr ; e_phoff
; dq 0 ; e_shoff
; dd 0 ; e_flags
; dw 64 ; e_ehsize = sizeof (Elf64_Ehdr)
entry:
mov rsi, 0x0068732f6e69622f
xor eax, eax
jmp code2
; end of e_ehsize
dw 56 ; e_phentsize = sizeof (Elf64_Phdr)
dw 2 ; e_phnum
; dw 0 ; e_shentsize
; dw 0 ; e_shnum
; dw 0 ; e_shstrndx
; overlaps into above
phdr:
; LOAD segment
dd 1 ; p_type = PT_LOAD
dd 7 ; p_flags = PF_R | PF_W | PF_X
dq 0 ; p_offset
dq ehdr ; p_vaddr
; dq 0 ; p_paddr
code3:
pop rbx
push rdx
push rbx
push rsp
mov al, 59
jmp code4
; end of p_paddr
dq end - ehdr ; p_filesz
; dq end - ehdr ; p_memsz
code4:
pop rsi
syscall
; 5 bytes left of p_memsz
db 0, 0, 0, 0, 0
dq 4096 ; p_align = PAGE_SIZE
; DYNAMIC segment
dd 2 ; p_type = PT_DYNAMIC
dd 4 ; p_flags = PF_R
dq dynamic ; p_offset
dq dynamic ; p_vaddr
; dq 0 ; p_paddr
; db 0, 0, 0
; dq end_dynamic - dynamic ; p_filesz
; dq end_dynamic - dynamic ; p_memsz
; dq 16 ; p_align = sizeof (Elf64_Dyn)
; overlaps into above
dynamic:
dq 12 ; DT_INIT
dq entry
dq 6 ; DT_SYMTAB
dq symtab
dq 5 ; DT_STRTAB
dq symtab
; dq 0 ; DT_NULL
; dq 0
end_dynamic:
symtab:
end:
; PCTF{th0ugh_wE_have_cl1mBed_far_we_MusT_St1ll_c0ntinue_oNward}
; PCTF{t0_get_a_t1ny_elf_we_5tick_1ts_hand5_in_its_ears_rtmlpntyea}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment