본문 바로가기
security/웹 해킹

Webhacking.kr 5번

by aristia 2020. 7. 22.

1. 문제 확인

 

문제를 클릭하니까 검은색 화면에 Login과 Join 버튼이 나와있는 것을 확인할 수 있다.

 Login 버튼을 눌렀더니 이렇게 입력하는 폼이 나와있다. 
그래서 admin으로 로그인을 시도해보았다.

 

그랬더니 이렇게 worng password가 나온다.

 

이번에 Join을 눌렀더니

이렇게 alert 창이 뜨는 것을 확인할 수 있다.

 

2. 코드 확인

 

3. 문제 풀이

 

여기 코드가 중요한 부분인 것 같다. 
로그인 버튼을 눌렀을때 mem.login.php로 이동하는 것을 확인할 수 있다.

 

그러면 접근이 거부된 join에서도 이런 방식으로 하면 접근이 가능해질 수도 있겠다고 생각을 했다.

그랬더니 bye라고 alert 창에 뜨는 것을 볼 수 있다.

 

이때의 페이지 소스를 확인해보면 다음과 같이 난독화되어있는 것을 확인할 수 있다.

 

크롬의 F12번을 눌러 개발자 도구에서 콘솔창에 난독화 되어 있는 것을 복사해서 붙여보았다.

 

그랬더니 다음과 같이 난독화 되어있는 것이 복호화 되는 것을 확인할 수 있다.

그래서 이를 바탕으로 해석을 하면 document.cookie에 oldzombie라는 문자열이 없거나,
document.URL에 mode=1라는 문자열이 없으면 실패라는 것이다.


그래서 이렇게 쿠키값을 추가하고

 

?mode=1을 URL 창에 추가해 주었다.

 

 

그랬더니 이렇게 새로운 창이 뜨는 것을 확인할 수 있다.

 

 

그래서 다음과 같이 로그인을 다시 시도했다.

그랬더니 다음과 같이 alert 창에 뜨는 것을 확인할 수 있다.

 

그래서 SQL Injection 문제로 생각하고      admin을 적어주었다.

성공했다.

 

해당 로그인 페이지로 돌아가 다시 로그인을 해준다.

 

4. 결과

 

'security > 웹 해킹' 카테고리의 다른 글

Webhacking.kr 7번  (0) 2020.07.22
Webhacking.kr 15번  (0) 2020.07.22
Webhacking.kr 20번  (0) 2020.07.18
Webhacking.kr 42번  (0) 2020.07.18
Webhacking.kr 41번  (0) 2020.07.16

댓글