'Google'에 해당되는 글 5건
- 2009.11.11 봇넷은 오픈 소스를 좋아해~
- 2008.12.04 Google을 이용해 중국으로부터 SQL Injection 당한 사이트 확인하는 방법 - Google 너무 좋아.(1)
- 2008.11.10 Google의 검색 URL 이해하기(2)
- 2008.11.05 Goolge에서 불리언 연산자(AND, OR, NOT) 사용하기
- 2008.11.05 Google 검색의 황금률(2)
'02_IT' 카테고리의 다른 글
SSL 3.x / TLS 1.x 취약성을 이용한 해킹 사례 (0) | 2009.11.16 |
---|---|
SSL 3.x/ TLS 1.x 프로토콜 취약성 관련 (0) | 2009.11.14 |
봇넷은 오픈 소스를 좋아해~ (0) | 2009.11.11 |
V3Zip이 철수네 집이었다면... (5) | 2009.09.24 |
가려운 곳 제대로 긁어야 할텐데... (2) | 2009.09.18 |
국민은행을 사칭하는 낚시 전화 (4) | 2009.09.16 |
'02_IT > Google' 카테고리의 다른 글
Google, 웹 취약성 스캐너를 공개하다 (0) | 2010.03.22 |
---|---|
Google을 이용해 중국으로부터 SQL Injection 당한 사이트 확인하는 방법 - Google 너무 좋아. (1) | 2008.12.04 |
Google의 검색 URL 이해하기 (2) | 2008.11.10 |
Goolge에서 불리언 연산자(AND, OR, NOT) 사용하기 (0) | 2008.11.05 |
Google 검색의 황금률 (2) | 2008.11.05 |
Google 검색창에 사용자가 입력한 검색 요청은 URL로 변환되어 Google로 전달됩니다. 검색창에 검색어를 입력하는 것과 같이 URL을 조작함으로써 검색창에서 활용할 수 없는 조건을 달아 검색할 수 있습니다. 뭐, Google을 이용한 해킹을 준비하는 과정이죠...
알아둘 것은, 검색 질의어는 q라는 URL 파라미터에 할당된다는 점입니다다. 사파리에서 “누렁이”를 검색창에 입력하면 다음과 같은 URL로 변환됩니다: http://www.google.com/search?client=safari&rls=en-us&q=누렁이&ie=UTF-8&oe=UTF-8
URL 문법
- www.google.com/search --> Google 검색 스크립트의 위치
- ?를 포함한 나머지 부분 --> URL 또는 URI라고 한다.
- ?는 파라미터가 검색 스크립트에 전달된다는 뜻이다.
- 파라미터는 변수와 변수에 할당된 값으로 구성되며, “variable=value” 형태로 표시한다.
- & --> 파라미터와 파라미터 사이에서 사용된다.
- 여러개의 파라미터가 사용될 때 순서는 아무 의미 없다. Google은 파라미터의 변수명에 따라 값을 할당받아 사용자를 대신에 인터넷에서 검색을 수행해준다.
- URL의 구성: www.google.com/search?variable1=value1&variable2=value2&variable3=value3
URL에 한국어와 같은 2바이트 문자를 입력하거나, 특수문자, 공백 등을 입력하려면 16진수로 변환해야 합니다. 웹 브라우저에 따라 16진수로 변환되지 않은 값을 URL 창에 입력해도 무방합니다. 제가 몇가지 테스트를 해봤습니다.
- Mac OS X에서 Safari를 사용하는 경우, 그냥 한글을 입력해도 한글을 인식하고, 검색이 정상적으로 이루어진다.
- Windows에서는 IE를 사용하면 정상적으로 인식하지 못하기 때문에 정상적인 검색이 되지 않는다.
- Windows에서 Chrome을 사용하면 URL 창에서 한글을 인식하고, 검색도 정상적으로 된다.
- Windows에서 Firefox를 사용하는 경우, q에 한글로 검색어를 입력하면 자동으로 16진수로 변환하여 전송하고, 검색된다.
- Linux에서 Firefox를 사용하는 경우, 검색어에 입력된 한글을 인식하고, 검색도 정상적으로 이루어진다.
URL 문법에 따라 검색 질의문을 작성한 예입니다:
- www.google.com/search?q=”헐랭이와 IT보안”
- www.google.com/search?q=헐랭이와+IT보안
- www.google.com/search?q=hack+stuff+johnny // 이때 사용되는 +는 AND 연산자처럼 보인다. 확실치는 않다. 어차피 기본 검색 설정은 AND임...
- www.google.com/search?q=hack+stuff+-johnny // 질의문에 NOT 연산자 -를 함께 사용할 때는 앞에 +를 붙여준다.
- www.google.com/search?q=stuff|johnny // 질의문에 OR 연산자 |를 함께 사용할 때는 +를 붙여주지 않는다. 검색어 사이를 띄지 말고 |를 사용한다.
결국, Google 검색 URL을 레고 블록을 쌓듯이 구성할 수 있습니다. Google 검색에서 사용할 수 있는 파라미터 변수들은 너무나 많고, 이걸 다 정리하기란 불가능해 보여서.... -_-; 그중에서 많이 쓰일 만한 몇개만 정리해봅니다.
- q=검색어 - 가장 기본적인 검색 변수: 별다른 옵션을 사용하지 않았다면 검색어는 q에 할당된다. 기본적으로 AND 옵션이 적용되므로, 2개 이상의 단어를 입력하면, 2개의 단어가 모두 있는 페이지만 찾아준다: www.google.com/search?q=hack+stuff
- as_oq=검색어 - 값으로 할당된 단어 중 적어도 한 단어가 있으면 모두 찾는다. 검색창에 OR 연산자인 |를 이용하여 “단어1 | 단어2”를 입력한 것과 같다: www.google.com/search/?as_oq=hack+stuff
- as_epq=검색 문자열 값으로 할당된 단어의 묶음을 “구”로 간주해서 정확히 모든 단어가 일치하는 구가 있는 웹 페이지를 찾아서 보여준다. 검색 창에 큰 따옴표로 둘러싼 “hack stuff”를 이용하는 것과 동일하다: www.google.com/search?as_epq=hack+stuff
- as_eq=검색어+검색어 - 값으로 할당된 단어를 검색에서 제외한다. 검색창에서 NOT 연산자인 -를 이용하여 ‘-단어’를 입력한 것과 같다. 검색에서 제외할 단어를 지정하는 것이기 때문에 q, as_oq와 같은 검색 대상을 지정하는 파라미터와 함께 사용해야 한다: www.google.co.kr/search?q=hack+stuff&as_eq=johnny 또는 www.google.com/search?q=hack+stuff+-johnny (+뒤에 -가 붙어 있다.)
- start=숫자 - 결과 페이지를 출력할 때 검색된 웹 페이지중에서 보여줄 페이지를 지정한다. 첫 페이지는 0이다. 예를 들어, ‘hack +stuff’로 검색했을 때 100개의 페이지가 150개일 때, start 옵션값으로 9를 지정하면, Google은 검색된 대상중 10번째부터 검색 결과를 보여준다. (왜 그랬을까? 누가 만들었을까?)
- as_filetype=확장자 - 지정된 파일확장자로 된 웹 페이지를 찾는다. mp3, pdf, xls 등 다양한 파일 확장자를 인식한다. 이 파라미터는 혼자 쓰면 검색이 무의미하고, as_ft와 함께 사용된다. (as_ft를 사용하지 않으면 기본값으로 as_ft=i가 적용된다.) q와 같은 다른 파라미터와 함께 사용하는 것이 좋다. 검색창에 고급 연산자 filetype를 지정하는 것과 동일한 결과를 보여준다: www.google.com/search?q=matrix&as_filetype=avi&as_ft=i 또는 www.google.com/search?q=matrix+filetype:avi
- as_ft=[i|e] - as_filetype으로 지정된 파일 유형을 검색에서 포함(i)시킬 것인지 제외(e)할 것인지 지정한다.
- as_sitesearch=도메인 또는 사이트 - 특정 도메인 또는 사이트를 검색 대상에 포함하거나 제외 시킬 때 사용한다. as_df와 함께 사용한다.
- as_df=[i|e] - as_sitesearch로 지정된 특정 도메인이나 사이트를 검색 대상에 포함(i)하거나 제외(e)한다.
- as_occt=[any|title|body|url|link] - 검색어를 웹 페이지의 특정 위치에서 찾도록 지정한다. 파라미터의 성격상 다른 것들과 섞어 쓸 때는 주의가 요구된다: www.google.com/search?q=nulonge&as_occt=link
- any - 웹 페이지의 어느 위치든 상관없이 검색어를 찾는다.
- title - 웹 페이지의 타이틀, html 파일의 헤더 부분에서 검색어를 찾는다. 고급 연산자 allintitle과 동일하다.
- body - 웹 페이지 본문에서 검색어를 찾는다. 고급연산자 allintext와 동일하다.
- url - URL에서 검색어를 찾는다. 고급연산자 allinurl과 동일하다.
- link - 웹 페이지에서 검색어가 링크에 있으면 찾는다. 고급연산자 allinanchor와 동일하다.
- safe=[active|off] - SafeSearch 기능을 끄거나 켠다. SafeSearch는 구글 검색걸과에서 성인물을 알아서 걸러주는 역할을 한다. Google Korea에서도 기본으로 Active 상태로 적용된다.
- hl=언어코드 - 검색결과를 출력할 때 사용되는 Google 웹 인터페이스에서 사용되는 언어를 지정한다. 보통 모국어로 지정되어 있기 때문에, Google Korea에서 검색하면 hl=ko로 나타난다. 검색 화면을 영어로 변경하려면 hl=en으로 변경한다. hl로 언어코드를 지정하면 Google이 사용자 PC에 저장하는 쿠키에 값이 저장되기 때문에 이후 Google 화면은 해당 언어로 표시된다. 언어코드는 다음과 같다: ar (아라비아어), zh-CN (중국어 간체), zh-TW (중국어 번체), en (영어), el (그리스어), iw (히브리어), ja (일본어), ko (한글), ru (러시어어)... 이외에도 매우 많음.
- lr=언어코드 - 검색 결과를 특정 언어로 제한한다. hl과 달리, 다른 언어코드를 사용한다: lang_en (영어), lang_zh-CN (중국어 간체), lang_zh-TW (중국어 번체), lang_ko (한글), lang_ja (일본어)...
- restrict=제한코드 - 검색 결과를 특정 국가로 제한한다. 검색 결과를 최상위 도메인이나 서버의 IP 주소가 갖는 지리적 위치에 근거해 하나 또느 몇개 국가 페이지로 제한한다. 이 검색 결과는 완전하지 않을 수 있는데, Google이 제한코드를 적용하는 기준은 host와 whois 명령을 사용해서 확인해볼 수 있다(host www.naver.com을 입력한 다음, 검색결과에서 ip 주소를 찾아서 whois 명령으로 조회해보면 국가명을 알 수 있다.) : 제한 코드는 매우 많다: countryAU (호주), countryCN (중국), countryDO (도미니카 공화국), countryES (스페인), countryUK (영국), countryGU (괌), countryJP (일본), countryKP (북한), counryKR (한국), countryUS (미국)...
- as_qdr=[m3|m6|y] - 지정한 시간 내에 갱신된 웹 페이지를 찾는다.
- m3 - 3달 이내에 갱신된 페이지
- m6 - 6개월 이내에 갱신된 페이지
- y - 1년 이내에 갱신된 페이지
'02_IT > Google' 카테고리의 다른 글
Google, 웹 취약성 스캐너를 공개하다 (0) | 2010.03.22 |
---|---|
Google을 이용해 중국으로부터 SQL Injection 당한 사이트 확인하는 방법 - Google 너무 좋아. (1) | 2008.12.04 |
Google의 검색 URL 이해하기 (2) | 2008.11.10 |
Goolge에서 불리언 연산자(AND, OR, NOT) 사용하기 (0) | 2008.11.05 |
Google 검색의 황금률 (2) | 2008.11.05 |
구 검색 phrase search
“ “로 둘러싸인 단어 그룹을 검색하는 것도 한 방법입니다. Google은 ""으로 둘러 싸인 모든 단어를 순서대로 들어 있는 페이지를 찾습니다. 중단어(stop workd)도 검색 대상이 됩니다. 와일드 카드 문자를 활용하여 검색 대상 단어를 줄일수도 있습니다.
- “Google hacker”
- “adult humor”
- “Carolina gets pwnt”
단어 검색과 구 검색은 검색의 기본이 되며, 고급 연산자를 사용하면서 강력한 검색이 가능해집니다. 여기서는 불리언 연산자만 설명합니다.
AND와 OR, NOT 그리고 고급 연산자
1. 검색 기능을 확장해서 이용하려면 AND, OR, NOT과 같은 불리언 연산자와 그외에 Google에서 정의한 고급 연산자를 이용할 수 있습니다. Google에서 불리언 연산자는 각각 +(AND), -(NOT), |(OR) 기호를 사용한다. 불리언 연산자를 제대로 이용하려면 www.google.co.kr이 아니라 www.google.com을 이용하는 것이 좋겠습니다. 다음 두 검색 결과를 비교해보시면 알겁니다.
http://www.google.com/search?hl=en&fkt=1901&fsdt=6177&q=hot+and+spicy&btnG=Google+Search&aq=f&oq=
--> hot과 spicy만 검색한다.
http://www.google.co.kr/search?complete=1&hl=ko&q=hot+and+spicy&btnG=Google+검색&lr=&aq=f
--> hot과 spicy뿐만 아니라 and까지 검색한다. 훨씬 더 많은 내용이 검색된다.
2. 불리언 연산자와 함께 괄호를 사용할 수 있다는 것도 기억하세요. 괄호를 이용해서 그룹핑함으로써 검색 질의를 명확하게 할 수 있다.
3. 와일드 카드를 적극 활용하는 것! 잊지 마세요.
AND와 + 연산자
Google은 기본적으로 AND 연산자를 사용하여 검색을 수행합니다. 즉, AND는 입력할 필요가 없습니다. AND 연산이 필요하면 + 연산자를 사용한다. 언제 쓰냐구요? 중단어(stop word)를 검색 결과에 포함시킬 때 유용합니다. = )
다음 예를 보세요.
and justice for all: “justice"와 "for all”이 포함된 모든 검색결과를 출력합다. 단, and는 중단어이기 때문에 검색하지 않습니다. 검색 결과에 and justice for all이 포함되기는 하지만, 이것은 Google 검색 엔진이 의도한 결과는 아닙니다.
“and justice for all”: 단어가 순서대로 들어가 있는 문구가 있는 검색결과만 출력한다.
+and justice for +all: “and justice for all” 뿐만 아니라, 개별단어가 들어간 모든 검색결과를 출력한다. 단, and와 all은 중단어이지만, + 연산자가 사용되었기 때문에 개별 중단어에 대한 검색 결과도 포함된다.
NOT과 - 연산자
특정 단어 또는 구를 검색에서 제외합니다. NOT 대신에 - 연산자를 사용하세요.
-and justice for all: “justice”, "for all"에 대해 검색한다. all은 중단어이므로 검색하지 않는다. 검색결과에서 and가 들어있으면 사용자에게 보여주지 않습니다.
OR과 | 연산자
OR 대신에 | 연산자를 사용합니다. a | b 와 같은 형태로 사용하는데, a 또는 b라는 단어가 있는 모든 검색결과를 보여준다. 고급연산자와 함께 사용함으로써 더 막강한 기능을 발휘할 수 있습니다.
연산자의 적용 순서 & 우선순위
모든 검색어는 왼쪽에서 오른쪽으로 적용됩니다. 즉, Google은 연산자에 특별히 우선순위를 부여하지 않습니다. 검색을 명료하게 하려면 괄호 기호 “(“과 “)”를 이용하는 습관을 들이세요.
intext:passwd | passcode intext:username | userid | user | id filetype:csv
--> 텍스트에 passwd 또는 passcode라는 단어가 있는 모든 페이지를 찾습니다.
--> 검색된 페이지 중 username, userid, id 중 하나라도 있으면 그 페이지를 찾습니다.
--> 검색된 페이지 중에서 CSV 파일만 보여줍니다.
--> intext는 Google에서 정의하는 고급 연산자중 하나이며, 웹 페이지 본문을 의미합니다.
검색 질의를 명료하게 바꾸면 이렇습니다.
intext:(passwd | passcode) intext:(username | userid | id) filetype:csv
정말 쉽죠? = )
'02_IT > Google' 카테고리의 다른 글
Google, 웹 취약성 스캐너를 공개하다 (0) | 2010.03.22 |
---|---|
Google을 이용해 중국으로부터 SQL Injection 당한 사이트 확인하는 방법 - Google 너무 좋아. (1) | 2008.12.04 |
Google의 검색 URL 이해하기 (2) | 2008.11.10 |
Goolge에서 불리언 연산자(AND, OR, NOT) 사용하기 (0) | 2008.11.05 |
Google 검색의 황금률 (2) | 2008.11.05 |
그냥 막연하게 구글 검색창에 단어를 쭉 나열해서 찾는 것보다는 Google을 잘 이해하고 그에 맞게 검색 질의를 하는 것이 좋습니다. 구글에서 올바른 검색에 도움이 될만한 사항을 조금씩 정리해봅니다. (구글관련 서적을 읽고 있습니다. 이 내용은 그 중에서 발췌하면서 나름대로 덧붙인 것이죠...)
구글 요청문은 대소문자 구분을 하지 않는다.
구글은 대소문자를 구분하지 않습니다. 단 하나 예외가 있다면, 불리언 연산자인 OR은 반드시 대문자로 써야 합니다. (그러나 OR을 입력하는 것보다는, "|"을 입력하는 것이 편합니다.
검색에서 사용되는 와일드 카드 문자 "*"
“*”은 검색어의 단일 단어(word)를 의미합니다. 특정 단어의 앞이나 뒤에 *를 붙이는 것은 그 단어 자체만을 사용하는 것과 동일한 결과를 갖습니다. (와일드 카드 문자는 큰 따옴표를 이용해서 특정한 단어 구를 찾을 때 유용합니다.)
구글은 자동 단어확장 기능이 있다.
diet라는 단어를 검색하면 dietary라는 단어를 포함한 웹 페이지 목록을 출력합니다. 명사의 경우, 단수 명사로 입력하면 복수 명사도 함께 검색됩니다.
구글은 검색에서 일부 단어를 무시한다: stop word
구글은 검색 창에 입력된 일부 단어, 문자, 검색어의 한자리 숫자를 무시합니다. 무시된 단어는 중단어(stop word)라고 합니다. who, where, what, the, a, an와 같은 단어들은 검색에서 의미있는 결과를 가져오기 어렵기 때문에, 의도적으로 무시됩니다. 관사 하나가 검색에서 차지하는 의미는 매우 적지요.
중단어의 종류는 무엇이 있는 지 Google에서 검색해보세요: "stop word" +google
중단어를 검색에서 사용하려면,
1. “ “ 사이에 넣어서 입력하거나 (예: "justice for all")
2. 중단어 하나만을 이용해 검색합니다. (예: who 단어 하나만 입력)
3. 검색어 앞에 “+”를 붙여서 검색해도 됩니다. (예: justice +for +all. 단, + 기호와 단어 사이에 공백이 있으면 안됨)
구글은 검색어를 10개로 제한한다.
구글은 10개가 넘어가는 질의를 받으면 10자만 받아들입니다. 검색할 단어는 신중하게 선택하는 것이 좋습니다. 와일드 카드 문자는 제한 범위에 포함시키지 않으므로 *를 적극 활용해야 합니다.
검색되는 예
미국 헌법의 첫 부분인 we the people of the united states in order to form a more perfect union establish justice의 경우, 모두 17 단어입니다. 이것을 그냥 Google을 통해 검색하면, the, of, the, in, to, a 등은 중단어(stop word)이므로 검색 대상에서 제외됩니다. 그리고, 중단어(stop word)는 검색어 제한에 포함되지 않는 것 같습니다. 'justice'는 10개 단어를 초과하기 때문에 검색 대상에서 제외됩니다.
적절한 검색 방법은 이것입니다: “we * people * * united states * order * form * more perfect * establish *”
단어는 모두 9개가 사용됩니다. 8개의 와일드 카드 문자는 10 단어 제한이 적용되지 않으므로, 정확히 저 미국헌법 첫 부분을 검색하게 됩니다.
Google.com에서는 이렇게 동작하는데 google.co.kr은 조금 다른 것 같습니다. 우리나라 언어의 특성 때문인지, 중단어도 검색되는 것 같기도 하네요. 한국어라는게, 굴절어(조사와 어미가 체언, 어간에 붙어서 사용되므로 단일 형태가 없는 언어)이기 때문에 더욱 그런 것 같습니다. 우리나라 언어와 같은 것을 잘 검색할 수 있는 알고리즘이 있다면 참 좋을 텐데.
'02_IT > Google' 카테고리의 다른 글
Google, 웹 취약성 스캐너를 공개하다 (0) | 2010.03.22 |
---|---|
Google을 이용해 중국으로부터 SQL Injection 당한 사이트 확인하는 방법 - Google 너무 좋아. (1) | 2008.12.04 |
Google의 검색 URL 이해하기 (2) | 2008.11.10 |
Goolge에서 불리언 연산자(AND, OR, NOT) 사용하기 (0) | 2008.11.05 |
Google 검색의 황금률 (2) | 2008.11.05 |
Recent Comment