풀고나서 다른 풀이들을 보려고 검색하니까 대부분 풀이가 너무 판박이처럼 똑같아서 내가 푼 방식을 써둔다.
문제는 간단하다. 저기에 질의를 보내면 필터링에 걸러지지 않으면 다음과 같이 뜬다.
하지만 <script> 나 alert는 필터링 되어 있어 입력하기가 쉽지 않다.
이를 우회하기 위해 어떤 방법을 써야할까?
php에서는 ereg, eregi,split 등과 같은 c언어에 기반을 둔 posix함수들이 사용되는데 이러한 함수들은 %00 즉 NULL이 오면 뒤에는 인식을 하지 않아 우회가 가능하다.
이를 이용해 웹쉘을 올리거나 하는 파일업로드 공격으로 이어지기도 한다. 즉 출제의도는 이러한 함수들을 우회할 수 있는지 묻는 것이다.
따라서 다음과 같은 쿼리를 url의 파라미터로 직접 보내면 문제가 해결된다.
%00<script>alert(1);</script>
Posix관련 함수 취약점에 블로그 : http://hackability.kr/entry/PHP-%EB%AC%B8%EC%9E%90%EC%97%B4-%ED%95%84%ED%84%B0%EB%A7%81-%ED%95%A8%EC%88%98ereg-eregi-%EC%B7%A8%EC%95%BD%EC%A0%90%EC%9D%84-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%9A%B0%ED%9A%8C
'Wargame' 카테고리의 다른 글
[pwnable.kr]unexploitable (0) | 2014.12.02 |
---|---|
[pwnable.kr] tiny (0) | 2014.11.15 |
codegate 2014 4stone (0) | 2014.10.17 |
bashshock~~!! (0) | 2014.10.13 |
[pwnable.kr]brain_fuck (0) | 2014.09.27 |