Web Language/Script L

XSS(Cross Site Scripting) 공격방법에 대해

해피마루 2022. 7. 6. 12:34
728x90
반응형

#XSS(Cross Site Scripting) 공격방법


1. Reflected/Stored/DOM 3가지 타입

 


1) Reflected XSS (Non-persistent XSS)
: 비지속적인 XSS을 의미
공격코드가 포함된 데이터를 url 파라미터 값으로 받아(get방식) 

전달하는 방식으로 공격 수행 
(Request, Response)


   => 스크립트를 넣어 보안처리 되었는지 테스트해봄. <script>alert("test")</script>
   => alert(), prompt(), confirm()으로 페이지에 dialog를 열어 스크립트 실행여부로 검증
   => 크롬에서는 dialog함수를 정책에 의해 차단되기도 해서 print()등도 검증에 사용됨.

 


2) Stored XSS(Persistent XSS)
: 지속적인 XSS를 의미. 공격코드를 담은 내용이 저장되어 혹은 트리거로 요청되어 
지속적으로 피해를 줄 수 있는 XSS를 의미함. (Request save, Request trigger)
=> DB에 저장할때 보안처리되었는지, 대표적으로 "--"을 넣어 테스트해봄

 


3) DOM XSS
: Reflected, Stored XSS와 유사하지만, js함수 등으로 인해 DOM 내부에
조작하여 스크립트 실행이 가능하도록 하는 XSS를 의미함. (Request, Response)

 



2. 제한된 환경에서 불특정 도메인을 대상으로 영향을 줄 수 있는 Univeral XSS(UXSS)
: 서비스와 관계없이 불특정한 사이트에서 발생가능
보통 웹보다는 모바일 앱, 네이티브 앱에서 발생
대표적으로 Mobile App의 WebView자체에서 발생하는 
XSS로 인해 도메인과 관계없이 정보 탈취하는 XSS

 



3. 특수한 케이스로 동작하는 Mutation XSS(mXSS)는 각각 개별적인 타임
: 웹브라우저들의 HTML Parser의 오점을 이용한 XSS로 브라우저의 HTML Parser가
비정상적인 HTML코드를 실행되도록 처리하는 과정에서 
non-script영역에 scripting 처리되도록 하는 XSS을 의미


참고 : http://hahwul.com/cullinan/xss ( 더 상세한 xss데이터 내용 및 예제 있음)

728x90
반응형