HanJeouk의 개인공부 블로그

문제의 코드를 보면 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



이 문제는 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

다시 블로그에 글을 포스팅 시작할 것이다. 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