티스토리 뷰

기억하자정보/보안

업로드 취약점!

LANIAN 2006. 10. 11. 11:56
작성자 : sammuel Dual (Dual5651@hotmail.com)


웹게시판들에서 파일 필터링을 우회하여 웹실행파일
(PHP,ASP,JSP)등의 파일을 올릴 수 있는 취약점을
발견 하였다. 해당 문제점은 Apache의 옵션중
AddLanguage라는 옵션에서 생겨나는데,
AddLanguage옵션은 다중 언어를 지원하기 위한 옵션인데,
같은 디렉토리에 index.php.kr 와 index.php.it 식으로 만들어 두면,
한국에서는 .kr이 붙은 녀석이, 이탈리에서는 .it가 붙은
녀석이 실행된다.

즉 확장자가 웹실행파일의 확장자(.PHP,.ASP,.JSP)가
아니면서도, 웹실행파일로서 실행 될 수 있는 것이다.

Apache의 httpd.conf속의 AddLanguage 옵션들:


AddLanguage da .dk
AddLanguage nl .nl
AddCharset ISO-8859-8 .iso8859-8
AddLanguage it .it
.....


-------------------------------------------------

방법 예시 :

1. 파일이 업로드 되는 경로 획득

 먼저 해당 게시판에 그림파일을 업로드 한다.
 많은 게시판들이 이미지 파일을 업로드 했을떄 글속에
 미리보기(preview)식으로 같이 보여준다는 점을 이용하여,
 그림 파일이 작성한 글에 같이 보여지게 되면,
 마우스 오른쪽 버튼으로 클릭하여 아래 그림에서와 같이
 파일이 업로드되는 경로를 획득할 수 있다.






2. 웹실행파일 업로드

 그림파일을 통하여 파일이 업로드 되는 경로를 획득 했다면,
 이제 PHP파일의 뒤에 .kr 이나 .iso8859-8 등을 붙여서
 업로드 한다.





3. 웹실행파일의 실행

 파일을 성공적으로 업로드 된 것을 확인했다면,
 이제 해당 주소로 실행을 해보면 nobody권한 정도의
 쉘들을 획득할 수 있음을 알 수 있다.





4. 해결책

 1.파일 업로드 디렉토리에서 웹실행파일이 실행 될 수
   없도록 지정한다.
 2.파일 업로드시의 파일명 필터링에 AddLanguage옵션도
  필터링이 지원 될떄까지 기다린다.
 3. 이미지 파일을 업로드 했을때 게시판에서 글에
   같이 보여지는 것을 없애거나, 경로가 들어나지
    않도록 한다.

'기억하자정보 > 보안' 카테고리의 다른 글

Plain Text Attack with pkcrack  (0) 2006.10.13
[hackthissite]Realistic 13 tutorial  (0) 2006.10.12
웹해킹 - SQL 인젝션  (1) 2006.10.10
md5 hash site  (0) 2006.10.08
HTTP 프로토콜  (0) 2006.10.08
댓글
안내
궁금한 점을 댓글로 남겨주시면 답변해 드립니다.