김승현

그누보드 취약점 분석 xss 5.3.1.7(관리자 이메일) 본문

그누보드 : 1-day 분석

그누보드 취약점 분석 xss 5.3.1.7(관리자 이메일)

kshind 2023. 11. 14. 18:56

기타 정보

더보기

실습 환경 : 5.3.1.7             (이후 버전도 가능함)

취약점 정보 : Cross Site Scripting(XSS)

간단 정리 :http://kshind1.dothome.co.kr/adm/config_form.php 경로 내 관리자 이메일에 악의적인 스크립트 삽입시 xss 실행

취약점 재연을 해보자.

취약점 재연

일단 adm/config_form.php에 접속해보자.

접속하면 관리자 페이지의 기본 환경 설정 페이지로 갈 수 있다. 여기서 관리자 메일 주소에 다른 값을 입력해보자.

아무 텍스트나 입력을 하면 이메일주소 형식이 아니라고 경고창이 뜬다. 이메일 양식인 @과 .을 입력해보자.

이런 식으론 당연하게 입력할 수 있다. 여기서 xss 스크립트를 입력해보자.

이런 앞에 강제로 태그를 닫고 xss 스크립트를 삽입했다.

"><img/src='x' onerror="alert(1)">@a.a

위와 같이 스크립트를 입력해보자.

이런 식으로 정상적으로 스크립트가 실행됐다.

 

코드 분석

            <td colspan="3">
                <?php echo help('관리자가 보내고 받는 용도로 사용하는 메일 주소를 입력합니다. (회원가입, 인증메일, 테스트, 회원메일발송 등에서 사용)') ?>
                <input type="text" name="cf_admin_email" value="<?php echo $config['cf_admin_email'] ?>" id="cf_admin_email" required class="required email frm_input" size="40">
            </td>

여기 입력받고 출력하는 곳에서 별다른 검증과정 없이 출력하기 때문에 xss 스크립트가 작동된다.