본문 바로가기
  • PunkComputing
Cyber Security/penetest_LAB

개발 보안 시리즈 [웹스파이더]

by Mr.DOT 2021. 5. 3.
반응형

 

웹 크롤러를 '스파이더'라고 부르는 이유는 무엇입니까?

인터넷 전체 혹은 대부분의 사용자가 실제로 접속하는 부분은 월드 와이드 웹(World Wide Web)이라고 합니다. 대부분의 웹사이트 URL에 있는 "www"가 바로 여기에서 온 것입니다. 진짜 거미(스파이더)가 거미줄을 기어다니듯이 검색 엔진 봇이 웹(원래는 '거미줄'이라는 뜻임) 전체를 기어다니므로('크롤'의 원래 뜻) '스파이더'라고 부르는 것은 자연스러운 일입니다.

웹 크롤러의 작동 방식

인터넷은 끊임없이 변화하며 확대하고 있습니다. 인터넷에 얼마나 많은 웹페이지가 있는지 알 수 없으므로, 웹 크롤러 봇은 종자, 즉 알려진 URL 목록에서 시작합니다. 먼저 해당 URL에서 웹페이지를 크롤링합니다. 이 과정에서 다른 URL에 대한 하이퍼 링크를 찾게 되면, 다음으로 크롤링할 페이지 목록에 추가합니다.

 

검색을 위해 색인화해야 할 인터넷 웹페이지의 수는 막대하므로, 이러한 과정은 거의 무한히 이어질 수 있습니다. 하지만, 웹 크롤러는 크롤링할 페이지, 크롤링 순서, 콘텐츠 업데이트를 확인하기 위해 다시 크롤링하는 빈도에 대해 보다 선택적인 정책을 따릅니다.

 

각 웹페이지의 상대적 중요성: 대부분의 웹 크롤러는 공개된 인터넷 전체를 크롤링하지 않으며, 그렇게 하려고 하지도 않습니다. 그 대신, 해당 페이지에 중요한 정보가 포함될 가능성을 나타내는 요소인 해당 페이지를 링크하고 있는 다른 페이지 수, 페이지 방문자 수 등의 요소를 기준으로 먼저 크롤링할 페이지를 결정합니다.

 

다른 웹페이지에서 많이 언급하며 방문객이 많은 웹페이지에는 권위 있는 고품질의 정보가 있을 가능성이 크므로, 검색 엔진이 색인을 작성하는 것이 특히 중요합니다. 대출이 많은 도서는 다수를 보유하는 도서관과 마찬가지입니다.

 

웹페이지 재방문: 웹 콘텐츠는 지속적으로 변경되거나 삭제되고 새로운 위치로 이동합니다. 웹 크롤러는 정기적으로 페이지를 다시 방문하여 최신 버전의 콘텐츠를 색인화해야 합니다.

 

Robots.txt 요구 사항: 웹 크롤러는 Robots.txt 프로토콜(로봇 제외 프로토콜이라고도 함)을 기반으로 크롤링할 페이지를 결정하기도 합니다. 웹페이지를 크롤링하기 전에, 해당 페이지의 웹 서버에서 호스팅하는 Robots.txt 파일을 확인합니다. Robots.txt 파일은 호스팅된 웹사이트 또는 애플리케이션에 액세스하는 모든 봇에 대한 규칙을 지정하는 텍스트 파일로서, 이 규칙은 봇이 크롤링할 수 있는 페이지와 팔로우할 수 있는 링크를 정의합니다

 

웹 크롤러 악용사례

robots.txt 파일
robots.txt 파일은 웹 스파이더들에게 웹 사이트를 탐색하는 방법을 알려주는데 사용된다. 웹 마스터는 기밀 정보가 색인화되고 검색되지 않도록 이 파일을 사용하여 스파이더에게 특정 페이지를 피하도록 지시합니다. 이 작업은 허용 안 함 키워드를 사용하여 수행됩니다.
공격자로서, 로봇의 내용을 확인하는 것은 항상 좋은 생각입니다. 중요한 정보를 찾기 위해 txt 파일과 "허용되지 않는" 모든 페이지를 방문합니다.

 

robots.txt 웹 스파이더 대응책

'robots.txt'는 'robots.txt 프로토콜'이나 '로봇 제외 표준'이라고 부른다.

웹스파이더나 웹 로봇 등으로부터 웹 사이트 전부나 특정 부부접근을 제한한다.

'robots.txt'가 효력을 가지려면 URL의 최상위 공간에 위치해야 한다.

'robots.txt'에 아무것도 쓰지 않으면 웹 사이트에 모든 접근을 허용한다는 뜻이다.  

 

'robots.txt' 의 내부 기능:

 

 User-agent

 수집하는 주체의 범위를 정합니다.

 *으로 설정할 경우 모든 로봇의 접근이 차단되고

 'User-agent : *'와 같은 형태로 사용합니다.

 Allow 

 허용할 디렉토리를 설정합니다.

 Disallow

 검색을 허용하지 않을 홈페이지 디렉토리를 설정합니다.

 

사용법:

 User-agent : *

 Disallow :  / 

 

 

출처 : punkmemorie .crop

반응형

댓글