[ XSS에 대하여 ] DOM Based XSS XSS에 사용되는 악성 스크립트가 URL Fragment에 삽입되는 XSS [ Low ] DOM Based XSS 탭에 들어오면 언어를 선택할 수 있도록 되어있다.이 중 English 를 선택해보았다. English를 선택하고 Select 버튼을 누르니 URL 파라미터에 선택한 언어가 담겨있는 모습을 확인할 수 있다. 선택한 언어가 URL에 담겨 페이지를 구성하도록 하는 코드를 개발자 모드로 확인할 수 있었다. 이를 바탕으로 클라이언트의 브라우저에서 실행 가능한 스크립트인 쿠키를 출력하는 코드를 default=뒤에 작성하여 전송한 결과 쿠키 정보가 정상적으로 출력되는 모습을 확인할 수 있다. 하지만 이는 URL Parameter에 스크립트를 작성하여 전송하..
[ XSS에 대하여 ] Reflected XSS XSS에 사용되는 악성 스크립트가 URL에 삽입되고 서버의 응답에 담겨오는 XSS [ Low ] Reflected XSS 탭에 들어오면 이름을 묻고 입력할 수 있는 칸이 있다. 일단 닉네임인 "hantul"을 입력하고 Submit 버튼을 눌러보았다. 입력칸 아래에 "Hello hantul"이 출력되는 것을 확인할 수 있다. 정상적으로 출력되는 것을 확인하였으니 아래에 View Source 버튼을 눌러 소스코드를 확인해 보았다. name 칸에 이름이 입력되었을 경우 아무런 필터링 없이 그대로 출력해주는 것을 확인할 수 있다. 필터링이 되지 않는다는 것을 확인하였기 때문에 name 입력칸에 스크립트를 작성 후 Submit 버튼을 눌러보았다. 스크립트가 정상적으..
[ XSS에 대하여 ] Stored XSS XSS에 사용되는 악성 스크립트가 서버에 저장되고 서버의 응답에 담겨오는 XSS [ Low ] Stored XSS 탭에 들어오면 방명록을 작성할 수 있는 탭을 확인할 수 있다. 테스트로 방명록을 남겨보았다. Name과 Message 모두 입력한 test가 입력되었다. Message 입력 칸에 클라이언트에서 실행될 수 있는 스크립트를 입력하였다. (쿠키 정보를 출력하는 스크립트) 작성한 스크립트가 실행되어 현재 웹 브라우저에 저장된 쿠키가 출력되는 모습을 볼 수 있다. 현재 쿠키에는 PHP 세션 ID와 DVWA의 보안 레벨의 값이 저장되어 있었다. 다만, PHP 세션 ID는 출력이 되지 않았고, 보안 레벨의 값은 출력이 되었다. 다른 분들의 실습 사진을 보면 세션..
XSS ( Cross Site Scripting ) XSS ( Cross Site Scripting ) 란? XSS는 클라이언트 사이드의 취약점 중 하나로, 공격자가 웹 리소스에 악성 스크립트를 삽입하여 이용자의 웹브라우저에서 해당 스크립트를 실행할 수 있는 방법을 말한다. 이를 이용하여 공격자는 특정 계정의 세션 정보를 탈취하고, 해당 계정을 이용하여 임의의 기능을 수행할 수 있다. 대부분 자바스크립트를 이용한 공격이 이루어지며, SQL Injection 과 함께 웹 취약점 중 가장 기초적인 취약점으로 알려져 있어 방지하는 기술도 있지만, 이를 우회하는 기술이 다양해지면서 사실상 완전한 방어가 힘든 취약점이다. XSS의 종류 종류 설명 Stored XSS XSS에 사용되는 악성 스크립트가 서버에 저장되..