[ 실습 목표 ]
Run your own JavaScript in another user's browser, use this to steal the cookie of a logged in user.
자바스크립트를 실행하여 로그인 한 유저의 브라우저를 통해서 해당 유저의 쿠키를 탈취하는 것이 실습의 목표이다!
[ 실습 화면 ]
- 언어를 선택하는 초기화면이다.
- 언어를 선택하고 Select 버튼을 눌러보았다.
- 페이지의 URL 의 파라미터가 변경되는 것을 볼 수 있다.
- 해당 URL 에 스크립트 태그를 삽입해보았다.
- 아무 일도 일어나지 않았다. 당연하다 이게 발생하면 Low 레벨과 다를 것이 없다.
- 소스 코드를 한번 살펴보자!
- 문자열 비교를 통해서 스크립트 태그를 필터링하는 것을 볼 수 있다.
- 하지만 스크립트 태그로만 XSS 공격이 가능한 것이 아니다.
- img 태그의 onerror 을 이용할 수 있다. -> 이미지 로딩이 실패하면 onerror 의 이벤트를 실행한다.
- 한번 예제 코드를 작성해보고 URL 대입 해 보았다.
- 아무런 일도 발생하지 않았지만 location: ?default=English 가 실행되지 않았다.
- 개발자 도구로 소스 코드를 살펴보니 Select 태그 안에 삽입된 것을 볼 수 있다.
- 앞에 Select 닫는 태그를 삽입하며 다시 시도해보았다.
- 정상적으로 실행된 것을 볼 수 있다.
- 이렇게 정상적으로 태그가 삽입된 것을 볼 수 있다.
- 브라우저에 저장된 쿠키를 팝업으로 출력하는 것이 성공했다.
- 이를 이용하여 피싱 메일을 보내고 쿠키를 탈취하는 것도 가능하다.
- 위와 같은 태그를 gmail 을 통해 Link 라는 텍스트에 삽입하고 전송했다 -> 저 문자들은 인코딩 문자이다.
- 해당 링크를 누르면 정상적으로 스크립트가 동작되는 것을 확인할 수 있다.
'TeamH4C' 카테고리의 다른 글
[빡공팟 5기] W6 : DVWA 실습 - Stored Cross Site Scripting (medium) (0) | 2022.10.30 |
---|---|
[빡공팟 5기] W6 : DVWA 실습 - Reflected Cross Site Scripting (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - Weak Session IDs (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - SQL Injection(Blind) (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - SQL Injection (medium) (0) | 2022.10.30 |