< 알아야 할 것 >

SQL 에서 --는 주석의 기능을 한다.

MD5 는 128 비트 암호화 Hash 함수이다.

Cookie 는 하이퍼 텍스트의 기록서(HTTP)의 일종으로서 인터넷 사용자가 어떠한 웹사이트를 

방문할 경우 그 사이트가 사용하고 있는 서버를통해 인터넷 사용자의 컴퓨터에 설치되는 작은 기록 정보 파일을 일컫는다.

보통 권한이 없다고 하는 문제는 Cookie 나 Session ID 를 통해 접근할 수 있다.


< 풀이 >

문제에 들어가니 다음과 같은 게시판이 나왔다.

하나 하나 읽어봤는데 3번 게시글을 읽으려면 아래 이미지와 같이 암호가 필요했다. 

Text 입력란 아래에 있는 코드를 보니 SQL인 것 같아서 'SQL Injection을 하라는건가?'라고 생각했다.

코드를 보니 "&pwd&"에 Text field 에 입력한 내용이 들어가는 것 같아서, 항상 참이 되는 조건과 이후의 

문장을 주석처리하여 SQL Injection을 시도했다. 그러나 '='은 왜 인지 되지 않아서 ' or 2>1 -- 로 성공시켰다.

성공하니 위와 같이 auth_key가 suninatastopofworld! 라는 alert창이 나왔다.

그래서 auth key 입력란에 입력했더니 틀렸다고 나온다. 


오타를 입력했나싶어 다시 alert창을 띄어봤는데 글을 읽을 수 있다면서 다음과 같이 접근권한이 없다고 나온다.



그래서 접근 권한에 대해서 찾아보니 쿠키를 만져보고 된다고 한다. 그래서 쿠키값을 봤더니 암호화 되어 있었다.

게시글 중에 2번째 게시글에 https://md5hashing.net/ 라고 적혀있길래 혹시나 싶어 들어가 auth_key를 MD5로 decode 해봤다.

다음으로 Edit this cookie 라는 구글 툴을 통해 쿠키값을 변조해서 시도해봤는데 성공하지 못했다. 그래서 뭐가 문제지하며 30분동안

고민하다가 다시 decode 해봤는데 아니 auth_key를 잘못 입력해서 Hash 값이 이상하게 나온 거였다. 그래서 다시 시도해보자

이번에는 성공했다. 이후 다음과 같은 글이 나왔는데 키를 찾아보라고 한다. 

Elements 에서 Key라는 단어를 찾아보자 다음과 같은 힌트가 적혀있었다.



구글에 검색하니 다음과 같이 나와 Auth Key 에 입력했더니 성공했다!

머리가 벗겨지는 줄 알았다!


< 알아가야 할 것 >

Hash 와 Cookie, Session, SQL











'Hacking > Web Hacking' 카테고리의 다른 글

Suninatas 8번 문제  (0) 2018.09.09
Suninatas 7번 문제  (0) 2018.09.07
Suninatas 5번 문제  (0) 2018.09.05
Suninatas 4번 문제  (0) 2018.09.05
Suninatas 3번 문제  (0) 2018.09.05