Web Hacking

Chapter 10 반사된 XSS 취약점 GET, POST 실습

gayeon_ 2022. 9. 19. 23:48

 

 

'반사된 XSS'는 웹 페이지 URL에 존재하는 파라미터에 악의적인 스크립트 코드를 입력해 사용자가 URL을 클릭하면 파라미터에 입력한 악성 스크립트 코드가 실행되게 하는 공격이다.

 

스크립트 코드가 포함된 URL을 사용자가 클릭하도록 유도해 공격한다.

 

이 취약점은 사용자들이 알아내기 쉽다

또한 일부 브라우저에서 악의적인 스크립트에 대응하고 있어 저장된 XSS보다 위협이 적다

 

1) 스크립트 코드가 포함된 URL을 메일로 전송 또는 게시물로 등록

2) 사용자가 URL을 클릭하면 악성 스크립트 코드가 실행된다

 

 

 

 

<script>alert('Succeed');</script>

실습 페이지에 XSS 취약점이 있는지 알아보기 위해 First name 입력란에 위의 스크립트 코드를 입력해주었다.

Last name 입력란에는 아무 값을 넣어주었고 로그인을 하면 

'Succeed' 메시지가 경고창으로 출력된다.

 

 

 

POST 메소드를 사용해 HTTP 연결 요청을 하는 페이지로 실습해보았다.

아까와 동일하게 XSS 취약점이 있는지 알아보기 위해 First name 입력란에 스크립트 코드를 입력해주었고

Last name 입력란에는 아무 값을 넣어 로그인했다.

'Succeed' 경고창을 확인할 수 있었다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

<script>alert(document.cookie)</script>

위의 스크립트 코드를 First name 입력란에 넣어주고 Last name 입력란은 비우니

두 입력란을 모두 채우라는 오류 메시지를 확인할 수 있었다.

 

 

 

 

Last name을 입력하고 다시 시도해보니 쿠키값이 출력된다

 

 

 

 

<script>alert(String.fromCharCode(83, 117, 99, 99, 101, 101, 100, 33))</script>

위 스크립트 코드를 입력해준 뒤 다시 시도해보니 Succeed 메시지를 확인할 수 있었다.