목록ARM (19)
Self-Improvement
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
ko.wikipedia.org/wiki/ELF_%ED%8C%8C%EC%9D%BC_%ED%98%95%EC%8B%9D ELF 파일 형식 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ELF 파일은 두 관점을 갖는다: 프로그램 헤더는 런타임 시 사용되는 세그먼트들을 보여주고, 섹션 헤더는 바이너리의 섹션들의 집합을 나열한다. ELF(Executable and ko.wikipedia.org offset - 0x4 1이면 32bit, 2이면 64bit offset - 0x5 1이면 리틀엔디안, 2이면 빅엔디안 offset - 0x12 28이면 arm, 8이면 mips
소스코드 // gcc -fno-stack-protector -o bof bof.c #include #include #include #include int main(void) { char buf[100]; read(0, buf, 1024); write(1, buf, 0x100); return 0; } 보호기법 ASLR on gef> checksec [+] checksec for '/home/pi/bof' Canary : No NX : Yes PIE : No Fortify : No RelRO : No ASLR이 존재함으로 ROP를 할때는 offset을 이용해야 하는 것과 바이너리파일에 system 함수가 없어도 라이브러리에서 offset을 통해 system 함수를 call 하여 실행시킬 것이다. 바이너리 파..
보호되어 있는 글입니다.
ARM에서의 PLT와 GOT를 확인해보자. 1. GDB strcpy의 plt는 0x10368이다 gef➤ disassemble main Dump of assembler code for function main: 0x00010510 :push{r11, lr} 0x00010514 :addr11, sp, #4 0x00010518 :subsp, sp, #40; 0x28 0x0001051c :strr0, [r11, #-40]; 0xffffffd8 0x00010520 :strr1, [r11, #-44]; 0xffffffd4 0x00010524 :ldrr3, [r11, #-44]; 0xffffffd4 0x00010528 :addr3, r3, #4 0x0001052c :ldrr2, [r3] 0x00010530 :sub..
shantoroy.com/security/ret-to-libc-arm-exploitation-raspberry-pi/ TITLE DESC shantoroy.com r11을 덮자 소스코드 bof.c //gcc -fno-stack-protector -o bof bof.c #include #include #include // This is our vulnerable function void vulnerable(char *arg) { char buff[100]; // to print return address printf("%p\n",&buff[0]); strcpy(buff, arg); } // Pass argument in the vulnerable function int main(int argc, char ..
크로스 컴파일 및 편리하게 ld-linux.so.3 복사 johyungen.tistory.com/391 크로스 컴파일 (cross compile) https://nightohl.tistory.com/entry/%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90%EC%84%9C-arm-%ED%81%AC%EB%A1%9C%EC%8A%A4%EC%BB%B4%ED%8C%8C%EC%9D%BC-%EB%B0%8F-%EB%94%94%EB%B2%84%EA%B9%85 우분투에서 arm 크로.. johyungen.tistory.com R11 -> &lr(돌아갈 주소를 갖는 레지스터) 소스코드 ASLR, NX, Canary 보호기법 해제 #arm-linux-gnueabi-gcc -z execstack -fno-st..