시나리오는 다음과 같습니다. 사용자가 새로운 X.php 파일을 만듭니다 . nano를 사용한다고 가정 해 보겠습니다. 사용자는 일부 콘텐츠를 작성하고 파일을 저장하지만 (S1 단계) nano를 종료하지 않습니다. 그는 다시 약간의 변경을하고 파일을 다시 저장 한 후 nano를 종료합니다 (S2 단계).
질문 : 디렉토리의 모든 PHP 파일에 삽입해야하는 코드 (트리거)가 있습니다. 나는 그렇게 할 수있다. 그러나 위의 시나리오에서 inotifywait를 사용하여 새 파일이 생성되는 것을 감지하면 (Stage S1) 코드를 삽입합니다. 그러나 nano가 닫히지 않았으므로 다음 저장 (S2 단계)에서 삽입 된 코드가 사용자의 새로운 변경 사항으로 덮어 쓰여집니다. 이 문제를 어떻게 제거 할 수 있습니까?
추신 : 편집기는 모든 텍스트 편집기가 될 수 있으며 사용자가 파일을 만드는 데 사용한 편집기를 모릅니다.
PHP 파일이 수정되거나 생성 될 때마다 작동하도록 코드 인젝터 프로세스를 수정해야하며 , 코드가 있는지 확인하고없는 경우 삽입 할 수있을만큼 똑똑하게 만들어야합니다. 그렇지 않으면 다음 시나리오에 취약합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다