내 Linux 컴퓨터에서 의심스러운 PHP 파일을 검색하고 싶습니다. 현재 저는 큰 문자열에 대한 솔루션을 가지고 있지만 며칠 전에 의심스러운 스크립트의 새 버전을 발견했습니다. 하나의 긴 줄에 변수를 설정하는 대신 새 버전에서는 줄을 여러 덩어리로 나누고 연결합니다.
예는 다음과 같습니다.
$dlujpdi =
'KXskXXxbZSgnb2R5cmltcHViTkVDIHBvbWVvLCR0clRoPmRvc2V7TWVzJGZpb25zRV9'.
'MICRsbWUoaXMtbmV3Y2Uoan07cGVucy0+dD0kY291KCdtZWxkcnJwaGlzJy4nZighLC'.
'RwdGVkLT5TZXcgaWYobVsxdGhpKCRwZGRybiBmJHBhbiAkdGhpJHRobmQpQ2hhJGFkZ'.
'XQsdGVkZCgnKXtyZXI9fXxcdXJudGlvbmU7b2RlaGVsaXZlOV17ZWRDLicodHIob24g'.
'YnJldHRhb21IY3RpdGlvcy0+cy0+TVRQKCRkW109KTt9JHN0ZHkudGhpaGFybWF0J0N'.
'vJyAnYWluJGJvc19rXC9cJG1zYm9kdGh0PnZhbiI7UyopJHN0bGVyJyc7cycpYSl7Py'.
'8iaXMtbWUpLT5zKHN0KD8hOkRFcy0+cmV0QWx0c3MiYW1laWYoKS0kaGlzSCcsJGJvK'.
'DIsNzdcc3RyLjIzJycsX2Nvcy0+ZXNwPmFkc2FnezY1OjpEPnRlb2R5bWF4aW1lcHVi'.
등. 그래서 아래와 같이 Base64 부분이 점으로 연결되어 있는 패턴을 검색해보고 싶습니다. 새로운 짧은 프로그램을 작성하지 않고 Linux 도구를 사용하여 이를 수행할 수 있는 방법이 있습니까?
답변1
Linux 시스템에서는 다음과 같은 것을 사용할 수 있습니다.
grep -Erl '[[:alnum:]/+]{20,}' /path/to/php/parent/directory/*
이는 Base64 알파벳의 연속 문자 20개 이상을 포함하는 파일을 반복적으로 찾도록 grep에 지시합니다. 일치하는 파일에는 파일 이름이 인쇄됩니다. 입맛에 맞게 20으로 조절하세요.