[보안 해킹] 홈페이지 보안 취약점 - 크로스 사이트 스크립트(XSS) 취약점

2016. 10. 14. 10:45·Security/Hacking & Security

[보안 해킹] 홈페이지 보안 취약점 - 크로스 사이트 스크립트(XSS) 취약점



■ 취약점 설명 및 사례

    ⑴ 취약점 설명

        - 페이지에 악의적인 스크립트를 포함시켜 웹페이지를 열람하는 접속자의 권한으로 부적절한 스크립트가 수행되어 정보유출 등의 공격을 유발할 수 있는 취약점



    ⑵ 사례

        ① OO대학은 게시판의 댓글 기능이 공개되어 있고 [HTML 편집기] 기능을 이용하여 스크립트 코드의 삽입이 가능



           - 삽입한 스크립트가 동작함



        ② OO대학의 아이디/학번 조회 URL에 스크립트를 삽입하면 스크립트가 동작함



■ 점검 방법

    ⑴ 취약점 설명

        - 글 쓰기 기능이 있는 게시판 및 검색란에 다음과 같은 스크립트 문장을 각각 입력하고 글 쓰기(또는 검색)를 시도


  XSS 점검 예)

  <script>alert('XSS 취약점 존재');</script> 

  '<embed src=http://cyber.go.kr/xss_test.swf></embed>



    ⑵ 글을 게시하는 중에 스크립트 태그 사용에 대한 "오류"나 "경고" 메시지가 발생하며 입력한 정보가 등록되지 않는다면 취약점 없음



    ⑶ 윈도우 경고창이 나타나지 않고 아래 그림과 같이 스크립트 문장이 입력한 내용과 같이 나타나면 취약점 없음



    ⑷ 윈도우 경고 창을 통해 1번 항목에서 입력한 문장인 XSS 취약점 존재 또는 'XSS&nbsp;취약점&nbsp;존재' 와 같은 형태의 팝업 경고창이 나타날 경우 XSS 취약점이 존재



    ⑸ 또한 아래 그림과 같이 검색란에 스크립트를 입력



■ 대응 방안

    ⑴ 웹 서버 내에서의 조치

        ① 웹 서버에서 입력 값에 정의된 문자 길이를 검증하여 javascript 등의 명령이 삽입되지 않도록 수정

        ② 웹 서버의 검증 치환 등의 과정은 서버 사이드 스크립트(Server Side Script)에서 구현하여 검증 치환 기능의 우회를 차단

            (검증 치환 등의 기능을 javascript 로 구현할 경우 우회 가능)

        ③ 웹 서버에서 HTML 형식의 입력이 불가피할 경우만 XSS 공격에 주로 사용되는 Tag 입력을 차단

        ④ 웹 서버는 사용자 입력 폼(로그인 폼, 검색 폼, URL 등)을 대상으로 특수문자, 특수구문 필터링 규칙 적용


필터링 대상

<

>

&lt;

&gt; 

 

javascript

eval

onmousewheel 

onactivae

onfocusin 

vbscript

innerHTML 

ondataavailable 

oncopy 

onfocusout 

expression

charset 

onafterprint 

oncut 

onhelp 

applet

document 

onafterupdate 

onclick 

onkeydown 

meta

string 

onmousedown 

onchange 

onkeypress 

xml

create 

onbeforeactivate 

onbeforecut 

onkeyup 

blink

append 

onbeforecopy 

ondblclick 

onrowsdelete 

link

binding 

ondatasetchanged 

ondeactivate 

onload 

style

alert 

onbeforedeactivate 

ondrag 

onlosecapture 

script

msgbox 

onbeforeeditfocus 

ongragend 

onbounce 

embed

refresh 

onbeforepaste 

ongragenter 

onmouseenter 

object

embed 

onbeforeprint 

ondragleave 

onmouseleave 

iframe

liayer 

onbeforeunload 

ondragover 

onbefore 

frame

applet 

onbeforeupdate 

ondragstart 

onmouseout 

framset

cookie 

onpropertychange 

ondrop 

onmouseover 

ilayer

javascript 

ondatasetcomplete 

onerror 

onmouseup 

layer

void

oncellchange 

onerrorupdate 

onresizeend 

bgsound

href 

onlayoutcomplete 

onfilterchange 

onabort 

title

on paste 

onmousemove 

onfinish 

onmoveend 

base

onstart 

oncontextmenu 

onfocus 

onmovestart 

onreset

onresize 

oncontrolselect 

onresizestart 

onrowenter 

onmove

onrowexit 

onreadystatechange 

onunload 

onsubmit 

onstop

onselect 

onselectionchange 

onselectstart 

onblur 


 

onrowsinserted 

 

 


        ⑤ 웹 서버의 취약점 조치를 완료한 후 위 과정을 다시 수행하여 XSS 취약점의 추가 존재 여부를 재점검


    ⑵ 홈페이지 개발 보안 조치

        ① 홈페이지 소스코드는 사용자가 입력한 문자열에서 <, >, &, ", " 등을 replace 등의 문자 변환 함수(혹은) Method)를 사용하여 &lt, &gt, &amp, &quot 로 치환

        ② 홈페이지 게시판 등에서 HTML 태그 허용 시 HTML 태그의 리스트(White List)를 선정한 후, 해당 태그만 허용하는 방식 적용


