본문 바로가기

webhacking.kr/Challenge(old)

webhacking.kr 3번 문제 풀이(old)

안녕하세요. 정보보안 등대지기입니다.

 

오늘은 3번 문제를 풀어보도록 하겠습니다.

 

※ 정답만 보지 마시고 실습을 통해 문제를 직접 풀어보시는 것을 추천드립니다.

 

3번을 클릭하면 퍼즐 같은 그림이 등장합니다.

 

 

 

빨간 네모 박스 내 숫자가 없는 임의의 빈칸을 클릭해보니 검은색으로 변하는 것을 확인할 수 있습니다.

 

 

 

위 방법과 빨간 네모 박스 밖에 있는 숫자를 이용하여 문제를 해결합니다.

 

( 스도쿠랑 비슷한 느낌도 드네요. )

 

 

그림 아래에 "solved" 클릭하니 Clear! 문구와 로그를 위한 이름 입력 폼이 등장합니다.

 

 

 

저는 신경안쓰고 일단 "admin"부터 입력했더니 name, answer, ip에 대한 내용이 출력됩니다.

 

 

 

이번에는 프록시 도구인 Burp Suite를 이용해서 'submit'클릭 직후 패킷을 확인해 봤더니 answer, id 파라미터가 보입니다.

 

여기서 저는 answer 값(1010100000011100101011111 → 1010100000011100101011111)을 변조해보겠습니다.

 

answer 값(1010100000011100101011111 → 1010100000011100101011111)을 변조 시도

 

 

변조를 했지만 별다른 변화는 보이지 않네요.

 

 

혹시나 하는 마음에 다른 name을 입력해도 역시나 똑같았습니다.

 

 

여기서 추측할 수 있는 것은 3번 문제 클릭 직전 3번 문제 그림에 Database 아이콘(?)이 있는 거로 보아 SQL Injection 공격을 통한 문제 해결일 가능성이 높다고 판단하여 answer 값에 먼저 SQL Injection 공격 구문을 삽입해보겠습니다.

 

 

 

answer값 뒤에 SQL 공격 구문을 삽입하여 전송해 보았습니다.

 

SQL 공격 구문('or 1=1--) 삽입

 

 

query error! 라는 다른 페이지를 보여줍니다.

 

제가 추측했던 SQL Injection 공격을 통한 문제 해결이 맞아떨어지네요.

 

 

 

하지만 진짜 문제는 여기서부터입니다...

 

온갖 공격 구문을 넣어봤지만 통과가 되지 않더라고요...

 

 

 

그러던 중 우연히 정답을 알아냈는데 그 답은....

 

 

 

맨 처음 입력했던 값('or 1=1--) 끝에 띄어쓰기( )만 추가했더니 바로 통과가 되더라고요.;;

 

(아직도 왜 띄어쓰기를 해야 문제가 해결되는지는 모르겠습니다.ㅠㅠㅠㅠㅠ)

문제 해결

 

 

오늘은 여기서 마치겠습니다.

 

보안에 관심 있는 분들이 손쉽게 이해하고 접근할 수 있도록 노력하겠습니다 :)

 

질문 또는 조언해주실 분은 아래 댓글 또는 메일로 남겨주세요.

 

cjh1503123@naver.com