본문 바로가기

web/웹 해킹 및 보안

OWASP 취약점 정리(3/10) XSS


웹 취약점 종류(OWASP TOP 10)

1. 어떤 상황에서 이 취약점이 발생하는지

2. 어떻게 공격 해야하는지

3. 취약점이 미치는 영향

 

1. OWASP?

Open Web Application Security Project의 약자이다.

OWASP란 오픈소스 웹 애플리케이션 보안 프로젝트로주로 웹에 관한 정보노출,

악성 파일 및 스크립트보안 취약점 등을 연구한다.



2-3) Cross-site Scripting (XSS)


크로스 사이트 스크립팅이란 신뢰 할 수 없는 데이터를 적절한 검증이나 제한 없이 웹 브라우저로 보낼 때 발생하며 공격자가 피해자의 브라우저에 스크립트를 실행하여 사용자 세션 탈취, 웹 사이트 변조, 악의적인 사이트로 이동하게 하는 할 수 있는 취약점이다.


 

2-3-1) 예제코드

일단 xss 란 피해자의 브라우저에 스크립트를 실행해야 한다.

그것을 확인 하기 위해서는 간단한 알림 메시지 코드로 xss가 가능한지 파악한다.

Xss 취약점은 브라우저에서 html 문서를 해석 할 때 내가 고의로 입력한 script문을 정상적인 script 문으로 인식 하게 하여 발생하는 취약점이라고 생각한다.

(작성)



(코드 소스보기)




이런 식으로 정상적으로 script 문이 작동 했다면, xss를 실습 해 볼 수 있다.


2-3-1) xss 악의적인 페이지로 이동


script 문을 이렇게 작성하게 되면 원하는 사이트로 이동 시킬 수 있다

작성한다.

<script>document.location=””</script> 구문은 “”안에 있는 페에지로 이동 하게 하는

Script 구문이다.

 

(작성한 후 웹 페이지 소스 코드 보기)

(https:// 에서 s 를 빼줘야함)



정상적으로 www.naver.com 으로 이동하였다.

만약 악의적인 싸이트를 만들어놓는다면 naver 주소 대신에 넣어주면 그 페이지로 이동하여 피해가 발생 할 것이다.

 

2-3-2) xss 세션 하이제킹



이를 이용하여 script 문으로 사용자의 쿠키(세션) 정보를 내 서버에 get 방식으로 전달 하게 합니다. 


사용자가 게시글을 읽게 되면 내 서버에있는 aaaa.php로 사용자의 쿠키를 전달 할 것이다.


그 후 aaa.php에서 쿠키정보를 txt 파일로 저장시키면 아래와 같이 세션 아이디를 탈취 할 수 있다.




영향

공격자는 사용자 세션 하이재킹, 웹사이트 변조, 공격자 콘텐츠 삽입, 사용자 리디렉션, 악성코드를 사용한 사용자 브라우저를 하이재킹하기 위하여 피해자 브라우저에서 스크립트를 실행 할 수 있다.