티스토리 뷰
#!/usr/bin/env python from socket import * from struct import * p = lambda x : pack("<L", x) up = lambda x : unpack("<L", x)[0] s = socket(AF_INET, SOCK_STREAM) s.connect(("vortex.labs.overthewire.org", 5842)) u_int = [1,2,3,4] result = 0 print "[*] Connect to vortex.labs.overthewire.org" for i in range(0, 4): u_int[i] = up(s.recv(4)) print "[%d] u_int[%d] = %d" % (i+1, i, u_int[i]) result += u_int[i] print result s.send(p(result)) print s.recv(1024)
result가 unsigned int의 최댓값을 넘어가면 오류가 남.
그래서 몇번 시도해야 함.
[*] Connect to vortex.labs.overthewire.org
[1] u_int[0] = 340798714
[2] u_int[1] = 1536290103
[3] u_int[2] = 635342479
[4] u_int[3] = 1643022390
4155453686
Username: vortex1 Password: 블라인드
댓글