본문 바로가기

Security/Hacking & Security

[보안 해킹] 홈페이지 보안 취약점 - 권한 인증 취약점(파라미터/URL 변조)

[보안 해킹] 홈페이지 보안 취약점 - 권한 인증 취약점(파라미터/URL 변조)



■ 취약점 설명 및 사례

    ⑴ 취약점 설명

        - 웹 어플리케이션 상에서 모든 실행경로에 대해서 접근제어를 검사하지 않거나 불완전하게 검사하는 경우, 공격자가 접근 가능한 실행경로를 통해 정보를 유출할 수 있는 취약점


    ⑵ 사례

        ① OO기관 홈페이지는 로그인 없이, 파라미터 값을 변경해서 관리자 게시물이나 타인의 게시물에 대한 수정모드가 가능하고, 같은 방식으로 비밀 글 열람도 가능


■ 점검 방법

    ⑴ 프록시 기능을 통해 파라미터 값을 조작하여 인증 우회 시도

        ① 일반 회원으로 로그인


        ② 공지사항(관리자 권한) 글쓰기 시도



        ③ 글쓰기 시 프록시 기능을 통해[login_id] 파라미터 확인



        ④ [login_id] 의 파라미터 값을 [admin] 으로 변경 후 전송



        ⑤ 운영자 권한으로 글쓰기 가능



    ⑵ URL 을 조작하여 타 사용자의 게시글 수정

        ① 일반 회원으로 로그인


        ② 운영자의 글 수정 시도



        ③ 열람페이지 URL(m_view.php) 를 수정페이지 URL(m_modify.php) 로 변경



        ④ 권한 없이 수정 페이지에 접근 및 성공



        ⑤ 결과(운영자 공지사항 수정 성공)



    ⑶ 프록시 기능을 통해 파라미터를 조작하여 게시판의 추천하기 기능 조작

        ① 게시판의 [추천하기] 기능 확인



        ② 추천 시 프록시 기능을 통해 [ps_vote] 파라미터 확인



        ③ [ps_vote] 의 파라미터 값 "1000"으로 변경 후 [forward] 클릭



        ④ 결과(추천 수 [1000]으로 조작 성공)




■ 대응 방안

    ⑴ 홈페이지 개발 보안 조치

        ① 홈페이지 중 중요한 정보가 있는 페이지(계좌이체 등)는 재 인증 적용

        ② 홈페이지 소스코드 에는 안전하다고 확인된 라이브러리나 프레임워크 (OpenSSL이나 ESAPI의 보안 기능 등)를 사용

        ③ 응용프로그램이 제공하는 정보와 기능을 역할에 따라 배분함으로써 공격자에게 노출되는 공격노출면(attack surface) 최소화


※ 홈페이지 개발 보안 방안 - URL/파라미터 변조를 참조, 소스코드를 수정하여 보안취약점을 조치하시길 바람




※ 문의 사항은 메일 : jyuhm@sntkor.com 이나 070-8611-4853


문의 사항 남기기