일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 풀이
- lob
- 자료구조 복습
- BOJ
- 기계학습
- 드림핵
- SWEA
- WarGame
- Javascript
- HTML
- siss
- C언어
- XSS Game
- 숙명여자대학교 정보보안 동아리
- 웹페이지 만들기
- PHP 웹페이지 만들기
- BOJ Python
- 머신러닝
- 파이썬
- hackctf
- 백준
- Python
- CSS
- 숙명여자대학교 정보보안동아리
- 생활코딩
- Sookmyung Information Security Study
- hackerrank
- c++
- c
- The Loard of BOF
- Today
- Total
목록The Loard of BOF (3)
혜랑's STORY
문제를 풀기 위해 xshell에 로그인 해 주었다. ID : cobolt / PW : hacking exposed 가장 먼저 존재하는 파일을 알아보기 위해 ls -l 명령어를 실행하였다. goblin.c 파일의 내용을 확인해 보자. Lv.2와 같이 버퍼에 16 바이트를 할당하고 있어 쉘코드를 담기엔 충분하지 않다. 앞선 문제와 다른 점은 strcpy가 아닌 gets 함수를 사용한다는 점이다. 그러나 gets 함수 또한 문자열의 길이를 검사하지 않는 취약점이 존재한다. 앞에서 실행인자에 쉘코드를 전달하는 방법을 사용했기 때문에 이번엔 환경변수를 선언하여 문제를 해결하려 한다. 환경변수를 선언하는 방법은 다음과 같다. export SHELLCODE=`python -c 'print "\x90"*100 + "\..
문제를 풀기 위해 xshell에서 로그인 해 주었다. Id : grmlin / Pw : hello bof world 가장 먼저 존재하는 파일을 알아보기 위해 ls-l 명령어를 실행하였다. 그 결과 cobolt.c 파일과 cobolt라는 파일이 있는 것을 확인할 수 있다. cobolt 파일은 colbolt.c 파일을 컴파일하여 만들어진 파일인 것 같다. cobolt.c 파일을 열어 내용을 확인해 보았다. Lv.1 문제와 같이 strcpy 함수를 사용하여 문자열의 길이를 검사하지 않는다는 취약점이 있었다. 그러나 이번 문제에서는 buffer에 16바이트를 할당하였기 때문에 버퍼에 공격 코드를 담기엔 충분하지 못하다. 일단 권한 문제를 해결하기 위해 cp 명령어를 통해 복사를 해주었고, 그 결과 gremlin..
문제를 풀기 위해 xshell에서 gate로 로그인 해 주었다. ID : gate PW : gate 가장 먼저 존재하는 파일을 알아 보기 위해 ls -l 명령어를 실행하였다. 그 결과 gremlin.c 파일과 gremlin이라는 파일이 있는 것을 확인할 수 있다. gremlin 파일은 gremlin.c 파일을 컴파일하여 만들어진 파일 같다. gremlin.c 파일을 열어 내용을 확인해 보도록 하자. 위 코드를 살펴본 결과 256 바이트 버퍼 buffer를 스택에 할당한 후, strcpy 함수를 통해 argv[1]의 내용을 buffer에 복사하게 된다. strcpy 함수가 buffer를 복사할 때, buffer의 크기인 256 바이트가 넘는 문자열을 전달한다면 길이 제한 없이 문자열이 복사되어 스택 버퍼 ..