본문 바로가기

Wargame(hacking)/webhacking.kr

Webhacking.kr : old-26

<  해결 과정  >

 

<?php
  if(preg_match("/admin/",$_GET['id'])) { echo"no!"; exit(); }
  $_GET['id'] = urldecode($_GET['id']);
  if($_GET['id'] == "admin"){
    solve(26);
  }
?>

******************************************************************
$_GET['id'] :  GET 방식으로 id 값에 파라미터 전달

 

php 코드를 통해 , admin이 id 값에 입력되면, 그림 1 과 같이 no! 를 반환한다는 것을 알 수 있다.

 

그림 1

 

id 값을 GET을 통해 전송하면, decoding 된다. 그래서 urlencoding을 해주었는데, admin 값으로 곧장 필터링되었다. 그래서 그림 2와 같이 더블 인코딩을 해주었고, 해당 문제를 해결할 수 있었다.  

 

그림 2

 

아래 그림3 은 admin을 url encoding 한 값이다. 

 

그림 3

 

한줄 평: 뭔가 익숙한 유형?

 

< 참고 >

 

https://flash-ctf.tistory.com/43

 

[php] preg_match 함수

안녕하세요!오늘은 php 함수중에preg_match 함수에 대해서설명할게요! 웹해킹 문제들을 풀다보면php 코드에서 자주 등장하는 함수입니다! 먼저 어떻게 쓰이는지 알아보겠습니다 물론 $matches 뒤에 PRE

flash-ctf.tistory.com