| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- openwrt
- memory
- fini array
- Router
- UART
- e
- 라우터
- 공유기
- Cross-cache attack
- Slab free list poisoning
- Kernel
- kernel exploit
- physmap
- tl mr 100
- mips
- ROP
- 커널
- tp link
- exit handler overwrite
- Pwnable
- mr 100
- System Management Mode
- linux ring 권한 구조
- 익스플로잇
- SMM
- exploit
- protection ring
- hardware hakcing
- Today
- Total
목록CS (3)
haehet
이번 글에서는 리눅스의 보안기법에 대해 정리해 보겠다. 1. Canary(1) canary란?canary는 스택의 리턴주소를 조작하는 것을 방지하기 위해 생긴 보호 기법이다. 다음 코드를 통해 알아보자. 0x000000000000117c : mov rax,QWORD PTR fs:0x28 0x0000000000001185 : mov QWORD PTR [rbp-0x8],rax 0x0000000000001189 : xor eax,eax위 코드는 canary가 적용된 실행파일의 어셈블리 코드의 앞부분인다. 카나리는 다음과 같이 SFP 위 8바이트에 위치한다. 0x000000000000119a : mov eax,0x0 0x000000000000119f : mov r..
이번 글에서는 ELF파일의 포맷에 대해서 중요한 부분만 간략히 알아보도록 하겠다. ELF파일은 위와 같이 크게 ELF header, program header, section, section header로 이루어져 있다. 차례대로 알아보자*program header, section header는 선택적으로 안넣을 수도 있다. 1. ELF headerELF파일 헤더는 ELF 파일임을 나타내는 바이트 배치와 어떤 종류의 ELF파일인 명시되어 있다. 또한 기타 다른 요소들을 파일의 어느 위치에서 찾을 수 있는지 적혀있다.typedef struct{ unsigned char e_ident[16]; // 매직코드 & 다른 정보 uint16_t e_type; // 목적 파일 형식 ui..
컴파일 과정은 크게 전처리, 컴파일, 어셈블, 링킹 단계로 구성된다. *두 번째 단계의 이름을 '컴파일'로 동일하게 부르기 때문에 혼동을 주의하자! 설명은 간단히 hello, world!를 출력하는 프로그램을 컴파일 해보면서 하겠따//example.c#include #define FORMAT_STRING "%s"#define MESSAGE "hello, world\n"int main(int argc, char *argv[]) { printf(FORMAT_STRING, MESSAGE); return 0;} 1. 전처리 단계c언어로 작성된 소스 코드 파일에는 매크로(컴파일 전에 텍스트를 치환하는 기능, #define 등 )와 #include지시어가 있다. 전처리 단계에서는 #include과 #define ..
