반응형
서버에서 특정 포트를 통해 서비스를 동작시키는 환경을 구성한다. 클라이언트가 이 프로그램과 통신하기 위해서 nc(netcat)을 사용한다.
$ nc
usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
[-m minttl] [-O length] [-P proxy_username] [-p source_port]
[-q seconds] [-s sourceaddr] [-T keyword] [-V rtable] [-W recvlimit]
[-w timeout] [-X proxy_protocol] [-x proxy_address[:port]]
[destination] [port]
$
여기서, 가장 간단한 사용 방식은 nc hostname(ip) port이다.
아래는 google.com에 80번 포트(http)로 연결을 요청한 것이다.
$ nc google.com 80
GET / HTTP/1.1
HTTP/1.1 200 OK
Date: Thu, 01 Dec 2022 02:30:32 GMT
Expires: -1
Cache-Control: private, max-age=0
Content-Type: text/html; charset=ISO-8859-1
Cross-Origin-Opener-Policy-Report-Only: same-origin-allow-popups; report-to="gws"
...
80번 포트로 google에 네트워크 연결을 시도한 후에, GET/HTTP/1.1을 입력한 후 엔터를 누르면, 서버에서 이 요청에 해당하는 response를 전송함을 확인할 수 있다.
웹 서비스에 접속해서 푸는 형태의 워게임은 브라우저를 사용해서 접속할 수 있지만, ELF 바이너리가 서비스로 등록되어 제공되는 워게임의 경우 nc로 접속해서 해결해야 한다.
Host: host3.dreamhack.games
Port: 17458/tcp → 31337/tcp
http://host3.dreamhack.games:17458/
nc host3.dreamhack.games 17458
반응형
'해킹 > 해킹 기초지식' 카테고리의 다른 글
마크다운(Markdown) (0) | 2023.11.30 |
---|---|
도커 파일(docker file)과 명령어, 도커 허브(docker hub) (0) | 2023.11.29 |
정규 표현식(Regex) (0) | 2023.11.27 |
도커(Docker)와 명령어 (0) | 2023.11.20 |
SSH(Secure Shell, Secure Socket Shell) (2) | 2023.11.20 |