웹쉘(Web shell)
파일 업로드 기능을 이용하여 시스템에 명령을 내릴 수 있는 웹 프로그램을 업로드 할 수 있는 취약점으로,
간단한 서버 스크립트 (jsp,php,asp)로 만드는 방법이 널리 사용되며 파일 업로드 시 확장자에 대한 검증을 제대로 하지 않게 되면 이 스크립트로 만든 파일이 업로드 되는 것이다.
웹쉘 설치 시 해커들은 보안 시스템을 피하여 별도의 인증 없이 시스템에 쉽게 접속이 가능하므로 위험하다.
즉, 공격자가 조작한 Server Site Script 파일을 업로드하고, 서버상에 저장된 경로를 유추하여 파일을 실행,
쉘을 획득할 수 있게 되며 쉘 권한을 획득한 후에 시스템 명령어를 홈페이지를 통하여 실행하고 그 결과값을 보며 시스템 관리자 권한을 획득 또는 인접 서버에 침입을 시도할 수 있으므로, 업로드 되는 파일에 대한 검증 및 업로드 폴더에 대한 접근통제가 필요하다.
구분 |
내용 |
취약점 내용 |
파일 업로드 기능을 이용하여 시스템 명령어를 실행할 수 있는 웹 프로그램을 업로드 할 수 있는 취약점으로 업로드 되는 파일의 확장자에 대한 적절성 여부를 검증하지 않은 취약점이다. |
대상 위치 |
■ 확장자에 대한 검증을 하지 않은 파일 업로드 메뉴 : 자유게시판 > 파일 업로드 URL : http://192.168.254.128/board_data/freeboard/test_php.php |
조치 방안 |
업로드 된 파일은 공격자가 추측하기 힘들도록 길고 복잡한 파일명으로 수정하여 저장하도록 하되, 특수 문자의 필터링을 수행한다. 또 공격자가 추측하기 힘든 복잡한 디렉터리에 저장한다. |
■ 확장자에 대한 검증을 하지 않은 파일 업로드
대책 방안
1. 추측 불가능한 파일명 / 디렉터리 명
- 업로드 된 파일은 공격자가 추측하기 힘들도록 길고 복잡한 파일명으로 수정하여 저장하도록 하되, 특수 문자의 필터링을 수행한다. 또, 공격자가 추측하기 힘든 복잡한 디렉터리에 저장한다.
2. 업로드 디렉터리 실행권한 제거
- FileMatch 지시자 이용하여 *.ph, *.ine, *.lib 등의 Server Side Script 파일에 대한 직접 URL 호출 금지시킨다. 파일이 업로드 되는 디렉터리에 운영에 필요한 서버 측 스크립트가 존재하는지 확인이 필요하다.
'Web 모의해킹' 카테고리의 다른 글
HTTP 웹 메소드 수동 점검 (0) | 2021.04.22 |
---|---|
SQL인젝션 (0) | 2020.11.09 |
SQL Injection (2) | 2019.12.20 |
자동화 공격(AU) (3) | 2019.12.17 |
웹 테스트 환경 구축 (0) | 2019.10.10 |