네 안녕하세요. Godhaword 입니다.
문제를 풀다가 bot이나 로봇 같은 힌트가 나오면 주소창에 아무 생각 없이 /robots.txt를 쳐보는 습관이 생겼습니다. 그렇게 하면 문제는 풀리더라고요. 하지만 그 원리나 robots.txt 가 무엇을 뜻하는 지는 아직도 몰라 이렇게 공부하며 글을 남겨봅니다.(ctf 기준 50~100점 문제에 로봇 문제가 있고, 그 문제는 그냥 robots.txt 넣으면 문제는 풀립니다.)
목차는
1. 정보노출 취약점이란?
2. 정보노출 취약점이 발생하는 이유
3. 정보노출 취약점을 공격하는 방법
4. 정보노출 취약점 공격 예제 (3번과 4번은 한 번에 설명해드리겠습니다.)
5. 정보노출 취약점을 보완하는 방법
순으로 가겠습니다.
1. 정보노출 취약점이란?
Q : robots.txt 가 그럼 뭔가요?
사이트에 웹 크롤러같은 로봇의 접근을 막기 위한 약속이라 합니다.
(이것 외에도 개발자 소스 창에 mysql 이나 flashplayer 버전 노출 같은 것도 있지만 이번 글에서는 robots.txt 위주로 설명하겠습니다.)
User-agent: * Disallow:/
형식을 대충 이런 식으로 되어있는데, 모든 로봇에게 문서 접근을 불허한다는 뜻입니다.
User-agent: * Allow:/
이건 모든 로봇에게 문서접근을 허가한다는 것이고
User-agent: googlebot Disallow:/godhaword/
위 같은 형식은 googlebot에게 godhaword라는 특정 디렉토리의 접근을 차단한다는 뜻입니다.
2. 정보노출 취약점이 발생하는 이유
3,4. 정보노출 취약점 공격 방법 및 예제
hackctf의 /라는 문제입니다.
다른 사이트에선 이런 유형의 문제를 bot이나 robot 같이 쉽게 유추 가능한 이름을 넣어서 짓습니다.
hackctf의 / 라는 이름은 최상의 경로라는 것을 담은 힌트라고 생각 됩니다.
일단 대놓고 로봇이라는 힌트가 이렇게 있네요.
뒤도 돌아보지 않고, /robots.txt를 쳐봅니다.
모든 로봇의 /robot_flag/ 접근을 불허한다 합니다.
flag네요. 제가 접근해 보겠습니다.
크으... EZ
초보자 분들도 robots.txt 라는 개념만 있으면 간단한 ctf 의 기본문제는 하나 풀 수 있게 됩니다.
참고로 각 사이트 대표 봇 이름은
google 은 googlebot
naver 는 Yeti
Daum은 Daumoa
google image는 googlebot-image
등이 있습니다. 다른 봇들은 그 때 그 때, 검색해보심이 좋을 것 같습니다.
5. 정보누출 취약점을 보완하는 방법
'web_security' 카테고리의 다른 글
ntds.dit (1) | 2024.08.30 |
---|---|
국산 토종 종갓집 웹쉘 (1) | 2023.04.18 |
sql injection payloads (0) | 2021.07.20 |