일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BOF
- C언어 알고리즘
- C알고리즘
- 활성화함수파이썬
- 딥러닝
- 보안
- 신경망
- 버퍼오버플로우
- 신경망 학습
- 머신러닝
- 딥러닝파이썬
- 백준
- 파이썬신경망
- 8086CPU레지스터
- 백준알고리즘
- FTZlevel10
- c언어
- 스트림암호
- C언어알고리즘
- 신경망구현
- 파이썬
- 소프트맥스함수
- 정보보안
- 달고나bof
- 항등함수
- 알고리즘
- BOJ
- 인공지능
- 신경망파이썬
- 밑바닥부터시작하는딥러닝
- Today
- Total
목록<CTF> (95)
HeeJ's
문제: 저 java 파일을 열어보면 checkPassword라는 매서드를 실행해 권한을 허용하거나 거절하는 것을 확인할 수 있고, checkPassword 매서드를 보면 바로 flag를 찾을 수 있다.
문제: 16진수 0X3D를 10진수로 바꿔 picoCTF{ } 안에 답을 넣어주면 해결
문제: 0x70을 아스키로 변환하여 picoCTF{___} ___부분에 답을 넣어주면 된다.
level3에서 찾은 패스워드로 level4에 로그인한다. 디렉토리를 확인해주고, hint를 살펴보았다. 이번 level4는 백도어와 관련된 문제 같다. 백도어? 정상적인 인증 절차를 거치지 않고, 컴퓨터와 암호 시스템 등에 접근할 수 있도록 하는 방법 보안상 허점을 역이용하여 크래커들이 계정 탈취에 성공한 후 재침입을 대비해 쉽게 접근할 수 있도록 만들어 둔 파일 Xinetd 하나의 독립 데몬이지만, 여러가지 다른 서비스들을 제어하고 관리. 시스템 부하를 줄이기 위해 사용 힌트대로 /etc/xinetd.d/ 디렉터리로 들어가 내용을 살펴보자 앞구르기하면서 봐도 수상한 backdoor라는 파일이 있다는 것을 확인할 수 있다. backdoor라는 파일의 실행권한을 보면, 읽기(r)밖에 할 수 없는 파일임을..
level2에서 얻은 password로 level3에 접속해주었다. ls 명령어로 디렉터리 확인 cat 명령어로 hint를 확인해주었다. 1. autodig라는 프로그램의 소스 2. 동시에 여러 명령어를 사용하는 방법과 문자열 형태로 명령어를 전달하기 위한 방법? 우선 level4의 setuid권한이 있는 파일을 찾아주었다. 일단 autodig를 실행시켜보았다. autodig의 사용법만 나오고 에러는 뜨지 않는다. ./autodig 호스트명 을 입력하면 되는 것 같다. 소스코드를 살펴보면 argc는 인자의 개수, argv는 인자를 뜻한다. if문에서 argc!=2라는 조건이 있고, 그 내부에 exit(0)이 있는 것을 보면, 인자의 개수가 2개라고 생각할 수 있는데, autodig 프로그램을 실행시킨다면..
디렉터리에 있는 파일들을 확인하고, hint 파일을 cat 명령어로 확인해보았다. 뭔가 리눅스의 에디터에 관련된 힌트 같은데... 일단 level3의 쉘의 명령을 실행시킬 수 있어야하니 level3 권한에 setuid가 걸린 파일을 찾아보았다. editor를 실행시키기 위해 /usr/bin으로 이동해 editor를 실행시켰다. 리눅스의 vi 에디터이다. vi에는 명령 모드, 입력 모드, 마지막 행 모드가 있는데, 명령 모드에서 : (콜론)을 입력해 화면 하단에 입력할 수 있도록 한다. 그래서 하단에 :!/bin/bash를 입력해 level3의 쉘을 사용해야한다. : : 명령어 수행 ! : 외부 쉘 실행 level3의 쉘을 얻은 것을 확인하고 my-pass 명령어를 통해 password를 확인한다.
level1, pw도 level1을 입력해서 level1에 접속한다. ls -l 명령어로 디렉터리에 있는 파일들을 전부 확인한다. hint라는 파일이 있어 이 파일을 확인해 보았다. setUID? setUID가 설정된 파일을 실행하면, 특정 작업을 수행하기 위해 일시적으로 파일 소유자의 권한을 얻게된다. 즉, 소유자가 root인 파일에 setUID가 설정되어 있을 때, 일반 사용자가 그 파일을 실행하면 잠시 그 순간동안 파일의 소유자인 root 권한을 빌려오는 것 setUID가 걸린 파일을 찾는 법 find / -user root -perm -4000 에러들이 화면에 출력되는데, 에러가 나오지 않게 하려면 끝에 2>/dev/null을 추가하면 된다. find : 찾기 / : 최상위로부터 -user [소유..
문제: 이 문제도 역시 실행파일을 통해 Serial을 찾는 문제다 바로 Ollydbg로 열어주고 text strings를 통해 성공, 실패 분기 부분을 찾아주었다. 저 부분에 들어가서 윗부분에 다른 문제들(L16)과 같이 CMP 구문을 찾아주려 했다. 하지만 CMP구문은 찾을 수 없었고, 그 대신 조건 점프 명령어인 JE를 찾을 수 있었다. 그렇다면 윗 부분에서 무엇을 검사해준 다음, 이 부분에서 분기를 한다는 것 바로 윗 부분에서 lstrcmpiA 함수를 찾을 수 있었는데, 이 함수는 문자열을 비교해주는 함수이다. 그래서 이 함수 바로 밑 부분에 bp를 걸고 실행시켜 보았다. 아무 값을 넣어준 후 check를 누르면 String1에는 내가 넣어준 Serial값이, String2에는 어떠한 문자열이 뜨는..