3번째 문제는 함수나 변수에 들어가봐도 힌트가 너무 적었습니다. 마지막우로 command를 살펴보았습니다.
command를 보면 60~90(16)까지 채워져있었고, 마지막 command 부분엔 ls -al이 있었습니다.
*ls -al은 모든 디렉터리의 상세정보까지 볼 수 있는 명령어이다.
ls -al대신 cat /flag 명령어를 실행시키고 싶었고, 지금껏 system(command) 에서 cat /flag를 실행시켰기 때문에 버퍼오버플로우를 발생시키고 명령어를 바꾸면 된다고 생각했습니다.
명령어 사용을 하기 전 오버플로우 리미트를 알기 위해 계산기를 통해 10진수 값을 알아왔습니다.
첫 번째 문제와 비슷한 형태로 해결할 수 있었습니다. cat;는 파이썬으로 인자전달을 할 때 블로그를 참고했었는데 정확한 역할을 모르기에 사용하지 않았습니다.
.
.
.
시간을 많이 빼았기고 풀이가 아쉬웠던 2번과 달리 3번은 1번보다도 더 쉬웠던 것 같습니다. 명령어 사용이 익숙해지고 버퍼오버플로우를 알게되자 풀이가 가장 쉬웠습니다.
'시스템 해킹' 카테고리의 다른 글
[Whois] 시스템 해킹 - Format String Bug (0) | 2021.12.08 |
---|---|
[Whois] 시스템 해킹 - OOB(Out-Of-Bound) (0) | 2021.12.06 |
[Whois] 시스템해킹 - Integer Issues (0) | 2021.12.06 |
[Whois] 시스템해킹 - 버퍼오버플로우2 (0) | 2021.11.23 |
[Whois] 시스템해킹 - 버퍼오버플로우1 (0) | 2021.11.22 |