호빵둥이 IT Blog

Webhacking.kr 11번 풀이 :: 호빵둥이 IT Blog 본문

프로그래밍/[워게임]Webhacking.kr

Webhacking.kr 11번 풀이 :: 호빵둥이 IT Blog

d2n0s4ur 2020. 6. 24. 16:50

 

 

안녕하세요!

 

오늘은 워게임, Webhacking.kr Chellenge n번 문제를 풀어보도록 하겠습니다.

 

이번 문제는 PHP를 사용한 문제입니다.

 

 

#문제 보기


우선 https://webhacking.kr/challenge/code-2/ 로 접속해보도록 하겠습니다.

 


 

Challenge 11

 

webhacking.kr


 

 

접속하자마자 Wrong이라고 반겨준다

 

 

이번 문제는 소스코드를 분석해서 확인해봐야 될 것 같습니다.

 

일단 view-source를 눌러 소스코드를 보도록 하겠습니다.

 

 

 

 

 

#소스코드 분석하기


 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
  include "../../config.php";
  if($_GET['view_source']) view_source();
?><html>
<head>
<title>Challenge 11</title>
<style type="text/css">
body { background:black; color:white; font-size:10pt; }
</style>
</head>
<body>
<center>
<br><br>
<?php
  $pat="/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/";
  if(preg_match($pat,$_GET['val'])){
    solve(11);
  }
  else echo("<h2>Wrong</h2>");
  echo("<br><br>");
?>
<a href=./?view_source=1>view-source</a>
</center>
</body>
</html>
cs

 

 

PHP 부분만 따로 보도록 하겠습니다.

 

 

1
2
3
4
5
6
7
8
<?php
  $pat="/[1-3][a-f]{5}_.*$_SERVER[REMOTE_ADDR].*\tp\ta\ts\ts/";
  if(preg_match($pat,$_GET['val'])){
    solve(11);
  }
  else echo("<h2>Wrong</h2>");
  echo("<br><br>");
?>
cs

 

 

2번째 줄에서 $pat 값을 지정합니다.

 

정규식을 분석하면, 1~3의 숫자 1개 + a~f의 소문자 5개 + 사용자의 IP + */tp/ta/ts/ts 형식을

 

pat에 저장합니다.

 

3번째 줄에서 만약 이 형식과 val 파라미터로 가져온 값이 같다면, 문제가 풀리는 구조입니다.

 

즉 우리는 val 값을 pat의 정규식에 맞추면 바로 풀 수 있는 구조인 것 같습니다.

 

이제 문제를 풀어보도록 하겠습니다.

 

 

 

#문제 풀기


 

val의 형식을 맞추기 위해서

 


val = 1aaaaa_{접속한 IP}*%09p%09a%09s%09s


 

 

로 만들어 주겠습니다.

 

뒤의 탭 문자는 URL인코딩을 통해서 %09로 바꿔주었습니다.

 

자신의 IP주소는 하단 링크에서 확인할 수 있습니다.

 

 


https://www.findip.kr/

 

아이피 확인 - my ip address

IP 주소를 확인하는 가장 쉽고 빠른 방법 이 사이트(findip.kr)에 접속하는 것이 IP주소를 확인하는 가장 쉽고 빠른 방법이다. 121.53.243.11 가 현재 접속한 기기의 공인 IP(Internet Protocol) 주소다 IP주소��

www.findip.kr


 

 

확인한 파라미터를 이용해서 접속을 시도하면,

 

 

 

https://webhacking.kr/challenge/code-2/?val=1aaaaa_{본인의 IP 주소}*%09p%09a%09s%09s

 

Challenge 11

 

webhacking.kr

 

 

 

 

 

 

 

 

문제가 간단하게 풀렸습니다!

 

 

 

 

#연관된 활동


 

 

이번 문제는 기존의 내용을 사용하여 간단하게 풀 수 있었습니다.

 

정규식의 개념을 알고, PHP의 REMODE_ADDR을 알면 파라미터 개념을 사용해서 풀 수 있었습니다.

 

코딩을 하면서 정규식을 사용하면 논리 구문에서 획기적으로 코드를 줄일 수 있고 값 형식을 쉽게 고정할 수 있으므로

 

항상 숙지하고 있기를 바랍니다.

 

 

 

 

 

포스트 잘 보셨다면 하단에 ♡ 꼭 눌러주시길 부탁드립니다!

(♡ 는 블로거에게 큰 힘이 됩니다)

 

 

 

[이전글] : 2020/06/20 - [프로그래밍/[워게임]Webhacking.kr] - Webhacking.kr 10번 풀이 :: 호빵둥이 IT Blog

 

Webhacking.kr 10번 풀이 :: 호빵둥이 IT Blog

안녕하세요! 오늘은 워게임, Webhacking.kr Chellenge 10번 문제를 풀어보도록 하겠습니다. 이번 문제는 자바스크립트와 제이쿼리를 사용한 간단한 문제입니다. #문제 보기 우선 https://webhacking.kr/challenge

h-bread.tistory.com

[다음글] : 2020/07/04 - [프로그래밍/[워게임]Webhacking.kr] - Webhacking.kr 12번 풀이 :: 호빵둥이 IT Blog

 

Webhacking.kr 12번 풀이 :: 호빵둥이 IT Blog

안녕하세요! 오늘은 워게임, Webhacking.kr Chellenge 12번 문제를 풀어보도록 하겠습니다. 이번 문제는 자바스크립트의 난독화를 사용한 문제입니다. #문제 보기 https://webhacking.kr/challenge/code-3/ Chall..

h-bread.tistory.com

 

Comments