보안 공부/Dreamhack.io 3

[Dreamhack] session(python 사용)

먼저 접속 정보에 나와있는 주소로 접속합니다. 그러면 위와 같은 사이트를 만나게 됩는데요, 첨부파일에 있는 app.py도 살펴봅시다 [app.py 분석] --> 로그인 정보 --> sessionid쿠키값을 통해 user가 누군지 판별함 --> admin의 sessionid값을 알면 admin의 pw를 몰라도 admin계정으로 로그인 가능 --> sessionid값을 만들어 내는 방법 --> os.urandom(1).hex()을 통해 admin의 sessionid를 만들어냄. --> os.urandom(1): os 모듈에는 urandom이라는 함수가 있다. 이 함수는 원하는 길이(byte단위)의 unsigned 수치값을 무작위로 만들어 준다. [admin의 sessionid찾기] 1. 사실상 admin의 ..

[Dreamhack] Session-basic 풀이

http://host1.dreamhack.games:22849/ Welcome! 이라는 글자와 함께 사이트가 등장한다. Home이나 About을 눌러봐도 별다를 게 없다. Login을 누르면 로그인 페이지로 이동한다. 문제파일을 다운로드해서 안에있는 app.py를 살펴보자. 소스코드의 11~18번째 줄은 아마도 id&pw 정보를 나타내고 있는 것 같다. [21~29번째 줄] 이 부분은 sessionid라는 쿠키값 확인을 통해 로그인이 이루어지는 과정이다. 즉, id=admin일 때의 sessionid쿠키값을 안다면, admin 계정으로 로그인할 수 있다는 것이다. 시험삼아 id는 user, pw는 user1234로 로그인해 보자. 그러면 Hello user, you are not admin이라는 글을 볼..