질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

서버에 웹쉘을 올리는데 어떤방법으로 올리는지 궁금합니다.

작성자 정보

  • 희심금강 작성
  • 작성일

컨텐츠 정보

본문

xxxx.com-access_log:41.233.xx.xxx - - [03/Jan/2008:02:02:04 +0900] "GET /bbs/confiq.php HTTP/1.1" 302 303
xxxx.com-access_log:41.233.xx.xxx - - [03/Jan/2008:02:02:33 +0900] "GET /bbs/confiq.php HTTP/1.1" 401 30
xxxx.com-access_log:41.233.xx.xxx - Gero0o0o [03/Jan/2008:02:02:44 +0900] "GET /bbs/confiq.php HTTP/1.1" 200 6567

confiq.php는 php로 만들어진 웹쉘이구요.

로그를 보면 302코드와 401코드를 낸후에 바로 200코드로 접속 성공이네요

해당 디렉토리는 nobody유저에게 쓰기권한이 되어 있으므로

confiq.php가 올라가는것이야 정상이겠지만 도대체 어떤 방법으로

쉘을 올리는지 모르겠습니다.

해당 게시판은 제로보드 4.1 pl7 입니다.

 

첫번째 질문은 보통 이런 스크립트를 어떤 방법으로 서버로 올리는건가요?

두번째, 퍼미션 변경외에 이런 파일의 업로드를 막는 방법을 무엇인가요? 혹은 아파치 로그에 업로드 흔적을 남기는 옵션은 없나요?그리고 302코드와 401 코드가 의미하는 바는 무엇인가요?

세번째 방법은 제가 테스트로 디렉토리를 하나 만들었습니다.

Gero0o0o [13/Jan/2008:02:40:29 +0900] "GET //bbs/confiq.php?act=mkdir&d=%2Fhome%2xxxx.com%2Fpublic_html%2Fbbs%2F&mkdir=%2Fhome%2Fxxxx.com%2Fpublic_html%2Fbbs%2Ftestaaa HTTP/1.1" 200 6659

잘 만들어 지네요.

mod_security에 다음과 같은 옵션을 주었습니다.

SecFilterSelective THE_REQUEST "mkdir"

안걸러지고 잘만들어 집니다.

제가 만든 mod_security 옵션이 잘못된 것이겠지요?

무엇이 잘못된 것일까요?

 

고수님들 많은 도움 바랍니다.

 

 

 

관련자료

댓글 2

이재석님의 댓글

  • 이재석
  • 작성일
1. 요구한 데이터 위치가 변경되었음을 나타냅니다.

2. 웹방화벽을 이용하면 가능은하지만 기본적인 명령어나 디렉토리는
  퍼비션 변경등의 방어를 하시는것이 좋습니다.

3. THE_REQUEST 대신에 ARGS_VALUES를 이용하세요

희심금강님의 댓글

  • 희심금강
  • 작성일
mod security는 제 설정 미스였습니다.
답변 감사드립니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,080 명
  • 현재 강좌수 :  36,010 개
  • 현재 접속자 :  263 명