본문 바로가기

스터디/CTF

ctf 공부 2일차

HackCTF

[Web] - Hidden

1,2,3,4버튼이 있는데, 이걸 누르면 get방식으로 flag변수에 각각의 숫자를 넘겨주게 된다.

이 중 5번 파일에 플래그가 있다고해서, flag변수에 5를 넣어서 넘겨주니 flag가 나왔다.

 

[Web] - Login

로그인 화면이 뜨길래 sql문이 참이 되게하면 되지 않을까 하고 그냥 쳐봤더니 flag가 나왔다.

 

 

 

[Web] - /

문제 페이지에 들어가면 Hidden Flag라는 글자와 로봇 그림이 뜨는데, 이건 진짜 도저히 모르겠어서 라업을 봤다.

robots.txt를 이용하는 듯하다고 바로 알아보던데, 나는 그거 처음 봤다.

robots.txt란?

웹사이트를 크롤링하려고 할때, 가장 먼저 권한을 요청하는 과정에서 검색하는 파일.

웹 사이트에서 웹 크롤러 같은 로봇들의 접근을 제어하기 위한 제약이라고 한다. - 나무위키

해당 파일은 웹사이트의 최상위경로에 있어야한다고 한다.
따라서 주어진 페이지에서 바로 /robots.txt를 검색했더니 확인 가능했다.

robots_flag 디렉토리에의 접근을 허용하지  않는다는 내용을 확인 가능했다. 

url에서 검색해서 /robot_flag폴더에 접근하려고 했는데, /없이 robot_flag까지만 검색하니 에러페이지가 떴다. 

robot_flag/까지 검색해주니 flag가 나왔다.

 

정보노출 취약점

robots.txt파일에 디렉터리가 노출되는 취약점

 

정보노출 취약점 발생 이유

robots.txt에 관리자가 정보를 올려두게 되면, 공격자는 /robots.txt공격문으로 정보확인 가능

 

/문제의 힌트들

제목이 / : 최상위 경로라는 의미

그림이 robot그림

--> 최상위 경로에 위치하는 robot?? --> robots.txt파일!

 

각 사이트들의 대표 봇 이름이 있다고 한다. 

 

 

[Web] - Button

버튼으로 flag를 출력하라는데, 버튼는 post로 submit 동작을 하지만 넘겨주는 값은 없다.

url로 flag 페이지에 접근해 봤더니 아래와 같은 에러페이지가 떴는데, 이건 직접 만들어준 페이지이다. 어떤 내용으로 이동하려고 하든 이런 페이지가 떴다.

소스코드를 보면 submit을 하는데, 넘겨주는 값이 없는게 문제라는 생각이 들었고, 따라서 html코드를 수정해서 flag문자열을 어떤 식으로든 넘겨줘야한다고 생각했다. 

개발자도구를 f12를 눌러서 열어준 후 name을 button으로 지정해준 input태그 내의 value값을 flag로 수정해줬다.

그럼 버튼이 flag로 바뀌는데, 이걸 클릭해주면 flag값이 button변수로 넘어간다. 정말 flag가 나와서 놀랐다.

?button=flag로 url뒤에 붙어서 넘어가길래, button 변수에 flag를 get방식으로 넘겨준 것이라고 보면 되는거 같아서 그렇게 get방식으로 url에 직접 입력해봤더니 flag가 출력이 안되었다. html태그 내의 button의 value값을 수정해줘야만 하는 문제 같았다. 

 

rev

윈도우에서는 실행이  안되고, 리눅스에서 실행해보면 패스워드를 입력하라고 한다.

gdb로 열어보면 

 

'스터디 > CTF' 카테고리의 다른 글

ctf 공부 7일차  (0) 2021.07.11
ctf 공부 5일차  (0) 2021.07.09
ctf 공부 4일차  (0) 2021.07.08
ctf 공부 3일차  (0) 2021.07.07
ctf 공부 1일차  (0) 2021.07.05