이전에 MyBulletinBoard로 알려진 MyBB는 PHP 및 My SQL을 기반으로 하는 무료 오픈 소스 포럼 소프트웨어입니다. 최근에 버전 1.8.20 이하에서 중요한 XSS(Cross-Site Scripting) 및 RCE(Remote-code Execution)에 취약한 것으로 밝혀졌습니다. 이 때문에 포럼에서 사용자 계정만 보유한 모든 악의적인 요소는 관리자에게 악의적인 비공개 메시지를 보내거나 악의적인 게시물을 작성하여 모든 게시판을 가로챌 수 있습니다.
원인에 따른 취약점
다음은 MyBB의 주요 원인인 취약점입니다.
게시물 및 개인 메시지의 구문 분석 오류
첫 번째는 JavaScript를 감지하지 못하는 부적절한 구문 분석 오류입니다. 따라서 대상 포럼의 악의적인 행위자가 관리자에게 악성 JavaScript 코드가 포함된 비공개 메시지를 보내면 보안을 우회합니다. 또한 이 취약점은 관리자가 메일을 여는 것 외에는 아무 것도 필요하지 않습니다. 해커가 보드를 완전히 제어하기 위해 다른 조치가 필요하지 않습니다. 공격자는 PM을 열자마자 모든 사용자 계정, 개인 스레드 및 보드 데이터베이스에 저장된 메시지에 대한 전체 액세스 권한을 얻습니다.
원격 코드 실행 취약점
MyBB 포럼의 두 번째 취약점은 저장된 RCE(원격 코드 실행)입니다. 그러나 관리자 권한이 있는 사람만 악용할 수 있습니다. 그러나 개인 메시지의 구문 분석 오류로 인해 해커가 웹 사이트를 원격 제어하고 데이터베이스에 악성 PHP 코드를 저장할 수 있습니다.
웹사이트가 해킹당했습니까? 지금 Astra의 PHP 악성코드 스캐너를 확인하세요
기술적 세부사항
'파싱'이라는 용어는 문자열 분석을 의미합니다. 기본적으로 파싱은 사용자 입력을 삭제하고 이를 mycodes로 변환합니다. 또는 bbcode . 또한 bbcode는 이미지, 링크 및 동영상을 게시물에 삽입하는 포럼 고유의 방법입니다.
구문 분석은 모든 HTML 태그와 큰따옴표를 생략하는 것으로 시작됩니다. 그런 다음 bbcode를 iframe으로 변환합니다.
그러나 bbcode가 다른 단계에서 HTML 마크업으로 변환되었다는 사실 때문에 [url] bbcode는 HTML 마크업과 큰따옴표로 변환하여 iframe의 src를 손상시킵니다. 그리고 이 결과가 렌더링됩니다.
취약점이 존재하지 않았다면 다른 bbcode 내에 bbcode를 삽입하는 것이 불가능했을 것입니다. 그러면 onload
이 됩니다. <iframe>
에 삽입되는 이벤트 핸들러 꼬리표. 이 이벤트 핸들러는 iframe 내의 페이지가 로드되는 즉시 트리거되므로 악성 JavaScript 코드를 트리거하기 위해 사용자 상호 작용이 필요하지 않습니다.
웹사이트가 해킹당했습니까? 지금 Astra의 PHP 악성코드 스캐너를 확인하세요
최신 버전으로 업데이트
MyBB는 버전 1.8.21의 취약점을 패치했습니다. 이 버전으로 업데이트하는 것이 바로 취할 수 있는 조치입니다. 또한 이러한 공격의 희생자가 되지 않도록 하십시오. 웹 애플리케이션 방화벽을 설치합니다. 웹 애플리케이션 방화벽은 웹사이트에 대한 지속적인 모니터링 시스템과 추가 보호 기능을 제공합니다.
Astra Firewall은 XSS, SQLi, CSRF, 불량 봇, OWASP 상위 10개 및 100개 이상의 기타 사이버 공격으로부터 웹사이트를 보호하는 방화벽 중 하나입니다. Astra 대시보드는 다음과 같습니다.
지금 Astra 데모를 받으십시오!