2007년 01월 03일
로봇 배제 규칙을 이용한 아주 사소한 해킹
현재에는 구글과 같은 의식있는 서비스제공자들이 웹 페이지 수집 로봇의 매너를 위해 Robot exclusion 규정이라는 것을 만들어 양심적으로 준수하고 있다.
웹 수집 로봇이 서버에 주는 부하를 줄이고 싶거나 자신의 자료를 보호 하고 싶다면 루트 페이지에 robots.txt 라는 파일을 만들어 다음과 같은 필드를 채워 넣어 주기만 하면 된다.
예를 들어 로봇 배재 규칙 파일의 내용은 다음과 같다.
==============================
# 주석
User-agent: *
Disallow: /cgi-bin/
# 주석 2
User-agent: google
Disallow: /board/
Disallow: /etc
==============================
위의 예에서는 모든 수집 에이전트에데 cgi-bin 디렉토리를 google 이라는 이름의 에이전트에게 board 디렉토리를 수집 금지 하고 있다.
그런데 /etc 항목을 보면 재미있는 규칙이 있다.
/board/ 와는 다르게 /etc 뒤에 / 가 붙어 있지 않다.
이것은 /etc 디렉토리가 아니라 /etc로 시작하는 모든 경로를 차단하겠다는 뜻이다.
myserver.com/etc/ 뿐만 아니라 myserver.com/etc2/ 까지도 막는다는 것이다. etc로 시작하면 모두 수집 금지가 된다.
즉. 경로 검사가 아니라 문자열 매칭이라는 뜻이다.
이것이 사소한 실수의 원인이 된다.
수집 로봇의 구현에 따라 다르겠지만..
고심하지 않고 만든 로봇 배제 규칙을 적용한 수집 로봇은 다음과 같은 실수를 저지를 수 있다.
myserver.com/robots.txt 의 내용이 다음과 같다고 하자.
==============================
# 악의적인 로봇 배재규칙
User-agent: *
Disallow: munity.com/
==============================
이제 웹 수집 로봇은 다음과 같은 수집 금지 규칙을 갖게 된다.
(서버이름 + 금지 규칙 문자열)
myserver.com + munity.com/ -> myserver.community.com/
전혀 다른 남의 서버를 수집 금지하게 만들어 버리는 것이다.
물론 개발자가 귀차니즘에 빠져 대강 생각한 로봇에 한해 일어나는 일이지만.
당신이 검색엔진을 만들어 구글과 같이 로봇 배재 규칙을 잘 지키며 바람직하게 운영을 해보겠다는 생각을 갖고 있다면.
악의적인 서버 운영자가 남의 서버마저 수집을 못하게 막아버리는 일을 저지르지 않도록 조심해야 한다.
구글은 한때 물론 일부 게으른 관리자나 개발자 덕분(?)에 현재도 마찬가지겠지만...해킹을 위한 수많은 정보를 보여주는 검색엔진으로 구글 해킹이라는 단어까지 만들어 낸 장본인다. 만약 구글이 거기서 멈췄다면 더 이상 성장하지 못했겠지만 검색되고 싶지 않은 그리고 검색되기를 거부하는 사용자들을 위해 편리한 방법들을 제공했기 때문에 지금처럼 멋진(?) 기업이 되지 않았나 생각된다.
본인도 구글 해킹을 이용해 보안 강의를 수차례 해왔지만 현재는 그나마 부지런한 관리자나 개발자 덕분에 조금은 나아지고 있는 추세이긴 하나 아직도 위와 같은 방법을 숙지하지 못하거나 전혀 알지 못하는 일부 관리자나 개발자들 때문에 여러군데에서 보안상 구멍이 발견되고 개인정보가 유출되고 있다.
개발자라면...관리자라면 위와 같은 방법은 필수적으로 숙지해야 할 것은 당연하다는게 본인 생각이다.
웹 수집 로봇이 서버에 주는 부하를 줄이고 싶거나 자신의 자료를 보호 하고 싶다면 루트 페이지에 robots.txt 라는 파일을 만들어 다음과 같은 필드를 채워 넣어 주기만 하면 된다.
예를 들어 로봇 배재 규칙 파일의 내용은 다음과 같다.
==============================
# 주석
User-agent: *
Disallow: /cgi-bin/
# 주석 2
User-agent: google
Disallow: /board/
Disallow: /etc
==============================
위의 예에서는 모든 수집 에이전트에데 cgi-bin 디렉토리를 google 이라는 이름의 에이전트에게 board 디렉토리를 수집 금지 하고 있다.
그런데 /etc 항목을 보면 재미있는 규칙이 있다.
/board/ 와는 다르게 /etc 뒤에 / 가 붙어 있지 않다.
이것은 /etc 디렉토리가 아니라 /etc로 시작하는 모든 경로를 차단하겠다는 뜻이다.
myserver.com/etc/ 뿐만 아니라 myserver.com/etc2/ 까지도 막는다는 것이다. etc로 시작하면 모두 수집 금지가 된다.
즉. 경로 검사가 아니라 문자열 매칭이라는 뜻이다.
이것이 사소한 실수의 원인이 된다.
수집 로봇의 구현에 따라 다르겠지만..
고심하지 않고 만든 로봇 배제 규칙을 적용한 수집 로봇은 다음과 같은 실수를 저지를 수 있다.
myserver.com/robots.txt 의 내용이 다음과 같다고 하자.
==============================
# 악의적인 로봇 배재규칙
User-agent: *
Disallow: munity.com/
==============================
이제 웹 수집 로봇은 다음과 같은 수집 금지 규칙을 갖게 된다.
(서버이름 + 금지 규칙 문자열)
myserver.com + munity.com/ -> myserver.community.com/
전혀 다른 남의 서버를 수집 금지하게 만들어 버리는 것이다.
물론 개발자가 귀차니즘에 빠져 대강 생각한 로봇에 한해 일어나는 일이지만.
당신이 검색엔진을 만들어 구글과 같이 로봇 배재 규칙을 잘 지키며 바람직하게 운영을 해보겠다는 생각을 갖고 있다면.
악의적인 서버 운영자가 남의 서버마저 수집을 못하게 막아버리는 일을 저지르지 않도록 조심해야 한다.
출처 : 와우해커 low lecture 게시판 howudoin님 글
구글은 한때 물론 일부 게으른 관리자나 개발자 덕분(?)에 현재도 마찬가지겠지만...해킹을 위한 수많은 정보를 보여주는 검색엔진으로 구글 해킹이라는 단어까지 만들어 낸 장본인다. 만약 구글이 거기서 멈췄다면 더 이상 성장하지 못했겠지만 검색되고 싶지 않은 그리고 검색되기를 거부하는 사용자들을 위해 편리한 방법들을 제공했기 때문에 지금처럼 멋진(?) 기업이 되지 않았나 생각된다.
본인도 구글 해킹을 이용해 보안 강의를 수차례 해왔지만 현재는 그나마 부지런한 관리자나 개발자 덕분에 조금은 나아지고 있는 추세이긴 하나 아직도 위와 같은 방법을 숙지하지 못하거나 전혀 알지 못하는 일부 관리자나 개발자들 때문에 여러군데에서 보안상 구멍이 발견되고 개인정보가 유출되고 있다.
개발자라면...관리자라면 위와 같은 방법은 필수적으로 숙지해야 할 것은 당연하다는게 본인 생각이다.
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- 검색엔진 수집 제외 도움말 by crew
- 포토로그의 사진들이 검색엔진에 걸리지 않게 하고 싶.. by crew
- 구글 신드롬 by 루오니
- 로봇들의 공격 by 야간비행
- 이눔의 워드!! by carson
# by | 2007/01/03 12:26 | 0xFF h4ck&security | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]