웹취약점/그누보드

취약점점검- 크로스사이트 리퀘스트 변조(CSRF)

CrongBoss 2021. 1. 20. 10:27

크로스사이트 리퀘스트 변조(CSRF) 란?

웹 어플리케이션에서 정상적인 경로를 통한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작된 요청을 전송 하도록 하여 게시판 설정 변경 및 자동 댓글, 회원 등급 변경 등의 문제가 발생할 수 있는 취약점

 

 

 

XSS공격: 단말기 즉, 클라이언트를 공격

CSRF공격: 서버측을 대상으로 하는 공격

 

 

 

CSRF공격은 서버측의 데이터를 변경시키게 되어 다른 사용자가 쓴 글을 지우거나, 앞에 예시와 같이 다른 사용자의 패스워드를 변경하는 등의 공격

 

취약점 개요

점검내용 ■ 사용자의 신뢰(인증) 정보의 변조 여부 점검
점검목적 ■ 사용자 입력 값에 대한 적절한 필터링 및 인증에 대한 유효성을 검증하여 신뢰(인증) 정보 내
    의 요청(Request)에 대한 변조 방지 
보안위협 ■ 사용자의 신뢰(인증) 정보 내에서 사용자의 요청(Request)을 변조함으로써 해당 사용자의 권
    한으로 악의적인 공격을 수행할 수 있음

 

점검대상 및 판단기준

대상 ■ 그누보드
판단기준 양호: 사용자 입력 값에 대한 검증 및 필터링이 이루어지는 경우
취약: 사용자 입력 값에 대한 필터링이 이루어지지 않으며, HTML 코드(또는 스크립트)를 입력하
       여 실행되는경우
조치방법 사용자 입력 값에 대해 검증 로직 및 필터링 추가 적용

점검 및 조치 방법

1) 게시판과 같은 서버에 저장 가능한 입력폼에 CSRF 구문을 삽입 한다

ID가 admin인 사용자의 PW를 1234로 변경

<iframe
src="https://test.co.kr/mempber.do?method=getUdate&vo.name=&vo.email=&vo.login_i
d=admin&searchVO.menu_sn=06&vo.password=cert1234&vo.re_password=cert
1234&vo.sector=6&vo.idFindQuestion=1&vo.idFindAnswer=&vo.pwFindQuestion=1&vo.
pwFindAnswer=" scrolling=no name=ce width=0 height=0 frameborder=0
style="border-idth:0px;"></iframe>

2) 필터링되어 스크립트가 작동이 되지 않는 것을 확인할 수 있음

 

※보안설정방법

-사용자가 입력하는 값에 대한 검증 로직 구현

-정상적인 리퀘스트와 비정상적인 리퀘스트를 구분할 수 있도록 Form/URL 에서 임의의 토큰을 추가하고 이 토큰을 검

 증하도록 설계

-HTML 이나 자바스크립트에 해당되는 태그 사용을 사전에 제한하고, 서버 단에서 사용자 입력 값에 대한 필터링 구현

-HTML Editor 사용으로 인한 상기사항 조치 불가 시, 서버 사이드/서블릿/DAO(Data Access Object) 영역에서 조치하도 

 록 설계

-XSS 조치 방안 참조

 

참고

www.kisa.or.kr/public/laws/laws3_View.jsp?cPage=6&mode=view&p_No=259&b_No=259&d_No=106&ST=T&SV=

 

기술안내서 가이드 < 관련법령·기술안내서 < 자료실 : 한국인터넷진흥원

기술안내서 가이드

www.kisa.or.kr