Websec-level9

 

 

 

 

입력한 문자열이 블랙리스트에 걸러진후 파일에 저장되며 이 파일을 다시 불러서 eval 해준다.

 

 


 

stripcslashes를 이용하면 풀 수 있다.

stripcslashes는 \n, \r 과 같은 역슬래쉬가 있는 문자들을 역슬래쉬를 제거하고 그 문자의 의미(?)로 표현해준다.

(ex : \n -> 줄바꿈)

(stripcslashes online tester http://php.fnlist.com/string/stripcslashes)

 

 

따라서 블랙리스트에 있는 ' 같은 문자를 \x27, \47으로 입력해주면

블랙리스트에 필터링 되지않고 cache_file에 저장되며 이 파일을 출력해줄 때 stripcslashes를 통해 \x27이 '로 해석되어 함수를 실행 시킬 수 있어서 문제를 해결할 수 있다.. 

'Web hacking > Websec' 카테고리의 다른 글

websec - level 19  (0) 2020.03.05
websec - level 24  (0) 2020.02.25
Websec - level 22  (0) 2020.02.22
Websec - level 14  (0) 2020.02.19
Websec - level 17  (0) 2020.01.05

+ Recent posts