일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- WarGame
- 문자피해
- 안드로이드악성코드분석
- hackerfactory3번
- jadx
- CTF
- 택배사칭
- 해커팩토리3번
- 스미싱유형
- write-up
- python3설치
- CJ대한통운스미싱
- hackerfactory
- micheck
- newsecu
- python환경변수
- SMiShing
- 해커팩토리
- googledrivedownload
- python3.8.1
- jadx-gui
- Android
- 스미싱
- writeup
- newsecu challenge
- microsoftstore삭제
- 스미싱대처법
- 스미싱대처방법
- 악성코드분석
- 한진택배사칭
- Today
- Total
목록개인공부 (10)
끄적끄적
보호되어 있는 글입니다.
Buffer Overflow는 버퍼를 ret영역까지 침범함으로서 ret에 있는 주소를 공격자가 원하는 주소로 교체가 가능하다. buf (낮은주소) sfp ret (높은주소) 로 구성되어 있는데 입력할 수 있는 공간은 buf이다. 해당 공간이 할당되어 있는 공간을 넘어서 입력하게 될 경우 buffer overflow가 발생한다. 1. void read_flag() { system("cat /flag"); } int main(int argc, char *argv[]) { char buf[0x80]; initialize(); gets(buf); return 0; } 이런 코드가 존재한다고 할 때, buf에는 0x80 만큼 공간이 할당된다. buf, sfp 까지 덮은채로 ret를 read_flag()라는 함수의..
BOF가 아닌 printf() 함수의 취약점을 이용한다. printf()는 사용 시, 1. printf(%s, data); 2. print(data); 이렇게 두가지로 사용이 나뉘는데 2번째의 사용이 취약하다. 첫번째의 경우는 입력값에 %x, %d, %s 등을 넣어도 그대로 출력한다. ex) 1번째의 경우 입력 값에 "%x %x %x %x"를 입력 시, 그대로 "%x %x %x %x"를 반환한다. 두번째의 경우는 입력값에 %x, %d, %s 등을 넣으면 Format String으로 인식하여 스택의 값을 출력한다. %x 를 통해 입력되는 buffer의 위치를 파악할 수 있다. ex) "AAAA %x %x %x %x" 일 경우 "AAAA 20782520 25207825 78252078 41414141" 위와..

시스템이 초기화되면 시스템은 kernel을 메모리에 적재시키고 available space를 확인하게 된다. 위의 그림처럼 나타나게 되고 시스템은 운영에 필요한 기본적인 명령어 집합을 kernel에서 찾기 때문에 kernel 영역은 위의 위치에 있어야한다. 8086 아키텍쳐는 32bit 시스템이므로 0~2^32-1 의 주소를 가진다. 프로세스가 실행되면 segment라는 단위로 available space에 저장되고 저장된 segment들은 low address 순으로 Code, Data, Stack 으로 저장된다. 또한 segment는 최대 16,383개가 생성될 수 있고 하나가 최대 2^32byte의 크기를 가질 수 있다고 한다. code segment 1. 시스템을 위한 명령어 instruction..
보호되어 있는 글입니다.
보호되어 있는 글입니다.