모의해킹 취업반 스터디 1주차 [웹 서버의 역할]

2025. 4. 3. 14:21보안/모의해킹 취업반 스터디

웹 서버

- 파일을 전달하는 친구

 

웹 서버를 통해 파일 공유하기

sudo python3 -m http.server 80

 

이런 식으로 서버를 열 수 있다.

웹 서버에서 파일을 어떻게 달라고 할까?

바로 웹 브라우저를 이용해서 파일을 요청 할 수 있다.

URL

[Protocol]://[Domain or IP address]:[Port]/[File Path]

 

예시로

http://192.168.72.130:80/ 으로 접속할 수 있다.

한번 들어가보면

브라우저 창에 저 위 주소로 들어가봤다.

보통 웹 서버를 띄우게 되면 경로가 Web Root 경로로 잡히게 된다.

[Web Root 경로]

/var/www/html/

근데 우리는 경로를 지정해서 했기 때문에 그 경로에서 실행되어 그 안에 있는 파일을 보여지게 된다.

여기서 normaltic_pic.jpeg을 달라고 요청해 보면,

이런식으로 노말틱님의 잘생긴 얼굴이 나오게된다.

test.txt를 요청해보면,

이 파일의 내용이 나오게 된다.

여기서 경로를 바꿔서 실행해보자

먼저 normal_dir 를 생성해주고 안에 test.txt 파일을 복사하고 그 경로로 들어가 보자.

mkdir normal_dir
cp test.txt normal_dir
cd ./normal_dir

들어가서 확인해 보면, test.txt 파일이 있는걸 확인할 수 있다.

여기서 서버를 열어보면

이렇게 test.txt 파일만 있는걸 확인할 수 있다.

그러면 여기서, 아까 webBasic에 있는 파일들을 보려면 어떻게 해야하나?

http://192.168.72.130:80/../normaltic_pic.jpeg 로 들어가면 사진이 봐진다?

이건 캐시라는 것이라고 한다.

캐시란?

- 자주사용하는 것들을 미리 저장해 놓는 것

즉, 저장된 이미지 라는 뜻이다. 그래서 다시 새로고침을 해보면,

이렇게 못 들어가는 것을 확인할 수있다.

웹 서버 루트를 normal_dir 여기로 지정해 놨기 때문에 상위 폴더로는 절대 못간다는 것이다.

서버에서 끝지점이라서 그렇다. 이거 이상 못넘어간다.

그래서 이 지점을 잘 설정하는 것이 좋다.

Web Root 경로가 / 루트 경로면 웹 서버를 통해서 모든 정보를 볼 수 있기 때문에, 이 경로를 지정하는 것이 중요하다고 할 수 있다.

 

실전으로, 네이버나 인스타그램에 들어가 보면, 파일이 아니라 사용자가 보기 쉽게 되어 있다.

이 경우는 사용자가 보기 쉽게 그려준것 뿐이지 파일이라고 한다.

 

여기서 사이트들을 보면 포트번호가 없는데 이건 웰논포트라고 사회적 약속 이라고 한다.

http -> 80

https -> 443

즉 이 포트를 사용하면, 포트를 생략해도 들어갈 수있다. 다른말로, 다른 포트를 사용하게 되면 꼭 포트를 뒤에 붙여줘야 한다.

그럼 이 사이트들과 같이 내 서버도 막 공유할 수 있냐? 이건 아니다, 내 네트워크가 인터넷 망에 있어야 한다. 여기서 노말틱님이 과제를 주었는데,

나트 네트워크에 대해 알아 보자.

NAT (Network Address Translation) 네트워크

- 내부 IP 주소를 외부에서 쓸 수 있는 IP로 바꿔주는 기술 이다.

즉, IP주소를 번역해주는 역할

 

기기 내부적으로 사설 IP 192.168.0.X 같은 사설 IP주소를 쓴다. 이유는 전 세계에서 인터넷을 쓰는 기기가 많아 공인 IP주소가 모자르다고 한다. 그래서 집에서는 사설 IP주소를 쓰고 NAT로 인터넷에 나갈 때만 공인 IP를 사용한다.

 

나는 이전에, 마인크래프트 서버를 열었던 경력이 있어서, 이거에 대해서 대충은 알고 있었다.

이것을 설정하는 것은 공유기에서 포트포워딩을 통해서 그 포트를 열어줘서 다른 사람들이 들어올 수 있게 설정할 수있다.

리눅스에서도 NAT를 설정 할 수있는데, iptables 명령어를 이용해서 라우터 역할을 하도록 만들 수 있다고 한다. 여기까지 들어가기엔, 너무 깊어서 나중에 해보도록 하자.

 

그리고 네이버 같은 사이트를 보면 뒤에 경로가 생략되어 있는데 파일을 달라고 하지 않는다면, index 파일을 주는 것으로 약속이 되어있다고 한다. 여기서 index파일을 만들어 줘서 한번 확인해보자.

 

vi 에디터를 이용해서 index.html를 만들어 주었다. 여기서 열어서 한번 주소로 들어가보자.

이런식으로 아이피만 적어서 들어가보면 이렇게 test라고 나오는 것을 확인 할 수있다.

 

즉, 웹 서버는 파일만 전달하는 친구라는 것이다.

여기까지 웹 서버의 역할을 알아보았다.