워게임/probgame.com

[probgame.com] Extract Function 문제 풀이

KwonYongHyeon 2021. 1. 3. 13:55
반응형

 

 

오늘은 Probgame이라는 사이트에서 워게임을 해 보도록 하겠다.

풀 문제는 Extract Function이라는 문제인데, 제목부터 php의 extract 취약점을 사용한다는 것을 알 수 있다.

extract 취약점은 링크 뒤에 코드를 더 붙여서(?) 변수값을 바꾸는(??) 간단한 공격 기법이다.

바로 시작하도록 하자.

 

역시 예상대로 extract 함수를 사용하여 취약점을 발생시키라고 한다.

 

Problem Link 클릭!

 

친절하게도 코드를 무료제공한다.

 

매우 간단한 php 코드가 나왔다.

우리가 주목해야 할 취약점 코드는 이 부분이다.

$CheckOne = 123123123123;
$CheckTwo = 0x2dbfadef;

extract($_GET);

if((int)$CheckOne === $CheckTwo){
    echo $FLAG;
}
else{
    echo "Hello zzzzz<br>";
}

 

 

여기서 if구문을 살펴보면, CheckOne 변수와 CheckTwo 변수가 같아지면 FLAG를 출력하라는 코드라는 것을 알 수 있다.

근데 CheckOne 변수는 10진수인것 같은데, CheckTwo는 16진수로 보인다.

10진수로 변환해 주자.

 

 

767536623이라고 한다.

이제 CheckOne 변수를 767536623로 바꿔주기만 하면 된다.

extract 취약점을 이용하여 바꾸어 보자.

 

링크 뒤에 ?CheckOne=767536623 라고 입력한다.

 

 

이제 페이지를 새로고침하면 바로 FLAG가 출력될 것이다.

 

 

extract 취약점을 이용하여 Probgame의 Extract Function 문제를 풀었다.

 

 

반응형