인터루드

session

U.J 2022. 11. 13. 22:39

문제

 

home & about 창

 

 

login 창

 

계정은 밑에 3가지가 있고,

-> id     :    pw

 guest  :   guest

 user    :    user1234

admin  :   FLAG (관리자 계정의 암호)

 

1. username과 password 값을 입력받아, 패스워드를 pw에 저장함

2. 값이 일치하면 index 페이지로 응답을 함

* urandom = 무작위 *

3. os.urandom(4).hex 함수를 이용하여 4바이트의 무작위 값을 hex로 형변환한 값을 session_id에 저장함

4. session_id는 로그인에 성공한 username이 됨

5. sessionid의 쿠키로 응답을 함

 

여기서부터 답에 대한 힌트를 얻을 수 있는데,

if문 안의

session_storage[os.urandom(1).hex()]='admin' -> id를 정의하고 있음

admin의 id는 1바이트의 무작위 값을 hex로 설정했기 때문에 256가지를 이용하여 답을 찾을 수 있음

=> 즉, burp suite를 이용하여 무작위 대입 공격을 시도해야 함

 

 

1Byte의 Hex 값을 구하기 위해선 'abcde0123456789' 이 문자를 조합하여 공격을 수행해야 함

 

공격을 하던 중에  Length가 다른 패킷이 나오는데, 이것을 클릭해보면 플래그를 찾을 수 있음

 

답: DH{73b3a0ebf47fd6f68ce623853c1d4f138ad91712}

'인터루드' 카테고리의 다른 글

funjs  (0) 2022.11.19
blind sql injection advanced  (0) 2022.11.19
proxy-1  (0) 2022.11.13
simple-ssti  (0) 2022.11.10
php-1  (0) 2022.11.08