[wargame.kr] login filtering 풀이

2022. 1. 1. 20:29Dreamhack Wargame

728x90

문제 제목
문제 정보
메인페이지
get source

소스코드 제일 아래에 있는 아이디랑 비번?처럼 보이는 것을 써서 로그인부터 해보겠습니다.

 

umm

you have blocked accounts. 라고 써져있는 걸 보니 사용할 수 없는 계정인가 봅니다.

blueh4g / blueh4g1234ps 계정도 마찬가지였습니다.

 

이제 페이지가 어떻게 작동하는지 알았으니, 본격적으로 소스코드를 해석해보겠습니다.

코드의 윗부분은 문제 풀이에 그다지 도움되지 않는 부분이니, 설명은 생략하도록 하겠습니다.

 

중요 코드

여기 있는 if문이랑 sql구문이 중요해 보입니다.

차근차근 분석해보겠습니다.

 

id가 존재할 때, id가 guest 또는 blueh4g라면 "your account is blocked"를 출력해줍니다.

아니라면 "login ok"를 출력해주고 FLAG를 출력해줍니다.

id가 존재하지 않는다면 "wrong.."를 출력해줍니다.

id, pw의 일치 여부 & 존재 여부만을 if문으로 걸러줍니다.

그러므로 이 부분에서 취약점이 발생한다는 것을 알 수 있습니다.

 

(php는 대소문자 구분을 하지 않습니다!)

문제에서 주어진 id, pw를 입력하되, id 문자열 중 하나 이상을 대문자로 바꾼 채로 입력을 한다 가정하겠습니다.

그렇게 입력을 넣으면 if문을 통과하면서 key를 획득할 수 있을 것입니다.

 

id를 Guest로 입력
FLAG 획득 완료
문제 풀이 성공

 

728x90

'Dreamhack Wargame' 카테고리의 다른 글

login-1 풀이  (0) 2022.01.06
[wargame.kr] strcmp 풀이  (0) 2022.01.06
Carve Party 풀이  (0) 2021.11.18
dreamhack-tools-cyberchef 풀이  (0) 2021.11.18
simple-ssti 풀이  (0) 2021.11.17