본문 바로가기

WebServer/apache

cURL을 이용하여 apache 해더 정보보기

 보안 결함이 발생하여 검증팀에서 연락이 왔다. 설정을 했음에도 불구하고 해결이 되지 않았다고 연락을 받았다. 그런데 로컬에서 테스트해본적이 없어서 테스트할 방법을 찾았으나 telnet으로 하는 방법은 뭔가 잘되지 않아서 다른 방법을 찾다보니 cURL이라는 프로그램이 있어 사용해보았다.


다운로드 링크

http://curl.haxx.se/download.html


 cURL은 커멘드 라인으로 데이터를 전송할 수 있는 툴이라고 설명되어 있는데, 다운로드 받아서 압축을 풀면 실행파일 하나가 나온다. 윈도우 실행창에서 cmd를 실행하면 콘솔창이 나오는데 여기서 테스트 해보면 되겠다.

 도움말을 보면 옵션이 많다. 아주 많다. 그래서 필요한 옵션을 찾아보았다. 나에게 필요한 건 2가지다.


-I : 웹 페이지의 해더 정보를 보여준다.

-X : http method를 전송해볼 수 있다. PUT, DELETE, TRACE, OPTIONS를 제한하고 테스트 해볼 때 사용한다.


먼저 -I 옵션을 적용해보자.



네이버 페이지의 해더 정보를 보면 위와 같다. http method를 제한하면 에러 페이지가 나와야한다. 다음은 method를 날려본 정보이다.



404 에러다. 웹 서버마다 다를 수 있겠으나 에러 코드도 설정이 가능해 보인다. 여기서 한가지 추가하면 다른 메서드는 아무런 문제 없이 에러 페이지로 넘어가지만 options만 allow 메시지가 노출될 경우가 있다. 정확한 원인은 아직도 모르겠다... 원인은 설정이 꼬여있어서 설정 정리를 한 번 했더니 사라졌다... 네이버는 nginx를 사용하고 있는데, 나는 apache를 사용 중이다. 아파치의 경우에는 include를 이용해 설정을 쪼갤 수 있어서 여기저기 중복 설정이 퍼져있어 고생했다.


이제 allow가 나오는 헤더 정보를 보자.



Allow 메시지가 보인다. 보안팀에서는 이 메시지가 보이면 안된다고 한다. 그런데, 실제 method를 날려보면 에러 페이지로 연결되고 있다. 흠... 왜 이런지 모르겠지만 설정이 꼬여서 그런듯하다. 실제로 꼬인부분을 찾느라 고생했다.

중복된 설정이 없도록 관리를 잘 해야겠다. 근데.. 원래 내가 하던 일이 아닌데... 뒷처리는 언제나 힘들다.