일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- FTZlevel10
- 신경망파이썬
- 신경망구현
- 밑바닥부터시작하는딥러닝
- 머신러닝
- 활성화함수파이썬
- 알고리즘
- 항등함수
- 소프트맥스함수
- 백준
- 백준알고리즘
- C언어 알고리즘
- C알고리즘
- 스트림암호
- 정보보안
- 딥러닝파이썬
- c언어
- BOF
- 신경망 학습
- BOJ
- C언어알고리즘
- 파이썬
- 인공지능
- 8086CPU레지스터
- 신경망
- 버퍼오버플로우
- 파이썬신경망
- 보안
- 딥러닝
- 달고나bof
- Today
- Total
목록<CTF>/<pwnable.kr> (2)
HeeJ's
두 번째 문제인 collision에 접속 실습 환경 : VMware Workstation / KaliLinux 2021.3 이번에도 저번 fd 문제처럼 col 실행파일, c파일과 flag를 확인할 수 있다. 바로 cat 명령어를 통해 col.c를 읽어보았다. 코드를 읽어보니 일단, 인자는 20bytes여야 한다. 그리고 check_password()함수를 통해 hashcode와 같은 값을 출력하게 되면 flag를 얻을 수 있다. check_password 함수에서 int형 포인터로 변환했기 때문에 4bytes씩 5번 접근한다는 걸 확인할 수 있다. 그렇다면 hashcode를 5로 나누어 5번 20bytes로 늘려 입력해준다면 flag를 얻을 수 있다. 21DD 09EC를 5로 나누면 6C5 CEC8이다...
fd 문제에 접속했다. 실습 환경 : KaliLinux 2021.3 dir 명령어를 통해 현재 있는 디렉터리를 확인했다. flag라는 파일을 발견해 cat을 통해 flag를 확인하려 했다. 하지만 권한이 없어 거부되었다. fd.c를 읽어보니, flag를 직접 실행시키는 것이 아닌 조건을 맞추어 system으로 실행시키는 문제인 것 같다. *atoi() 더보기 * atoi() a to i 로 읽을 수 있다. 즉, char to int. 문자열을 정수타입으로 바꿔주는 함수이다. 우선 함수를 실행시킬 때 값을 입력해주어야 한다. 이 입력 값을 정수타입으로 바꿔준 후, 0x1234를 빼준다. 그리고 그 값(fd)이 read 함수의 인자로 들어가게 된다. 그 후, 입력한 문자열이 'LETMEWIN'과 동일하다면,..