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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2020-28874 — CVE-2020-28874 | Kitploit
도구/GitHubGitHub/varandinawer/cve-2020-28874
Privilege EscalationPassword AttacksVulnerability AnalysisExploitationWeb Application ExploitationPenetration Testing
GitHubvarandinawer/cve-2020-28874

CVE-2020-28874

CVE-2020-28874

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

이 저장소는 ProjectSend r1270 릴리스에서 발견된 취약점(CVE-2020-28874)에 대한 설명을 포함합니다.

저를 발전시키도록 독려해 준 Entelgy Innotec Security 동료들에게 감사드립니다!

CVE-2020-28874: 권한 상승

설명

취약점은 비밀번호 재설정 구성 요소에 있습니다. 공격자는 유효한 토큰 없이도 admin과 같은 알려진 사용자의 사용자 이름만으로 해당 사용자의 비밀번호를 변경할 수 있습니다.

이는 백엔드가 제공된 사용자 이름에서 로드된 사용자 데이터로 $user_data를 정리하지 않기 때문에 가능합니다.

root@kitploit:~
 if (!empty($_GET['token']) && !empty($_GET['user'])) {
        $got_token	= $_GET['token'];
        $got_user	= $_GET['user'];

        /**
         * Get the user's id
         */
        $user_data = get_user_by_username($got_user);
        ....
        }

그리고 해당 변수의 상태를 사용하여 비밀번호 재설정 프로세스를 계속 진행합니다.

root@kitploit:~
    if ($_POST) {
        /**
         * Clean the posted form values.
         */
        $form_type = encode_html($_POST['form_type']);
        
        switch ($form_type) {
        ----
            case 'new_password':
                if (!empty($user_data['id'])) {
                    $reset_password_new = $_POST['password'];
                    ...
                }
        ...
        }

공격

이를 위해 공격자는 잘못된 "token" 매개변수와 쿼리 문자열에 대상 사용자 이름을 담은 "user" 매개변수를 포함하는 POST 요청을 구성해야 합니다. 또한 본문에는 "form_type"을 "new_password"로, "password"에는 원하는 새 비밀번호를, csrf_token에는 유효한 토큰(로그인 폼에서 가져온 값, 비밀번호 재설정 폼은 이를 제공하지 않음)을 추가해야 합니다.

이 저장소에는 취약점을 악용하는 파이썬 스크립트와 이를 테스트하기 위한 도커 컨테이너가 포함되어 있습니다.

사용법

root@kitploit:~
git clone https://github.com/varandinawer/CVE-2020-28874_CVE-2020-28875.git
cd ./CVE-2020-28874_CVE-2020-28875/docker-r1270
docker-compose up 
#To finish the process of ProjectSend installation, go to http://localhost in the browser and follow the indication to setup an admin account
cd .. 
python CVE-2020-28874.py --url http://localhost --user admin --pwd newAdminP4ssword*

수정

버전 r1295 이상으로 업그레이드하세요.

도구 다운로드