첫 화면 입니다. 로직 같네요. 문제를 한 번 풀어볼까요.
풀기 전에 개발자도구를 켜봐서 힌트가 있는지 확인해봅시다.
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 는 왜 거기 있는걸까요..고민해봅니다.
분명히 저기에 힌트가 있는거 같은데 잘 모르겠네요.
공부를 하러 가보겠습니다ㅠㅠ
'Wargame > Webhacking.kr' 카테고리의 다른 글
[Webhacking.kr#1] WriteUp보며 분석 (0) | 2020.09.15 |
---|---|
[Webhacking.kr#2] WriteUp 보며 분석 (0) | 2020.09.15 |
[Webhacking.kr#2] 삽질하며 배우는 웹해킹 (0) | 2020.09.13 |
[Webhacking.kr#1] 삽질하며 배우는 웹해킹 (0) | 2020.09.11 |