CTF/Writeup

LAYER7 CTF 2018 url routing

JeonYoungSin 2018. 9. 17. 20:13

문제에 들어가보면 다음과 같은 코드가 나온다.



코드를보면 GET 메소드 형태로 flag라는 파라미터가 존재해야 flag가 뿌려진다. 그러나 stripos로 내가 요청한 URI 값에 flag라는 파라미터가 존재할 경우 필터링이 되어진다. 

그러나 여기서 생각해볼 수 있는건 URI값을 가져올 때 $_SERVER['REQUEST_URI']를 통해 가져온다는 점이다. $_SERVER['REQUEST_URI']는 내가 요청한 URI를 URL 디코딩없이 그대로 가져온다. 이부분을 염두하면 아래와 같은 방식으로 필터링 우회가 가능해진다.


exploit :  ?fl%61g