Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
trellis-cve-2018-6389 — CVE-2018-6389 WordPress load-scripts / load-styles 공격 완화 | Kitploit
도구/GitHubGitHub/itinerisltd/trellis-cve-2018-6389
Defensive ToolsVulnerability AnalysisConfiguration AuditingWeb SecurityDevSecOpsMisconfigurationArchived
GitHubitinerisltd/trellis-cve-2018-6389

trellis-cve-2018-6389

CVE-2018-6389 WordPress load-scripts / load-styles 공격 완화

저장소 보기
137년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

trellis-cve-2018-6389

GitHub tag license

CVE-2018-6389 WordPress load-scripts / load-styles 공격 완화

  • 목표
  • 이유?
  • 완화 방법
  • 왜 안 되는가?
  • 요구 사항
  • 설치
    • Trellis
    • WordPress
  • FAQ
    • 관리형 호스팅에서 사용할 수 있나요?
    • 멋져요. 이런 좋은 자료를 더 어디서 찾을 수 있나요?
    • 이건 wp.org에 없네요. ⭐️⭐️⭐️⭐️⭐️ 리뷰는 어디서 할 수 있나요?
  • 대안
  • 테스트
    • 구문 검사
  • 작성자 정보
  • 피드백
  • 변경 로그
  • 라이선스

목표

Nginx로 wp-admin/load-scripts.php 및 wp-admin/load-styles.php에 대한 모든 요청을 차단합니다.

이유?

  • 전 세계 웹사이트의 29%를 DoS하는 방법 - CVE-2018-6389

TL;DR

WordPress는 load-scripts.php(JS용) 또는 load-styles.php(CSS 파일용)를 사용하며, 브라우저는 단일 요청을 통해 여러 JS/CSS 파일을 받게 됩니다. 따라서 성능 측면에서 이렇게 하는 것이 더 좋고 페이지 로딩 속도가 빨라집니다. 이 기능은 관리자 페이지용으로만 설계되었지만 wp-login.php 페이지에서도 사용되므로, 이 파일들에는 인증이 적용되지 않습니다.

-- 전 세계 웹사이트의 29%를 DoS하는 방법 - CVE-2018-6389

root@kitploit:~
# 예시
https://example.com/wp/wp-admin/load-scripts.php?c=1&load[]=jquery-ui-core,iris,wp-color-picker,dashboard,list-revision,media-grid,media,image-edit,set-post-thumbnail,nav-menu,custom-header,custom-background,media-gallery,svg-painter,wp-fullscreen-stu,wp-ajax-response,wp-api-request,wp-pointer,autosave,heartbeat,wp-auth-check

# https://example.com/wp/wp-admin/load-styles.php도 동일

단일 요청(인증 불필요)으로 서버가 180회 이상의 IO 읽기를 수행하고 모든 파일을 연결하여 4MB가 넘는 응답을 보낼 수 있습니다. 적절한 방화벽과 속도 제한이 없는 소규모 서버에서는 DoS 공격을 수행하기에 충분합니다.

완화 방법

  1. HTTPS를 반드시 사용해야 합니다. 그렇지 않다면 애초에 웹사이트를 운영해서는 안 됩니다.
  2. HTTPS를 사용한다면 HTTP/2를 사용하지 않을 이유가 없습니다.
  3. HTTP/2에서는 파일을 연결할 필요가 없습니다. 오히려 안티 패턴입니다.

-- CVE-2018-6389 완화 방법 – WordPress에서 load-scripts.php DoS "공격"

  • WordPress가 JS 및 CSS 파일을 연결(concatenation)하지 않도록 설정
  • load-scripts.php 및 load-styles.php에 대한 모든 요청 차단

왜 안 되는가?

  • 이 reddit 스레드의 otto4242의 모든 댓글
  • 이 wp.org 스레드의 wfalaa(Wordfence 작성자)의 댓글

요구 사항

  • Trellis 17c26fc 이상
  • Ansible v2.6 이상

설치

Trellis

이 역할을 requirements.yml에 추가하세요:

