본문 바로가기
Bug Bounty/CVE-ID

Wordpress Bugbounty

by m_.9m 2023. 7. 24.

 

CVE 목록


CVE-ID 취약점 설명 종류 URL
CVE-2023-25961 WordPress Darcie Theme <= 1.1.5 is vulnerable to Cross Site Scripting (XSS) Reflected XSS https://patchstack.com/database/vulnerability/darcie/wordpress-darcie-theme-1-1-5-cross-site-scripting-xss-vulnerability
CVE-2023-25965 WordPress Upload Resume Plugin <= 1.2.0 is vulnerable to Sensitive Data Exposure Sensitive Data Exposure https://patchstack.com/database/vulnerability/resume-upload-form/wordpress-upload-resume-plugin-1-2-0-sensitive-data-exposure-vulnerability
CVE-2023-29384 WordPress Job Board and Recruitment Plugin – JobWP Plugin <= 1.8 - File Upload File Upload
CVE-2023-28988 WordPress Direct checkout, Add to cart redirect for Woocommerce Plugin <= 2.1.48 is vulnerable to Cross Site Scripting (XSS) Stored XSS https://patchstack.com/database/vulnerability/add-to-cart-direct-checkout-for-woocommerce/wordpress-direct-checkout-add-to-cart-redirect-for-woocommerce-plugin-2-1-48-cross-site-scripting-xss-vulnerability
CVE-2023-25992 WordPress CM Answers Plugin <= 3.1.9 is vulnerable to Cross Site Scripting (XSS) Stored XSS https://patchstack.com/database/vulnerability/cm-answers/wordpress-cm-answers-plugin-3-1-9-cross-site-scripting-xss-vulnerability
CVE-2023-29423 WordPress Cancel order request WooCommerce Plugin <= 1.3.2 is vulnerable to Cross Site Scripting (XSS) Stored XSS https://patchstack.com/database/vulnerability/cancel-order-request-woocommerce/wordpress-cancel-order-request-woocommerce-plugin-1-3-2-cross-site-scripting-xss-vulnerability
CVE-2023-29170 WordPress Product Enquiry for WooCommerce Plugin <= 2.2.12 is vulnerable to Cross Site Scripting (XSS) Stored XSS https://patchstack.com/database/vulnerability/enquiry-quotation-for-woocommerce/wordpress-product-enquiry-for-woocommerce-plugin-2-2-12-cross-site-scripting-xss-vulnerability
CVE-2023-29094 WordPress Product page shipping calculator for WooCommerce Plugin <= 1.3.20 is vulnerable to Cross Site Scripting (XSS) Stored XSS https://patchstack.com/database/vulnerability/product-page-shipping-calculator-for-woocommerce/wordpress-product-page-shipping-calculator-for-woocommerce-plugin-1-3-20-cross-site-scripting-xss-vulnerability
CVE-2023-29093 WordPress Conditional extra fees for woocommerce Plugin <= 1.0.96 is vulnerable to Cross Site Scripting (XSS) Stored XSS https://patchstack.com/database/vulnerability/conditional-extra-fees-for-woocommerce/wordpress-conditional-extra-fees-for-woocommerce-plugin-1-0-96-cross-site-scripting-xss-vulnerability
CVE-2023-28991 WordPress Order date time for WooCommerce Plugin <= 3.0.19 is vulnerable to Cross Site Scripting (XSS) Stored XSS https://patchstack.com/database/vulnerability/pi-woocommerce-order-date-time-and-type/wordpress-order-date-time-for-woocommerce-plugin-3-0-19-cross-site-scripting-xss-vulnerability

 

리뷰


(1) XSS의 경우 간단한 Adminstrator의 관리자 페이지에서 발생하는 XSS도 CVE ID가 발급되기 때문에 대부분 필터링 로직을 신경쓰지 않은 플러그인들에서 발생이 가능하다.

또한 테마에서 로직에 필터링을 누락시켜 XSS 포인트를 발견할 수 있었다.

(2) 민감한 정보 노출의 경우 아래 PoC 목록 내의 내용처럼 Apply 관련해 직업, 학교 관련 플러그인들 중 파일명을 난독화 시키지 않고 그대로 저장, 디렉토리 접근이 가능한 경우 민감한 정보가 담긴 파일을 발견할 수 있었다.

(3) 파일 업로드의 경우 보통 필터링이 잘 되어있어 비인기 플러그인 중 로직이 누락되어 있는 플러그인을 발견할 수 있었다. 보통 이중 확장자나 패킷 변조로 간단하게 우회가 되는 경우가 아니면 발견이 어렵다고 생각이 든다.

 

참고 PoC 목록


1. XSS

  1. Stored XSS
  1. reflected XSS
  • GET 방식의 파라미터 전송에서 XSS가 가능한 경우
    • print_url=%2522%253E%253Cscript%253Ealert%28document.domain%29%253C%252Fscript%253E%253Cp%252Bid%253D 이중 인코딩을 사용해서 XSS가 허용된 경우
    • 관리자 이상의 권한으로 발생하는 XSS도 인정
    • WP 테마에서 추가적으로 검색에 관한 기능을 취약하게 개발했을 시 발생할 수 있음

SQLI

  • URL의 GET 파라미터에서 취약점이 발생
  • sleep(10) 으로 취약점 판별
    • wp_user_id=1+AND+(SELECT+7394+FROM+(SELECT(SLEEP(5)))UrUZ)

2. 인가/인증

  1. Sensitive Data Exposure
    1. 권한이 없는 사용자가 민감한 정보를 열람하는 경우(Simple Jop Board 과거 CVE: 권한이 없는 사용자가 이력서를 경로로 열람 가능)
    2. 우측 예시와 같이 플러그인 디렉토리내 중요정보가(ex.이력서)가 저장되는지 확인
    3. (경로: http://localhost:8088/w/wp-content/plugins/droit-dark-mode/)
    4. 업로드 목록 내 중요정보가(ex.이력서)가 저장되는 지 확인

3. 테마 취약점

다른 CVE 예시

Ex) ThemeMaker의 여러 테마를 사용하면 원격 공격자가 /wp-content/uploads/tmm_db_migrate/wp_users.dat 파일에 대한 직접 요청을 통해 민감한 정보(예: user_login, user_pass 및 user_email 값)를 얻을 수 있습니다.

EX) /wp-content/themes/Grimag/go.php?https://example.com → 오픈 리디렉션

4. Openredir 확인

소스코드를 살필때 redirect 등의 키워드로 공격포인트가 있는지 확인

https://guleum-zone.tistory.com/77

5. SQL Injection

소스 코드 내 공격 포인트(쿼리) 검색

  • 경로

C:\xampp\htdocs\w\wp-content\themes

C:\xampp\htdocs\w\wp-content\plugins

esc_sql → 99%의 경우 $wpdb->prepare()를 대신 사용이 가능.

6. PHP 파일 업로드

PHP: .php, .php2, .php3, .php4, .php5, .php6, .php7, .phps, .phps, .pht, .phtm, .phtml, .pgif, .shtml, .htaccess, .phar, .inc, .hphp, .ctp, .module

Working in PHPv8: .php, .php4, .php5, .phtml, .module, .inc, .hphp, .ctp