아무 반응이 없어서 코드를 확인하였다.

 

<?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>");
?>

코드를 확인해보니, 정규포현식 관련된 문제인 듯하다.
Get 메소드로 보낸 입력값이 정규포현식에 걸리면, Falg를 출력한다.

 

변수 pat에 정의된 정규포현식을 분석하였다.
- [1-3] : 1부터 3까지의 숫자에 해당하는 문자
- [a-f]{5} : a~e까지의 알파벳 소문자
- _.$_SERVER[REMOTE_ADDR] : _ + 공인 IP 주소
- \
\tp\ta\ts\ts : \t 은 탭을 뜻함. 즉, 탭 p 탭 a …

 

위를 모두 만족하는 문자열은 123abcde_IP주소 p a s s이다.

 

위의 값을 서버로 보내니, Flag를 획득할 수 있었다.

PHP 정규포현식 참고 사이트
코딩의 시작, TCP School

'워게임 > webhacking.kr' 카테고리의 다른 글

[Webhacking.kr] Old - 49 Write Up  (0) 2021.05.27
[Webhacking.kr] Old - 46 Write Up  (0) 2021.05.27
[Webhacking.kr] Old - 7 Write Up  (0) 2021.05.26
[Webhacking.kr] Old - 5 Write Up  (0) 2021.05.25
[Webhacking.kr] Old - 4 Write Up  (0) 2021.05.25
복사했습니다!