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 |