format string
format string 을 이용한 php sprintf 버그
format string 을 이용한 php sprintf 버그
2022.02.04오랜만에 CTF에 참가하여 WEB 문제 중, php의 `sprintf()` 함수를 이용한 문제가 있었다. 아래 코드를 보면, SQL `addslashes()` 함수 때문에 SQLI 가 불가능한 것처럼 보이지만, `sprintf()` 함수에서 format string을 이용하면 이를 bypass 할 수 있다. 이를 설명하기 위해 글을 계속 읽어보자. # The John has 500 dollar. 위 코드의 서식 문자를 아래 코드처럼 인자의 순서를 지정할 수 있다. (이는 C언어에서 Format String Bug를 이용한 explit 할 때도 사용된다.) # The John has 500 dollar. 위 예제에서는 코드에 전혀 문제가 없다. 하지만 `sprintf()` 함수를 다음과 같은 사례로 2번 ..