Notice
Recent Posts
Recent Comments
Link
농소
Leviathan Level 2 본문
이번에는 level 2를 진행해 보겠습니다.
이번에도 홈디렉터리에 printfile이라는 실행파일이 존재하였고 실행해 보았더니
두번째 인자에 filename을 적으라는 메시지를 날린다
음.. 아마 cat과 같은 일을 하는 것으로 보이는데
역시 cat과 같은 일을 하는 실행파일 이었다.
다음으로 ltrace로 무엇이 동작하는지 확인해보면
두번째 인자로 파일이 아닌것을 입력하였더니 처음으로 access함수가 실행됨을 알 수 있다.
access함수가 어떠한 일을 하는지를 잘 몰라서 조사해 보았더니
존재여부와 읽고 쓸 수 있는지를 확인하는 함수였네요
읽고 쓸 수 있는 파일을 만들어 보고 ltrace를 해보겠습니다.
이 프로그램이 level3의 권한으로 실행되니깐 이 파일로 비밀번호를 얻을 수 있을까 싶어서 넣어봤지만
access함수에서 가로막힙니다... access()를 실행하는 시점에서는 level2의 권한인것 같네요.
이 access함수를 우회할 방법을 찾아야하는게 이 문제의 해결방법인 것 같은데
앞에 access에서 true를 받고, 해당 password파일에 접근해야 비밀번호를 알 수 있을것 같네요
일단 true를 받기 위한 파일을 하나 만들고, pwd파일을 심볼릭 링크를 걸어 실제로 실행 시키게 만들어야 합니다.
test test2로 중간에 공백이 생기게 만들어 주고
시스템 입장에서 보면 test로 access를 통과하게되고 test2가 실행되게 됩니다.
실행시키면 패스워드를 출력해주네요
'Wargame > Leviathan' 카테고리의 다른 글
Leviathan Level 5 (0) | 2018.02.01 |
---|---|
Leviathan Level 4 (0) | 2018.02.01 |
Leviathan Level 3 (0) | 2018.01.31 |
Leviathan Level 1 (0) | 2018.01.31 |
Leviathan Level 0 (0) | 2018.01.31 |