cgy12306

[LOB] xavius 본문

Wargame/LOB

[LOB] xavius

cgy12306 2019. 9. 30. 10:58

ID : xavius
PW : throw me away


server_fd = socket(AF_INET, SOCK_STREAM, 0) == -1 
인터넷에 접속하여 스트림 방식으로 입출력하는 소켓 생성, 실패시 -1 반환.

htons()함수는 받은 데이터를 네트워크 byte order로 변경한다. 네트워크 byte order은 big endian 방식을 사용한다.
bzero() 함수는 첫번째 인자부터 두번째 인자 만큼 바이트 스트링에 0을 쓴다.
bind() 함수는 소켓에 IP주소와 포트번호를 지정해준다. 성공시 0 실패 시 -1을 반환한다
listen() 함수는클라이언트 접속 요청을 확인한다.  두번째 인자는 대기 메시지 큐의 개수를 뜻한다.
accept() 함수는 소켓에 연결을 받아 들인다.
send() 함수는 연결된 소켓으로부터 데이터를 송신한다.
recv() 함수는 연결된 소켓으로부터 데이터를 수신한다.

소스코드를 보면 buffer를 40byte만큼 할당해주는데 recv로 받는 데이터는 256만큼 받아와서 buffer에 담는다.

해당 소스는 계속 port를 열어놓는다. 우선 접속이 되는지 확인해보자.


접속이 잘 된다. 그럼 pwntool을 이용해서 페이로드를 작성하자.

A를 44개 넣어줘서 sfp까지 덮어주고, 그 이후에 system을 호출하고 /bin/sh을 실행하자.



보내진걸 확인할 수 있고, 

쉘을 딴걸 확인 할 수 있다.





'Wargame > LOB' 카테고리의 다른 글

[LOB] death_knight  (0) 2019.09.30
[LOB] nightmare  (0) 2019.09.30
[LOB] succubus  (0) 2019.09.30
[LOB] zombie_assassin  (0) 2019.09.30
[LOB] assassin  (0) 2019.09.30
Comments