2011-11-24 2 views
1

나는 리눅스 가상 코어를 실행하고 그리고 난 다음 명령을 내 워드 프레스 설치에 몇 가지 악성 코드를 찾기 위해 노력하고 있어요 :왜이 패턴 검색이 걸려 있습니까?

grep -r 'php \$[a-zA-Z]*=.as.;' * |awk -F : '{print $1}' 

I, 프로세스 그냥 달려 ... 내가 그 I을 재확인하려면 Enter 키를 누르 때 문법 권리가 있고 내가해야 할 일은 모두 기다리는거야?

어떻게 검색하는 동안 일종의 피드백을받을 수 있습니까?

감사

+0

무엇을 찾으려고합니까? – NullUserException

+0

'awk -F : '{print $ 1}'는'grep -l' 또는'grep -h'를 얻는 재미있는 (?) 해킹처럼 보입니다. – sehe

답변

1

아마 인해 -r * (재귀 적으로 모든 파일/DIRS)에 그 시간을내어 그것?

가 (최대) 10하고 갈수록 그 명령을 인쇄 일괄 파일을 처리 할

find -type f -print0 | xargs -0trn10 grep -l 'php \$[a-zA-Z]*=.as.;' 

을 고려한다. 당신은 아마 관련의

find -type f -iname '*.php' -print0 | xargs -0trn10 grep -l 'php \$[a-zA-Z]*=.as.;' 

종류와 같은 간단한 조치로, 그것의 지옥을 최적화 할 수 있습니다 그렇게 물론

:

당신이 찾을 수없이 비슷한 일을 할 수있다 최근 떠들썩한 파티와 작은 나무 :

shopt -s globstar 
grep -l 'pattern' **/*.php 
+0

감사합니다! ...하지만 첫 번째 명령이 정확히 무엇을 출력합니까? 나는 라인 톤을 볼 수있다. – algorithmicCoder

+0

@algorithmicCoder : ** 1. ** 그냥'find -type f | 적은 -SR'; 이제, ** 2. ** line이 많이 있지만, 당신의 명령이 지나가고있는 것만은 아닙니다! 'grep -lr '을 시도해보십시오.?' *'재미로 ... 왜 천천히 보입니까? – sehe

1

대신에 grep -r를 사용하여 recursively grep을 사용하는 경우, 한 옵션은 find을 사용하여 파일 이름 목록을 얻은 다음 한 번에 하나씩 grep에 제공합니다. 이를 통해 echo과 같이 grep과 함께 다른 명령을 추가 할 수 있습니다. (

find -type f -exec ./is-it-malware.sh '{}' ';' 

는 현재 디렉토리에있는 모든 파일을 통해 스크립트를 실행하고 모든 서브 디렉토리하기 :이 명령을

#!/bin/bash 

if grep 'php \$[a-zA-Z]*=.as.;' "$1" >/dev/null 
then 
    "!!! $1 is malware!!!" 
else 
    " $1 is fine." 
fi 

을 실행 예를 들어,이 포함 is-it-malware.sh라는 스크립트를 만들 수 있습니다 재귀 적으로).

관련 문제