Vortex Level 0 → Level 1

Level Goal

Your goal is to connect to port 5842 on vortex.labs.overthewire.org and read in 4 unsigned integers in host byte order. Add these integers together and send back the results to get a username and password for vortex1. This information can be used to log in using SSH.

Note: vortex is on an 32bit x86 machine (meaning, a little endian architecture)

Helpful Reading Material


문제를 보면 vortex.labs.overthewire.org의 5842 포트로 접속하면 4개의 Unsigned integer를 보내준다.

이를 다 더해 다시 전송하면 vortex1의 Username과 Password를 알려준다고 한다.


필자는 Python으로 코드를 작성하여 문제를 풀었다. 

Python의 struct 모듈의 pack, unpack 함수를 이용하여 C언어의 Unsigned int를 구현하였다.

https://docs.python.org/2/library/struct.html



# -*- coding: utf-8 -*-
import socket
from struct import *

HOST='vortex.labs.overthewire.org'
PORT=5842
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((HOST,PORT))

sum = 0
for i in range(4):
	data = s.recv(4)
	print "Recv Unsigned int : "+str(unpack("<I", data)[0])
	sum += unpack("<I", data)[0]
	
print "Send Unsigned int : "+str(pack("<I",(sum & 0xFFFFFFFF)))
s.send(pack("<I",(sum & 0xFFFFFFFF)))
print "Recv Key : ",s.recv(1024)

Python의 struct 모듈의 pack, unpack 함수를 이용하여 C언어의 Unsigned int를 구현하였다.


Gq#qu3bF3

'Challenge > OverTheWire - Vortex' 카테고리의 다른 글

OverTheWire – Vortex Level 0  (0) 2015.06.13

+ Recent posts