티스토리 뷰

728x90
반응형

서론

버그바운티나 모의해킹을 하다 보면 어디 취약한 곳 없나 살펴보는데 많은 시간을 소요하곤 합니다.

일일이 사람 손으로 페이지의 버튼이나 링크를 클릭하면서 이동하기에는 너무 시간이 아깝기도 하고 귀찮기도 합니다.

 

이 때 사람들은 자동화 도구를 사용합니다. 주로 크롤러 또는 스파이더를 돌리죠.

대표적인 spider/crawler 도구로는 Burp Suite 에 기본적으로 내장되어 있는 기능들을 이용합니다.

(아마 크롤링 기능은 유료버전에서 가능한 것 같습니다.)

 

근데 안타깝게도 타겟 사이트가 서버가 자동화 도구의 무자비한 크롤링으로 인해 감당하지 못한다면, 자동화 도구를 사용할 수 없다고 말하죠.

 

그럼 이 때에는 진짜 Burp Suite 에서는 Passive Crawling 기능 틀어놓고서 마우스로 일일이 각각의 메뉴들을 클릭하면서 Sitemap 구조를 형성합니다.

또 다른 방법은 없을까요? 버그바운티 또는 모의해킹 대상 사이트에 부담은 주지 않으면서 URL 또는 Path 들을 수집할 수 있는 방법이요.

 

Google Dorking?

물론 Google 등의 검색엔진에서 dorking으로 가져올 수도 있습니다. 아래는 google dorking 의 예시들입니다.

site:domdom.tistory.com ext:doc | ext:docx | ext:odt | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv
site:domdom.tistory.com intitle:index.of
site:domdom.tistory.com ext:xml | ext:conf | ext:cnf | ext:reg | ext:inf | ext:rdp | ext:cfg | ext:txt | ext:ora | ext:ini | ext:env
site:domdom.tistory.com ext:sql | ext:dbf | ext:mdb
site:domdom.tistory.com ext:log
site:domdom.tistory.com ext:bkf | ext:bkp | ext:bak | ext:old | ext:backup
site:domdom.tistory.com inurl:login | inurl:signin | intitle:Login | intitle:"sign in" | inurl:auth
site:domdom.tistory.com intext:"sql syntax near" | intext:"syntax error has occurred" | intext:"incorrect syntax near" | intext:"unexpected end of SQL command" | intext:"Warning: mysql_connect()" | intext:"Warning: mysql_query()" | intext:"Warning: pg_connect()"
site:domdom.tistory.com "PHP Parse error" | "PHP Warning" | "PHP Error"
site:domdom.tistory.com ext:php intitle:phpinfo "published by the PHP Group"
site:pastebin.com | site:paste2.org | site:pastehtml.com | site:slexy.org | site:snipplr.com | site:snipt.net | site:textsnip.com | site:bitpaste.app | site:justpaste.it | site:heypasteit.com | site:hastebin.com | site:dpaste.org | site:dpaste.com | site:codepad.org | site:jsitor.com | site:codepen.io | site:jsfiddle.net | site:dotnetfiddle.net | site:phpfiddle.org | site:ide.geeksforgeeks.org | site:repl.it | site:ideone.com | site:paste.debian.net | site:paste.org | site:paste.org.ru | site:codebeautify.org  | site:codeshare.io | site:trello.com "domdom.tistory.com"
site:github.com | site:gitlab.com "domdom.tistory.com"
site:stackoverflow.com "domdom.tistory.com"
site:domdom.tistory.com inurl:signup | inurl:register | intitle:Signup
site:*.domdom.tistory.com
site:*.*.domdom.tistory.com

 

Wayback Machine!!

제가 선호하고 있는 방법은 바로 Wayback Machine 에서 URL들을 가져오는 방법입니다.

아래 URL에 들어가게 되면 https://domdom.tistory.com 사이트의 URL 경로들을 모두 출력해주는 것을 보실 수 있습니다.

 

https://web.archive.org/web/*/https://domdom.tistory.com/*

https://web.archive.org

 

Wayback Machine 사이트는 각종 페이지들을 저장해두는 곳입니다. 때문에 이 페이지를 통해서 네이버나 구글 검색엔진들의 과거 모습도 구경해볼 수 있습니다. 그렇기 때문에 여기서는 과거로부터 현재까지 존재하는 URL 들을 저장해서 보관해둔 것을 볼 수 있습니다.

 

Wayback Machine to Python Script

이제 위 페이지에서 URL 경로들을 확인할 수 있으니 편리하겠죠?

근데 좀 더 편했으면 좋겠습니다. 저 URL 들을 모두 파싱해서 파일로 저장하고 싶습니다.

 

직접 스크립트를 작성해도 되지만, 이미 저와 똑같은 생각을 한 사람들이 만들어 둔 것이 있습니다.

https://github.com/akamhy/waybackpy

 

GitHub - akamhy/waybackpy: Wayback Machine API interface & a command-line tool

Wayback Machine API interface & a command-line tool - GitHub - akamhy/waybackpy: Wayback Machine API interface & a command-line tool

github.com

도구는 언어별로 다양하지만, 저는 Python 이 친숙해서 해당 언어로 작성된 도구를 찾아보았습니다.

 

해당 도구로 https://domdom.tistory.com 의 URL 들을 추출해보았습니다. 명령어는 아래와 같이 입력하였습니다.

$ pip3 install waybackpy
$ waybackpy --url https://domdom.tistory.com --known_urls > domdom.tistory.com-urls.txt

뭔가 엄청 많이 나왔습니다. 위와 같이 URL 들을 확인할 수 있습니다.

 

알아두면 확실히 유용하겠죠?

 

- 끝 -

728x90
반응형
댓글