[MIPS] Shellcode
mips 환경에 맞는 shellcode를 만들어보려고 한다. 먼저 어셈블리어로 간단한 write(1,"Hello, World!\n",14)를 만들어본다. root@debian-mipsel:/home/user# cat hello.s #Hello, World!.data#DATA SECTION## printing stringout_string:.asciiz"Hello, World!\n" .text#text section start.global main#main exportmain:#main labelli $2, 4004#syscall number writeli $6, 14#lenla $5, out_string#buf addrli $4, 1#stdoutsyscall#syscall li $2, 1#syscall ..
ARM BOF
ARM BOF를 해본다. 별반 다를게 없다는 생각이 든다. 먼저 간단히 실행을 시켜본다.[출력 화면]인자에 값을 넣어주면 Hello BOF ARM과 함께 입력한 값을 보여준다. bof이기 때문에 일단 먼저 a를 무식하게 많이 넣어본다. [0x61616161] 위의 그림과 같이 eip가 61로 덮였다. 간단하게 위와 같이 확인하고 분석해보도록 한다. STMFD SP!, {R11,LR}ADD R11, SP, #4 //R11을 EBP 처리SUB SP, SP, #0x88 // Frame 공간 0x88 확보STR R0, [R11,#var_88] // argc를 r0에 복사STR R1, [R11,#var_8C] // argv를 r1에 복사LDR R0, =aHelloBofArm ; "Hello BOF ARM"BL p..