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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-27632 — CVE-2024–27632 참조 | Kitploit
도구/GitHubGitHub/ally-petitt/cve-2024-27632
Vulnerability AnalysisWeb SecurityCryptographyPapers & ResearchLearning & Education
GitHubally-petitt/cve-2024-27632

CVE-2024-27632

CVE-2024–27632 참조

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-27632 취약점 세부 정보

개요

Savane v3.12 및 이전 버전에서는 교차 사이트 요청 위조(CSRF) 보호 토큰(form_id)을 생성하는 데 사용되는 의사 난수 생성기(PRNG)의 시드로 Unix 타임스탬프가 사용됩니다. 그 결과, 공격자는 피해자 사용자에게 할당된 것과 동일한 유효한 CSRF 토큰을 독립적으로 생성할 수 있게 되어 CSRF 검사를 통과하고 CSRF 공격을 성공시킬 수 있습니다. CSRF 공격의 영향에는 권한 상승과 계정 탈취가 포함됩니다.

CWE 분류: CWE-335: 의사 난수 생성기(PRNG)에서 시드의 잘못된 사용

보고자: Ally Petitt

영향받는 제품: Savane

영향받는 버전: 3.12 및 이전 버전

기술적 세부 사항

form_id가 생성되기 전에 utils_srand()이 호출됩니다. 그런 다음 생성된 form_id는 PHP의 PRNG에 의해 생성된 값의 MD5 해시로 만들어집니다.

frontend/php/include/form.php:61

root@kitploit:~
  if (!$form_id)
    {
      utils_srand ();
      $form_id = md5 (mt_rand (0, 1000000));
    }

아래 코드 블록에서 볼 수 있듯이 utils_srand()은 Unix 타임스탬프를 반환하는 microtime()에 1,000,000을 곱한 값을 시드로 사용하는 함수로 정의됩니다.

도구 다운로드

frontend/php/include/utils.php:969

root@kitploit:~
function utils_srand ()
{
  mt_srand ((int)((double)microtime () * 1000000));
}

그 결과, 예측 가능한 값인 Unix 타임스탬프가 보안에 중요한 의사 난수를 생성하는 데 사용됩니다. 사용자의 토큰이 생성된 시간은 공격자가 추측하거나 유발할 수 있으므로, 공격자는 유효한 타임스탬프를 얻어 유효한 CSRF 토큰을 제작하는 데 사용할 수 있습니다.

검증 단계

이 단계들은 타임스탬프를 아는 것만으로도 유효한 토큰을 독립적으로 생성하기에 충분하다는 것을 입증하는 것을 목표로 합니다. 실제 공격 전략에서는 올바른 토큰 생성 타임스탬프를 추론하기 위해 추가적인 창의성이 필요할 수 있습니다.

  1. form_id를 생성하는 Savane 웹페이지를 방문하십시오.
  2. 해당 페이지를 방문한 Unix 타임스탬프를 기록해 두십시오.
  3. $RECORDED_UNIX_TIME을 기록된 시간으로 바꾸고 다음 PHP 스크립트를 실행하십시오. 생성된 값이 서버가 웹페이지를 처음 방문했을 때 반환한 form_id와 일치하는지 확인하십시오.
root@kitploit:~
<?php
mt_srand ((int)((double)$RECORDED_UNIX_TIME* 1000000));
echo md5 (mt_rand (0, 1000000));
?>

완화 조치

Savane 버전 3.13 이상으로 업그레이드하십시오. 패치는 여기에서 확인할 수 있습니다.