TeamH4C

[빡공팟 5기] W6 : DVWA 실습 - Weak Session IDs (medium)

이유갬 2022. 10. 30. 23:23

[ 실습 목표 ]

This module uses four different ways to set the dvwaSession cookie value, the objective of each level is to work out how the ID is generated and then infer the IDs of other system users.

이번 실습의 목표는 세션 ID가 생성되는 방법을 파악한 다음 다른 시스템 사용자의  세션 ID를 추론하는 것이다!


[ 실습 화면 ]

- 초기화면이다.

- 한번 Generate 버튼을 눌러보았다.

- 위와 같은 쿠키가 생성되었다.

- 반복해서 계속 누르니 뭔가 일정하게 수가 증가하는 것 같은데 1씩 증가하다가 중간에 증가하지 않는 경우가 발생한다.

- 소스코드를 살펴보면 아래와 같다.

- $cookie_value = time(); 이라고 되어있는 걸 보니 시간과 관련되어 있는 것 같다.

- 쿠키의 생성 패턴을 분석하는 기능이 버프 스위트에 존재한다고 한다.

- 그 기능이 바로 시퀀스 라는 기능이다.

- Generate 버튼을 누르고 패킷을 잡은 다음 해당 요청을 시퀀스로 보낸다.

- 서버 과부하를 미리 방지하기 위해서 500ms 마다 1개의 스레드를 이용하여 요청을 보낸다.

- 즉, 1초마다 2개의 쿠키 생성 요청을 보내는 것이다.

- 요청을 60개 정도를 보냈을 때 정지 버튼을 누르고 토큰을 복사한다.

- 그리고 메모장에 토큰을 붙여넣고 일정한 패턴이 있는지 분석한다.

- 토큰을 쭉 일렬로 나열해보니 2번 누를때마다 1 씩 증가하는 것을 알 수 있다.

- 이렇듯 데이터를 수집하여 패턴을 분석하는 것이 가능하므로 다른 유저의 쿠키 또한 예상 가능하다.