root@kitploit:~
# requirements.yml

- src: https://github.com/ItinerisLtd/trellis-cve-2018-6389
  version: 0.1.0 # 최신 버전 확인!

명령어 실행:

root@kitploit:~
➜ ansible-galaxy install -r requirements.yml --force

dev.yml 및 server.yml의 role: wordpress-setup 바로 뒤에 역할을 추가하세요:

root@kitploit:~
roles:
  # 기타 Trellis 역할들 ...
  - { role: wordpress-setup, tags: [wordpress, wordpress-setup, letsencrypt] }
  - { role: trellis-cve-2018-6389, tags: [nginx, wordpress, wordpress-setup] }
  # 기타 Trellis 역할들 ...

그런 다음 평소처럼 다시 프로비저닝하세요:

root@kitploit:~
# https://roots.io/trellis/docs/local-development-setup/
➜ vagrant reload --provision

# https://roots.io/trellis/docs/remote-server-setup/
➜ ansible-playbook server.yml -e env=<environment>

WordPress

연결(concatenation) 비활성화:

root@kitploit:~
# config/application.php 또는 wp-config.php 또는 동등한 파일

# 일반 또는 오래된 Bedrock:
define('CONCATENATE_SCRIPTS', false);

# roots/wp-config를 사용하는 Bedrock:
Config::define('CONCATENATE_SCRIPTS', false);

그런 다음 평소처럼 배포하세요:

root@kitploit:~
# https://roots.io/trellis/docs/deploys/
➜ ./bin/deploy.sh <environment> <domain>

# 또는
➜ ansible-playbook deploy.yml -e "site=<domain> env=<environment>"

FAQ

관리형 호스팅에서 사용할 수 있나요?

아니요, Kinsta나 WP Engine 같은 관리형 호스팅에서는 사용할 수 없습니다.

이런 종류의 공격을 완화하는 것은 호스팅 회사의 책임입니다.

멋져요. 이런 좋은 자료를 더 어디서 찾을 수 있나요?

  • Itineris 블로그의 글
  • Itineris GitHub 프로필의 더 많은 프로젝트
  • 트위터에서 @itineris_ltd와 @TangRufus 팔로우
  • Itineris에 의뢰하여 멋진 사이트 구축

이건 wp.org에 없네요. ⭐️⭐️⭐️⭐️⭐️ 리뷰는 어디서 할 수 있나요?

고맙습니다! 마음에 드시니 다행입니다. 제 상사에게 누군가 이 프로젝트를 사용하고 있다는 것을 알리는 것이 중요합니다. wp.org에 리뷰를 남기는 대신 다음을 고려해 주세요:

  • @itineris_ltd를 언급하며 좋은 트윗
  • 이 GitHub 저장소에 별표(star) 추가
  • 이 GitHub 저장소 워치(watch)
  • 블로그 포스트 작성
  • 풀 리퀘스트 제출
  • Itineris에 의뢰

대안

  • CVE-2018-6389 완화 방법 – WordPress에서 load-scripts.php DoS "공격"

테스트

구문 검사

root@kitploit:~
➜ ansible-playbook -i 'localhost,' --syntax-check tests/test.yml

작성자 정보

trellis-cve-2018-6389는 Itineris Limited의 프로젝트로, Tang Rufus가 만들었습니다.

이 프로젝트를 가능하게 해준 Trellis의 Roots 팀에게 특별히 감사드립니다.

전체 기여자 목록은 여기에서 확인할 수 있습니다.

피드백

피드백을 보내주세요! 이 라이브러리를 최대한 많은 프로젝트에서 유용하게 사용할 수 있도록 만들고 싶습니다. 이슈를 제출하여 마음에 드는 점과 그렇지 않은 점을 알려주시거나, 프로젝트를 포크하여 제안해 주세요. 작은 이슈라도 괜찮습니다.

변경 로그

최근 변경 사항에 대한 자세한 내용은 CHANGELOG를 참조하세요.

라이선스

trellis-cve-2018-6389는 MIT 라이선스 하에 배포됩니다.

도구 다운로드