일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- FTZlevel10
- c언어
- 파이썬
- 머신러닝
- C언어 알고리즘
- 밑바닥부터시작하는딥러닝
- 딥러닝
- 딥러닝파이썬
- 활성화함수파이썬
- 파이썬신경망
- 버퍼오버플로우
- BOF
- 정보보안
- BOJ
- 스트림암호
- 신경망구현
- 보안
- 항등함수
- C알고리즘
- 신경망
- 인공지능
- 소프트맥스함수
- 신경망 학습
- 8086CPU레지스터
- C언어알고리즘
- 알고리즘
- 신경망파이썬
- Today
- Total
목록<CTF> (95)
HeeJ's
처음에 문제에 들어가면 검은색 배경에 입력 상자와 체크 버튼이 뜬다. 소스코드를 확인해보면 현재 url에서 ".kr"의 위치에 30을 곱해진 값을 저장하고 이 ul값과 입력 값이 일치하면 문제가 해결되는 것 같다. .kr의 위치는 앞에서 18번째 위치에 있고, ul * 30 은 18 * 30이 되어서 540을 입력하면 문장이 실행된다.
공유메모리? 프로세스는 자신의 업무를 수행하기 위해 필요한 자료를 저장하기 위한 메모리 공간을 갖게 된다. 이러한 메모리 공간에는 CPU에 의해 수행되는 명령어들, 프로그램 시작 시 정의되고 초기화된 데이터, 프로그램 시작 시 정의되었지만 포기화되지 않은 데이터, 함수호출에 필요한 정보, 동적할당이 이루어지는 데이터 등이 들어가게 된다. 이러한 데이터를 저장하게 사용하기 위한 메모리 공간을 커널에 요구해 할당받아 사용하게 되는데, 이러한 메모리 공간은 기본적으로 메모리를 요청한 프로세스만이 접근가능하도록 되어있다. 하지만 가끔은 여러개의 프로세스가 특정 메모리 공간을 동시에 접근해야할 필요가 있을 때가 있다. 공유 메모리는 이러한 작업을 위한 효율적인 방법을 제공한다. 공유 메모리는 여러 IPC 중에서 ..
bof, 버퍼오버플로우 문제이다. level10의 권한을 얻으려면 buf2의 앞부분이 go가 되어야 한다. 하지만 입력받는 부분은 buf[10]이 되는데, buf의 공간은 10인데, 40만큼 입력받아 이 부분이 문제가 되는 것 같다. /usr/bin/bof를 실행시켜보면 특정 문자열을 입력받고, 그대로 종료된다. 이제 buf와 buf2의 위치를 확인해보기 위해 gdb로 컴파일해주었다. Permission denied.로 위 파일은 권한이 거부되었다. 그래서 bof.c라는 파일을 tmp에 만들어주었다. 이제 gdb를 이용해 컴파일해주었다. 어셈블리언어로 확인해주었다. buf은 ebp-40, buf2는 ebp-24로, buf에서 16바이트를 채우면 buf2로 버퍼가 채워지는 것 같다. 이렇게 코드에서 Goo..
shadow 파일 패스워드를 암호화하여 보호하기 위해 만들어진 것으로 기존의 /etc/passwd파일에 있던 비밀번호를 shadow 파일에 암호화하여 저장하게 된다. 이 파일은 일반적으로 root만이 접근 권한(r)이 존재한다. 또한 패스워드에 대한 만료, 갱신 기간, 최소 기간 등의 시간상의 관리정책을 저장한다. [출처]https://soyammou.tistory.com/30 hint에서 파일의 용량이 2700이라고 했으니, 서버에서 파일 용량이 2700인 파일들을 찾아주었다. 처음에 -size 2700으로 검색해주었는데, 아무 파일도 뜨지 않았다. 그래서 찾아보니, 파일 용량의 단위를 적어주어야했다. 2700b = 2700블록 (512kbyte) 2700c = 2700 byte 2700k = 2700..
hint 파일을 열어보면 이런 hint들이 등장한다. /bin/level7은 level8의 SETUID 권한이 걸린 실행파일이었고, 이 파일을 실행시켜보았다. /bin/wrong.txt라는 파일이나 디렉터리가 없음이라고 뜨는데, 환경을 로컬에서 구축할 시, /bin/wrong.txt파일이 누락되는 오류가 생긴다고 한다. wrong.txt에 들어갈 내용은 --_--_- --____- ---_-__ --__-_- 이라고 한다. 이 내용을 참고해서 문제를 풀어보면 힌트 3. 2진수를 10진수를(로?) 바꿀 수 있는가. 힌트 4. 계산기 설정을 공학용으로 바꾸어라. 그래서 프로그래머 계산기를 이용해 띄어쓰기를 기준으로 2진수 계산을 해보았다. 109 97 116 101 이 나왔다. 이 10진수 값을 그대로 넣어..
문제: 문제에 들어가보면 버튼은 4번까지 있는데 5번 파일에 플래그가 있다는 정보가 나온다. 그래서 버튼을 일단 눌러보았는데 1번을 누르면 ?id=1 2번을 누르면 ?id=2가 나왔다 그래서 아무 버튼을 누른 상태로 숫자를 5로 바꿔줘보았다. flag를 얻을 수 있었다. 성공!
문제: 사이트에 접속해보면 Hidden Flag라는 문자열과 함께 로봇 사진이 있다. 이 로봇 사진이 robots.txt와 관련된 것이라는 힌트를 주는 것 같다. robots.txt를 열어보았다. /robot_flag/ 디렉터리의 접근이 모두에게 차단되어있다. 이 robot_flag에 들어가보면 flag를 찾을 수 있다.