반응형
안녕하세요.
자운대 고라니입니다.
이번 글에서는 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 |
댓글