우연찮게많이 만나는 페이지인 www.warning.or.kr의 메커니즘을 분석해보고자 한다.
본 페이지에서는 적당한 타겟으로 4shared.com을 예로 들었다.
크롬으로 http://www.4shared.com 요청시
NC로 HTTP GET 메소드 결과
바로 warning.or.kr로 리다이렉트 되는것을 볼 수 있었다.
보다시피 DNS의 질의로는 필터링하지 않았다.
따라서 패킷이 본서버로 가는중 필터링당한후 302가 날라오는것을 추측할 수 있다.
어떤 기준으로 필터링 되는지 알아보기위해 서버에 직접 접속한후 HOST 값만 localhost로 바꿨을때의 결과는 아래와 같다.
정상적으로 결과값을 가져오는것을 확인할 수 있다.
그럼 패킷이 라우팅되는동안 HOST 필드를 확인하면서 블랙리스트를 만나면 실제 서버와 연결대신에 302를 날린다는것을 짐작할 수 있다.
어느 라우터에서 필터링이 걸리는지 확인하기위해 traceroute 를 실행하였다.
이를 바탕으로 국가 경계점을 기점으로 HOST 필터링 여부를 확인하려 했으나 실패 ㄱ-
naver.com 에 HOST: www.4shared.com 시전시
네이버 반환
www.google.com 에 HOST: www.4shared.com 시전시
워링 반환
결론
ISP단에서 해외로 나가는 패킷에대해서 HOST 부분에 Inspection을 하는것을 알 수 있다.
우회방법
가장 좋은 우회방법은 SSL 사용이다.
https를 지원하지 않는 서버에는 HOST : localhost 나 가상 호스트 설정이 되어있는 서버로는
HOST : http://hostname 을 사용하면 우회가 가능하다. (여기까지 필터링은 하지 않는것으로 보인다)