본문 바로가기
Wargame/Webhacking.kr

[Webhacking.kr#3] 삽질하며 배우는 웹해킹

by 맑은청이 2020. 9. 18.
728x90
반응형

첫 화면 입니다. 로직 같네요. 문제를 한 번 풀어볼까요.

풀기 전에 개발자도구를 켜봐서 힌트가 있는지 확인해봅시다.

form 으로 kk 를 보내고 get 으로 보내네요. URL 을 이용할 수 있겠어요. index.php를 실행시킬 겁니다. 

 

가운데는 누르면 go 함수를 실행하는 버튼이 있습니다. 

go 는 자바 스크립트 함수이고 클릭했던 값들을 answer에 모아서 kk의 _answer의 값에 answer 을 대입하고 submit()

함수를 실행시킵니다. 

이 함수의 기능은 내가 클릭한 답을 정답과 비교하겠다는 생각을 할 수 있습니다. 

 

문제를 맞추니 다음과 같이 나오군요. 

문제를 틀리면 'NO'라는 화면이 나오면서 빠르게 첫번째 화면으로 전환됩니다. 

Clear! 화면에서 살펴봐야겠네요.

URL 을 보면 get으로 전송됐음을 알 수 있지요.

 

그리고 enter your name for log 가 있네요. 로그를 위해 너의 이름을 입력해라.~라네요. 아무거도 입력해봅니다. 

 

아무것도 입력하지 않고 submit()를 누르면 첫 화면으로 돌아가는데 어떤 이름을 적고 누르면 다음처럼 기록이 됩니다. 

이렇게 하나하나 입력이 됩니다. ip 는 왜 나오는 걸까요?

데이터베이스와 관련 있는 내용이겠죠... 

이름을 입력하는 부분을 보니 SQL Injection이지 않을까 하는 생각이 듭니다. 

'or 1=1 -- 을 한번 넣어줍니다.

안 통하네요.

Form Data 를 보니 id 테이블이 존재하는거 같아요.

2번 문제처럼 쿠키도 없었고... 어떻게 푸는 걸까요?

 

php 로 ip 를 알아냈네요. 이게 무슨 힌트가 있을거 같다는 느낌이 들어요. 

 

<?php

   echo : name
   echo : answer 

   echo $_SERVER['REMOTE_ADDR'];

   
?>

 

이런식이겠죠? 

그럼 ip 는 왜 거기 있는걸까요..고민해봅니다. 

분명히 저기에 힌트가 있는거 같은데 잘 모르겠네요. 

공부를 하러 가보겠습니다ㅠㅠ

 

 

728x90
반응형