war game/webhacking.kr
[webhacking.kr]23번 200pt
shnec
2017. 1. 18. 15:27
php 문자열 필터가 되는 듯하다
알파벳이 연속으로 두개만 들어가도 바로 no hack이 뜬다
php에서는 http method의 입력검증 필터링을 위해 eregi ereg같은 함수를 쓴다
php 버전에 따라 filter가 되는 것도 있지만 이 함수들은 %00을 만나면 문자열이 끝나다고 생각하고
필터링을 멈춘다.
그래서 %00<script>alert(1);</script>를 넣어봤다
성공
**
이는 ereg 같은 함수들이 POSIX정규식을 쓰기 때문이라는데
이러한 문제때문에 요즘은 PCRE 정규식을 요구한다고 한다.