본문 바로가기
category/웹해킹(wargame.kr)

wargame - 4

by 자운대고라니 2020. 7. 8.
반응형

안녕하세요.

자운대 고라니입니다.

이번 글에서는 wargame 4번 문제 풀이를 해보겠습니다.

즐감하세요.^^


"계정을 알고있지만 막혀있다.

어떻게 풀것인가??" 라는 문제이다 들어가 보면

이렇게 나와있다. 대충 ID와 PW를 찾아내서 대입하면 되는 문제인걸 직감할 수 있다.

그렇다면 get source를 통해 php 코드를 확인하자.

데이터 베이스에 있는 id와 pw를 대입했을 때 밑에 if(isset($row ['id']))부분의 코드가 실행되고,

id가 guest 또는 blueh4g일때 로그인이 실패한다고 한다.

더 밑으로 내려보면 아래 사진과 같은 코드가 나온다.

대놓고 id와 비밀번호 값이 나와있다.

 

id : guest, pw : guest를 입력해보면

자바스크립트에서 나와있듯이 로그인이 실패한다.

이때 우리는 mysql 취약점을 활용해야 한다.

 

mysql : 대소문자 구분 X

javascript : 대소문자 구분 O

 

우리가 id를 입력할 때 guest가 아니라 GUEST라고 삽입하면

mysql에서는 guest==GUEST이므로 값이 올바르게 삽입되고

javascript에서는 guest!=GUEST이므로 if(id=='guest')일 때의 조건문을 탈출하게 된다.

 

그러므로 id에 GUEST pw에 guest를 삽입해본다.

FLAG가 나온다.

반응형

'category > 웹해킹(wargame.kr)' 카테고리의 다른 글

wargame - 8  (0) 2020.07.15
wargame - 7  (0) 2020.07.13
webhacking - 참고 사이트  (0) 2020.07.13
wargame - 6  (0) 2020.07.13
wargame - 3  (0) 2020.07.07
wargame - 2  (0) 2020.07.07
wargame - 1  (0) 2020.07.07
wargame 시작  (0) 2020.07.07

댓글