※ 기재될 홈페이지 개발 보안 방안 - 크로스사이트 스크립트를 참조, 소스코드를 수정하여 보안취약점을 조치하시길 바람




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


문의 사항 남기기

저작자표시 비영리 변경금지 (새창열림)

'Security > Hacking & Security' 카테고리의 다른 글

[보안 해킹] 홈페이지 보안 취약점 - 권한 인증 취약점(파라미터/URL 변조)  (0) 2016.10.17
[보안 해킹] 홈페이지 보안 취약점 - SQL Injection 취약점  (0) 2016.10.14
[보안 해킹] 홈페이지 보안 취약점 - 공개용 웹 게시판 취약점  (0) 2016.10.13
[보안 해킹] 홈페이지 보안 취약점 - 소스코드 내 중요정보 노출 취약점  (0) 2016.10.13
[보안 해킹] 홈페이지 보안 취약점 - 파일 업로드 취약점  (0) 2016.10.12
'Security/Hacking & Security' 카테고리의 다른 글
  • [보안 해킹] 홈페이지 보안 취약점 - 권한 인증 취약점(파라미터/URL 변조)
  • [보안 해킹] 홈페이지 보안 취약점 - SQL Injection 취약점
  • [보안 해킹] 홈페이지 보안 취약점 - 공개용 웹 게시판 취약점
  • [보안 해킹] 홈페이지 보안 취약점 - 소스코드 내 중요정보 노출 취약점
하늘이데아
하늘이데아
IT에 관한 모든 것들, 궁금한 사항은 언제든지 문의~^^ 선박 사이버 복원력(Cyber ​​Resilience)/서버/네트워크/보안/솔루션/SI, SM/컨설팅/전산 유지보수 전문입니다. 070-4432-2177 / jyuhm@ufeed.co.kr
  • 하늘이데아
    IT 보물창고
    하늘이데아
  • 전체
    오늘
    어제
    • 분류 전체보기 (305)
      • (주)에스엔티코리아 (11)
        • 컨설팅 (2)
        • 데이터 센터(IDC) (0)
        • Infra (0)
      • Infra (224)
        • Server 일반 (0)
        • 윈도우 서버 (96)
        • 리눅스 서버 (90)
        • 가상화 (0)
        • Unix (0)
        • Network 일반 (4)
        • CCNA CCNP CCIE (3)
        • L4 - L7(알테온, 파이오링크) (1)
        • 방화벽 IPS IDS 웹방화벽 (27)
        • Storage (0)
        • NAS (0)
        • Cloud (1)
        • PC 일반 (1)
        • 모바일 (0)
        • 스마트 워크 (0)
        • 부대시설 (0)
      • News (7)
        • IT (0)
        • 엔터테이먼트 (2)
        • 게임 리뷰 (0)
      • Security (47)
        • Server Security (0)
        • Network Security (3)
        • Hacking & Security (44)
        • Security Policy (0)
        • PC Security (0)
      • AI & IoT (0)
        • AI (0)
        • IoT (0)
        • Big Data (0)
        • Block Chain (0)
      • DBMS (1)
        • Oracle (0)
        • My-SQL (1)
        • MS-SQL (0)
        • PostgreSQL (0)
        • Mongo DB (0)
        • IBM DB2 (0)
        • MS Access (0)
        • Cassandra (0)
        • Maria DB (0)
        • Tibero (0)
      • 솔루션 (14)
        • Management System (0)
        • 전자칠판 (0)
        • Monitoring System (0)
        • Operating System (0)
        • Open Source (0)
        • Kubernetes & Docker (0)
        • ERP, 그룹웨어, CRM, PMS (0)
        • DRM, DLP, 보안 USB (0)
        • 문서 중앙화 (0)
        • 통합 소방방재 시스템 (1)
        • 반려동물 ICT (2)
        • Office 365 (기업 최적화), 컨설팅 (0)
        • 지능형 CCTV (0)
        • BMS 빌딩 통합관리 시스템 (0)
        • 재택근무 & 화상회의 시스템 (10)
        • Etc. (1)
      • 기획 Planning (1)
        • 전산기획 (0)
        • Design UI UX (1)
        • 회사생활 Mind (인사평가) (0)
      • Tip & Know How (0)
        • Office 365 (0)
  • 블로그 메뉴

    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    홈페이지
    리눅스
    IPS
    에스엔티코리아
    윈도우서버
    Security
    윈도우보안
    리눅스 파일 및 디렉토리 관리
    홈페이지_개발보안
    AIX 보안
    HP UX보안
    리눅스 보안
    보안취약점
    IT보물창고
    홈페이지취약점
    Cisco
    보안
    AIX보안
    SunOS 보안
    HP UX 보안
    서버보안
    리눅스보안
    SunOS보안
    방화벽
    SunOS
    VPN
    보안장비
    AIX
    서버관리
    서버
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
하늘이데아
[보안 해킹] 홈페이지 보안 취약점 - 크로스 사이트 스크립트(XSS) 취약점
상단으로

티스토리툴바