본문 바로가기
기타_/알쓸신잡

[알쓸신잡] PHP 언어의 신기한 기능들

by 낭람_ 2020. 1. 21.
반응형

[PHP]


1. php 는 변수명으로 함수를 사용할 수 있다.

- $a = printf;

- $a("test");

- test 가 출력된다.

- 하지만 echo, print, include는 불가능 하다. (printf는 가능)


2. php 는 ""와 \x(16진수)를 이용하여 문자열을 만들 수 있다.

- $a = "T\x45ST"; //\x45 = E

- print $a;

- TEST 가 출력된다.


3. 1번 + 2번을 통해 여러 ctf 문제들을 우회 가능하다 .. !


+ php jail 관련 문제


glob를 통해 파일의 이름을 출력할 수 있다.

ex) print_r(glob("*"));

- glob의 결과는 Array 형태

- 한개씩 출력하고 싶으면 glob("*")[index_num] 형태로 사용


readfile을 통해 파일을 읽을 수 있다.

ex) readfile(glob("*")[0]);

- php 파일을 읽을경우 주석으로 파일이 읽어진다. 


highlight_file을 통해 파일을 읽을 수 있다.

ex) highlight_file(glob("*")[0]);


setcookie를 통해 출력결과를 쿠키값으로 받을 수 있다. 

ex) setcookie("ls",glob("*")[0]);


` `를 통해 system함수를 대채할 수 있다. (억음 부호(grave accent))

(단, print, echo 함수를 사용할 수 있어야 한다.)

ex) echo `ls`; //system("ls")와 같은 효과를 낼 수 있다.

ex) print `ls`; //system("ls")와 같은 효과를 낼 수 있다.

반응형

댓글