Ninja Forms는 웹사이트에서 끌어다 놓기만 하면 손쉽게 양식을 만들고 사용자 지정할 수 있는 WordPress 플러그인입니다. 또한 현재 100만 개 이상의 웹사이트에서 사용 중입니다. 이 데이터는 분명히 Ninja Forms의 "파일 업로드" 확장이 임의의 파일 업로드 및 경로 탐색에 취약하다는 소식이 하루 전에 표면화되었을 때 Ninja Forms가 누리고 있던 인기를 암시합니다. 그리고 그것은 상당히 충격적이었습니다.
취약점은 Onvio 정보 보안에 의해 노출되었습니다. 심지어 PENTEST REVEALS VULNERABILITIES IN WORDPRESS PLUGIN NINJA FORMS <=3.0.22 기사에서 플러그인에 대한 침투 테스트 결과를 발표했습니다. .
위에서 언급한 침투 테스트에서 찾은 자세한 내용은 다음 섹션에서 확인할 수 있습니다.
취약점 세부정보
그래서 실제로 일어난 일은 Onvio가 클라이언트 중 하나에 대해 침투 테스트를 하는 동안 닌자 양식이 경로 탐색 및 임의 코드 실행을 허용한다는 것을 발견한 것입니다.
이는 결국 인증되지 않은 공격자가 파일 시스템을 통과하여 중요한 파일에 액세스하고 Include/fields/upload.php(업로드/제출 페이지라고도 함) 이름 을 통해 코드를 실행할 수 있게 했습니다. 및 tmp_name 매개변수.
임의 파일 업로드
다음 그림은 서버로 보낸 요청입니다.
이것이 그가 응답으로 받은 것입니다.
위의 응답에서 tmp_name을 이용하여 해커는 악의적인 시도로 탐지를 건너뛰기 위해 대괄호를 사용하여 파일 이름으로 서버에 다시 요청했습니다.
그리고 의심되는 것처럼 WordPress 기능 sanitize_file_name 사전 정의된 특수 문자 집합만 삭제하므로 이 경우 대괄호를 제거합니다. 그리고 정보가 <? php phpinfo(); ?>
인 test.png.doc 파일 test.php
에 업로드됩니다. , 이는 코어 파일이 됩니다.
경로 순회
해커는 다음 코드를 사용하여 wp-config.php 파일을 검색하려고 시도했으며 실제로 데이터베이스에 민감한 세부 정보가 표시되었습니다.
안전한 방법은 무엇입니까?
Ninja Forms의 취약점은 취약한 버전 3.0.22 대신 버전 3.0.33을 출시함으로써 완화되었습니다. 지금 할 수 있는 일은 웹사이트를 이 버전으로 업데이트하는 것입니다.
WordPress용 Astra
Astra와 같은 포괄적인 보안 솔루션을 사용하면 모든 종류의 해킹으로부터 WordPress 사이트를 연중무휴로 보호할 수 있습니다. Astra의 방화벽은 트래픽을 능동적으로 모니터링하여 XSS, CSRF, Bad Bots 및 100개 이상의 공격을 차단합니다. 가장 중요한 것은 Astra는 19달러부터 시작하는 WordPress의 개인 블로그에도 매우 저렴하다는 것입니다. CMS와 같은 WordPress용으로 특별히 제작된 Astra는 심각한 사고로부터 사용자를 보호할 수 있습니다. 지금 Astra 데모를 받으십시오!