안녕하세요 어느덧 문제의 절반을 지나 6번 문제풀이가 되었네요.

바로 문제 풀이 시작해보도록 하겠습니다.

 

1. 문제

 

6번 문제로 들어오게 되면 Suninatas 게시판이 보입니다.

 

문제에 접근하기 위해 힌트 및 참고하라는 게시글이 보이네요.

 

바로 문제풀이에서 차근차근 제대로 된 문제를 해결해 봅시다.


2. 문제풀이

 

처음에 Hint라는 곳이 매혹적으로 끌려 게시글에 들어가 보겠습니다.

 

suninatas 가 작성한 글을 읽으라는 표현 같네요

 

이후 참고하라는 게시글을 읽어보도록 하겠습니다.

 

게시글에 접근하였더니. md5 해싱 사이트가 적혀있네요.

 

그렇다면 이제 3번째 글을 읽어보도록 하겠습니다.

 

3번째 게시글을 보니, 쿼리문이 존재하며 패스워드를 입력하라고 나와있습니다.

 

"select szPwd from T_Web13 where nidx = '3' and szPwd = '"&pwd&'"

 

쿼리문 분석을 해보자면 szPwd를 검새하는데, T_Web13 테이블에서 조건으로는 nidx =3이며 szPwd는 &pwd& 인 값을 검색하는 것 같습니다. 

쿼리문이 나왔는데 패스워드를 입력하라는 것을 보니 SQL 인젝션을 통해, 패스워드 우회를 시도해 보아야겠다는 생각이 들었습니다.

 

그렇기에 곧바로 SQL 인젝션 중 Boolean 방식을 이용해 무조건 참인 쿼리를 만들어 넣어보겠습니다.

 

test 이후 1=1 값을 만들어 조건을 "참"으로 만들어 주었습니다.

 

결과는 해킹 멈춰!!!라는 구문이 보이는 것 같네요

 

이후 특수문자에 의해 필터링이 되는지 확인하기 위해 '(싱글 쿼터)만 삽입해 보았습니다.

 

잘못된 쿼리라는 응답을 보아 추가적으로 쿼리문을 만들어보아도 될 것 같은 느낌이 들었습니다.

 

특수문자 = 대신 like를 사용하여 조건이 "참"이 되도록 만들어 보았습니다.

 

축하해 주며 키 값을 알려주며, 게시글 읽을 수 있다는 문구가 나오네요.

 

확인 버튼을 누르니 키를 또 찾으라는 문구가 보이네요;;

 

힌트를 더 얻기 위해 안 본 4번째 5번째 게시글을 봐야겠습니다.

 

4번째 게시글을 보았더니 별 의미 없는 게시글인것 같습니다.

 

5번째 게시글을 보았더니 똑같이 별 의미없는 게시글입니다.

 

페이지 내에 힌트가 있는지 확인하기 위해 프록시 툴(burp suite)을 사용하여 요청 값 및 응답 값을 확인해 보았습니다.

 

SQL 인젝션 이후 확인 버튼 후 넘어가는 페이지 요청 값에서 authkey 값이 보입니다.

 

이 부분이 알 수 없는 문자로 되어있는 것을 보아 MD5를 통해 해시가 되어있는 듯합니다.

 

2번째 게시글의 해시 사이트가 있는 것도 이를 위해 있는 것 같네요

 

입력된 값을 2번 게시글 해시 사이트에 접속하여 디코딩해보았습니다.

 

얻은 키값(suninatastopofworld!)을 해시한 값과 동일한 값이 나오네요.

 

 

응답 값을 확인해보겠습니다.

로마의 첫 번째 황제가 키의 힌트가 되겠군요!

 

구글링 해본 결과 로마의 첫 번째 황제는 Augustus라는 사람이더군요!!

 

추가로 입력하는 구간이 존재하지 않아 마무리하였습니다. 추가적으로 발견되면 업데이트하도록 하겠습니다.

 

오늘 문제풀이 끄읏~

 

*제 개인적인 문제풀이 방식이었으며, 잘못된 점이 있다면 알려주시면 감사하겠습니다.

'워게임 > suninatas' 카테고리의 다른 글

suninatas/웹/8번 문제풀이  (0) 2021.06.27
suninatas/웹/7번 문제풀이  (0) 2021.06.23
suninatas/웹/5번 문제풀이  (0) 2021.06.09
suninatas/웹/4번 문제풀이  (0) 2021.05.30
suninatas/웹/3번 문제풀이  (0) 2021.05.28
복사했습니다!