Web2012. 7. 30. 16:28

extract()함수는 배열 속의 키값을 변수화 시켜주는 함수이다.

 

예를 들어

$a[x] = 111;

$a[y] = 222;

에서 extract(a) 할 경우 x = 111, y = 222가 되는 것이다.

 

     ->   

 

 

 그러면 소스에 extract($_GET)이 있다면???

 

GET메소드로 넘어오는 변수를 받을 때 $_GET[x]와 같이 사용하므로 이것 또한 배열로 본다면 이렇게 된다.

 

$_GET[x] = 111;

$_GET[y] = 222;

일때 extract($_GET)하면

x = 111, y = 222가 되는 것이다.

 

 

 

 

 

저런 경우가 있을지는 모르겠지만 ..  그냥 저렇게 할 수 있다. ㅋ

 

 

 

 

 

'Web' 카테고리의 다른 글

PHP 백도어에서 사용하는 함수  (0) 2014.04.02
javascript decoding tools  (0) 2013.11.29
md5 raw hash를 이용한 sql injection  (1) 2012.09.26
php extract()함수에 대하여 . .-  (3) 2012.07.30
Posted by bbolmin

댓글을 달아 주세요

  1. @extract($_GET); PHP에서 이건언제쓰는건가요???라고 물었지만 찾아보지는못한다.

    2017.12.12 10:14 [ ADDR : EDIT/ DEL : REPLY ]
    • aa

      오래된 글과 댓글이지만, 혹여 검색해서 쓰는 분이 있을까봐.. get변수를 extract 해서 사용하면, 내부 변수를 덮어버려서 보안에 무쟈게 취약해집니다. 내부 변수명을 변수명=true 이런 식으로 주소에 넣으면, 그냥 사이트 뚫림... 예전에 제로보드에 저 코드가 있어서 난리난 적이 있슴다

      2019.03.28 00:23 [ ADDR : EDIT/ DEL ]
  2. 이 글 보시는분 extract 함수 절대로 쓰지마세요 해킹 당합니다. php5.4에서 보안문제로 사라진거 따라한 문제 있는코드입니다.

    2020.04.02 23:54 신고 [ ADDR : EDIT/ DEL : REPLY ]