[OverTheWire (Vortex)] level0 -> level1

해킹대회 문제 풀이 연습장소

Moderator: amesianx

Post Reply
gee8195
Posts: 34
Joined: Thu Jul 21, 2016 5:12 pm

[OverTheWire (Vortex)] level0 -> level1

Post by gee8195 » Sun Oct 23, 2016 10:58 pm

워게임 사이트 찾아다니다가 좋은 사이트를 발견했습니다. http://overthewire.org/wargames/ 라는 사이트인데 리눅스 명령어 워게임부터
웹, 시스템 등등의 워게임이 존재하는것 같습니다. 그중에서 Vortex첫번째 문제를 건드려 보다가 풀려서 올려보겠습니다


1.png
1.png (34.59 KiB) Viewed 557 times
일단 문제를 보면 호스트와 포트를 주고 부호없는 4바이트의 정수를 읽을수 있다는걸 알 수 있습니다. 밑에
유용한 자료를 보면 c프로그래밍과 네트워크 프로그래밍 자습서라고 적혀있습니다. 아무래도 호스트와 포트를 가지고
코드를 짜서 level1에 가기위한 사용자 이름과 패스워드를 획득하는 방식인것 같습니다. 그래서 일단 적당한 코드를 짜서
어떤값을 주는지 확인해 봤습니다.


2.png
2.png (47.51 KiB) Viewed 557 times
일단 4바이트씩 읽어서 반복문을 돌렸더니 4줄의 문자가 나왔습니다.
여기서 문제에 4 unsinged integer 과 little endian architecture 를 보고 리틀엔디언방식의 자료형 변환을 해야할것 같아서 파이썬에서 struct모듈을
사용해서 unpack한뒤 다시한번 출력해 봤습니다.


3.png
3.png (50.75 KiB) Viewed 557 times
위와같이 정수형태로 4개가 출력되었습니다. 문제에서 이 값들을 합쳐서 다시 보내달라고 했습니다.
그래서 그대로 더한뒤 다시 pack해서 보내봤습니다.


4.png
4.png (74.12 KiB) Viewed 557 times
가끔 안될때도 있지만 다시 실행해 보면 정상적으로 username 과 password가 출력되는걸 확인 할 수 있었습니다.


5.png
5.png (63.71 KiB) Viewed 557 times
해당소스코드입니다. 요즘 가지고 놀고있는 Gallopsled팀에서 만든 pwntools를 한번 사용해봤습니다. socket모듈을 사용할때보다
조금더 코드가 간결해져서 좋은것같습니다.

h0n9t3n
Posts: 48
Joined: Tue Oct 13, 2015 11:14 am

Re: [OverTheWire (Vortex)] level0 -> level1

Post by h0n9t3n » Mon Oct 24, 2016 11:35 am

좋네 볼텍스라..추억이 새록새록이구먼..

User avatar
SinJiRu
Posts: 83
Joined: Wed Oct 14, 2015 2:54 pm

Re: [OverTheWire (Vortex)] level0 -> level1

Post by SinJiRu » Mon Oct 24, 2016 8:59 pm

오오~ 좋은 자료 감사합니다~

Post Reply

Who is online

Users browsing this forum: No registered users and 21 guests