Protostar Stack2
문제의 코드를 보면 getenv라는 함수의 값을 variable에 저장하고 나중에 strcpy 함수를 이용해 buffer에다가 variable 값을 저장한다. 아마 여기서 취약점이 발생할 것 같은데 환경변수에다가 코드를 짜서 나중에 버퍼에 복사되었을 때 버퍼 값이 꽉 채워지고 그 다음에 0x0d0a0d0a도 넣어준다면 BOF가 되어 modified 값에 들어가서 성공할 수 있을 것이다.
그냥 코드를 써 넣는다면 bad variable name 이라고 뜰 것이다. 그래서 나는 문자열로 받게 코드 사이에 ""을 추가했다. 이게 맞겠지?
성공하면
ㅎㅎ 끝
'Wargame > Protostar' 카테고리의 다른 글
Protostar Stack5 (0) | 2017.04.05 |
---|---|
Protostar Stack4 (0) | 2017.04.02 |
Protostar Stack3 (0) | 2017.04.01 |
Protostar Stack1 (0) | 2017.03.22 |
Protostar Stack0 (0) | 2017.03.20 |
Protostar Stack1
이 문제는 strcpy 함수의 취약점을 이용해 버퍼의 메모리를 overflow 하여 modified 변수 값을 수정하는 문제 같다.
그래서 스크립트를 짜봤다. 리틀엔디안으로 주소를 넣어야한다아.
통과~ 보다가 틀린게 있으면 피드백 좀...
'Wargame > Protostar' 카테고리의 다른 글
Protostar Stack5 (0) | 2017.04.05 |
---|---|
Protostar Stack4 (0) | 2017.04.02 |
Protostar Stack3 (0) | 2017.04.01 |
Protostar Stack2 (0) | 2017.03.29 |
Protostar Stack0 (0) | 2017.03.20 |
Protostar Stack0
다시 블로그에 글을 포스팅 시작할 것이다. FTZ Level 시리즈는 12까지 풀어보고 별로인 것 같아서 protostar로 넘어갔다.
우선 문제를 보면
gets(buffer)에서 버퍼오버플로우 취약점이 생기는데 그것을 이용하는 문제인 것 같다.
그래서 버퍼 값에 64를 넘겨주면 you have changed thr 'modifiedl' variable이라는 문구가 나오는 것 같다.
역시 버퍼 값에 65개를 넣어줬더니 예상한 문구가 나왔다.
'Wargame > Protostar' 카테고리의 다른 글
Protostar Stack5 (0) | 2017.04.05 |
---|---|
Protostar Stack4 (0) | 2017.04.02 |
Protostar Stack3 (0) | 2017.04.01 |
Protostar Stack2 (0) | 2017.03.29 |
Protostar Stack1 (0) | 2017.03.22 |
FTZ training10
training10은 SetUID에 대해서 공부했다. training10은 Level1 푸는데 중요한 역할을 했던 것 같다.
이렇게 FTZ training은 끝이다. 다음에는 FTZ Level 시리즈를 올릴 것이다.
'Linux > HackerSchool FTZ' 카테고리의 다른 글
FTZ training9 (0) | 2017.03.05 |
---|---|
FTZ training8 (0) | 2017.03.05 |
FTZ training7 (0) | 2017.03.05 |
FTZ training6 (0) | 2017.03.03 |
FTZ training5 (0) | 2017.03.02 |
FTZ training9
training9는 리눅스 권한에 대해서 배운다.
training9,10은 많이 중요하다고 느낀다.
'Linux > HackerSchool FTZ' 카테고리의 다른 글
FTZ training10 (0) | 2017.03.05 |
---|---|
FTZ training8 (0) | 2017.03.05 |
FTZ training7 (0) | 2017.03.05 |
FTZ training6 (0) | 2017.03.03 |
FTZ training5 (0) | 2017.03.02 |
FTZ training8
training8에서는 일반 텍스트 파일 만들기와 프로그램 짜기를 다뤘다.
FTZ training 중에서 가장 신기했었다.
'Linux > HackerSchool FTZ' 카테고리의 다른 글
FTZ training10 (0) | 2017.03.05 |
---|---|
FTZ training9 (0) | 2017.03.05 |
FTZ training7 (0) | 2017.03.05 |
FTZ training6 (0) | 2017.03.03 |
FTZ training5 (0) | 2017.03.02 |
FTZ training7
다른 공부를 위해 복습을 간략하게 하려고 한다. 블로그에도 간략히 오늘처럼 올릴 것이다. training7은 파일 압축과 해제를 다룬 내용이다.
여기 링크로 들어가면 FTZ 6~10 까지 간략하게 되어있다. 간략하게 볼 때 좋은 것 같다.
'Linux > HackerSchool FTZ' 카테고리의 다른 글
FTZ training9 (0) | 2017.03.05 |
---|---|
FTZ training8 (0) | 2017.03.05 |
FTZ training6 (0) | 2017.03.03 |
FTZ training5 (0) | 2017.03.02 |
FTZ training4 (0) | 2017.02.26 |
FTZ training6
training6는 trainig5에서 말했던 것처럼 passwd 파일 분석을 다룬다. ㄱㄱ
우선 cat /etc/passwd 로 passwd 파일을 열어보면
우선 passwd 파일의 역할을 먼저 보면
알아두자.
이제 passwd 파일 중에서 하나를 가져와 보면
이제 이 문자열 한 줄을 정리할 것이다.
root: 서버에 로그인할 때 사용되는 아이디를 말해준다.
x: x는 원래 비밀번호가 있는 자리였는데 전에는 암호화 방식을 사용했지만 해커들이 암호화 방식을 계속
뚫자, 결국 암호화 대신 etc/shadow 파일에 패스워드만 모아서 저장했다. 그래서 shadow 파일은 관리자 권한을 가진 사람만 볼 수 있도록 만들어졌다.
첫 번째 0: 사용자 계정 uid를 나타낸다.
두 번째 0: 사용자 계정 gid를 나타낸다
Admin: 사용자의 이름을 나타낸다.
/root: 사용자가 로그인에 성공 했을 때 기본으로 위치하게 되는 디렉토리다.(사용자 계정 홈 디렉토리)
/bin/bash: 사용자가 처음 로그인 했을 때 실해되게 할 프로그램.(로그인 쉘)
training6는 여기까지다.
'Linux > HackerSchool FTZ' 카테고리의 다른 글
FTZ training8 (0) | 2017.03.05 |
---|---|
FTZ training7 (0) | 2017.03.05 |
FTZ training5 (0) | 2017.03.02 |
FTZ training4 (0) | 2017.02.26 |
FTZ training3 (0) | 2017.02.26 |
FTZ training5
training5에서는 서버정보 수집에 대해 배웠다.
1. whoami
whoami는 자신의 아이디를 보여준다.
2. id
id는 whoami보다는 조금 더 자세하다고 기억하자 나중에 자제히 설명이 나온다(trainer9).
3. cat /etc/passwd
사용자들의 모든 ID들이 저장되어있는 passwd 파일을 열었다. 설명은 training6에서 나온다.
4. root 권한
root에 관하여 알아두자!
5. 패키지
패키지도 알아둬야 할 것 같다.
6. cat /etc/*release
이 명령어들을 입력함으로써 서버의 OS 버젼을 알 수 있다.
7. rpm -qa
rpm -qa는 패키지들을 보여주는 명령어인 것 같다.
8. cat /proc/cpuinfo
cat /proc/cpuinfo 명령어를 사용해서 cpu의 버전 등 정보를 얻었다.
9. cat
training5 에서 cat 이라는 명령어를 봤을 것이다. cat "파일이름" 을 입력하면 파일의 내용을 화면으로 보여주는 명령어다. 많이 쓰일테니 잘 알아둬야겠다.
training5는 여기까지다
'Linux > HackerSchool FTZ' 카테고리의 다른 글
FTZ training7 (0) | 2017.03.05 |
---|---|
FTZ training6 (0) | 2017.03.03 |
FTZ training4 (0) | 2017.02.26 |
FTZ training3 (0) | 2017.02.26 |
FTZ training2 (0) | 2017.02.19 |
FTZ training4
training 4에서는 디렉토리 설명과 간단한 퀴즈가 진행된다.
1. 디렉토리 설명
training은 디렉토리만 다루는 내용이라 딱히 올릴만한 사진이 없었다.
training 4는 여기까지다.
'Linux > HackerSchool FTZ' 카테고리의 다른 글
FTZ training6 (0) | 2017.03.03 |
---|---|
FTZ training5 (0) | 2017.03.02 |
FTZ training3 (0) | 2017.02.26 |
FTZ training2 (0) | 2017.02.19 |
FTZ training1 (0) | 2017.02.19 |