정보보안공부
웹보안_16. XSS 공격 기법 본문
#XSS ( Cross Site Scripting )
클라이언트에 대한 취약점을 이용해 javascript와 HTML 언어를 사용한 불특정 다수에게 공격하는 기법이다. 공격자가 악의적인 코드를 사용해 사용자의 웹 브라우저에 심어놓으면 해당 사용자가 접속할 때 악성코드가 실행된다.
<특징>
-> 교차해서 스크립트를 실행한다.
-> 공격이 단순하면서도 강력하다.
-> OWASP TOP 10에서 한번도 빠진 적이 없는 공격기법이다.
-> javascript 공격중 하나이다.
1) stored XSS
-> 공격자는 게시글, 쪽지, 댓글등등 여러곳에 자바스크립트 코드를 입력하여 작성해 놓는다. 공격을 당하는 사람은 해당 웹 페이지를 열때, 자바스크립트 코드가 실행되어 공격을 당하게 된다.
## 게시글 작성시
-> 게시글을 작성할 때 위와같이 게시글 내용에 <script> </script>태그를 사용해 XSS공격을 할 수 있다. 해당글을 다른사람이 확인할 때 <script> </script>안의 코드는 실행이된다.
-> 게시글을 확인하려고 해당 글을 누르면 게시글을 확인하는 사람의 웹페이지에 <script> </script>안의 코드가 실행되는 것을 확인할 수 있다.
## 쪽지글 작성시
-> 마찬가지로 쪽지에서도 자바스크립트 공격이 이루어질 수 있다.
-> 쪽지를 확인하는 순간 자바스크립트 공격에 당하게된다.
## 댓글 작성시
-> 관리자의 권한으로 다른사람글에 댓글을 작성할 때 위와같이 입력하는 것도 자바스크립트 공격이 된다.
-> 댓글 달은 글을 보기위해 게시판을 누르면 어떤 사람이 누르던지 해당코드는 무조건 실행된다.
2) Reflected XSS
-> 실행시킨 웹 페이지에서 자바스크립트 코드가 발생한다.
-> GET방식 안에 코드를 입력한다.
-> shorten url ( 짧은 url ) 을 이용해서 get방식에 있는 script 부분을 숨길 수 있다.
-> GET방식 안에 <script>코드 작성시 웹페이지에서 자동으로 XSS공격을 방지하기 때문에 테스트하기위해 설정을 변경해놓는다.
-> 위와같이 설정을 변경하면 GET방식안에 <script>를 작성하면 공격이 이루어진다.
-> short url을 이용해 사용자가 해당코드를 보이지 않게 감출 수 있다. url은 감췄지만 웹브라우저에 XSS설정이 되어있다면 url을 감춰도 막아준다.
3) XSS 방어 코드
-> write_ok.php중 php코드안에 XSS공격을 막을 수 있는 코드를 추가한다.
-> XSS공격이 막아진 것을 확인할 수 있다. 하지만 XSS공격은 여러가지 우회기법이 존재한다. 예를 들어 script의 s를 대문자S로 하게되면 쉽게 공격에 당하게된다.
4) XSS공격 우회기법
-> 대문자S를 사용하게되어 XSS공격이 허용된 것을 확인할 수 있다.
5) 보안기법
-> 보안기법으로는 방화벽, IDS, IPS, UTM, 백신, .. 등등 여러가지가 있다.
-> 가장기본적인 보안패치 ( 업데이트 )가 중요하다는 것을 인지해야한다.
-> 또한 익스플로어, 크롬에서와 같이 제 3자가 보안을 해주는 서드파티보안이 있다.
'정보보안 > 웹보안' 카테고리의 다른 글
웹보안_18. php코드를 이용한 공격기법 (0) | 2018.03.15 |
---|---|
웹보안_17. CSRF 공격 기법 (0) | 2018.03.15 |
웹보안_12. 해시와 암호화의 차이 (0) | 2018.02.26 |
웹보안_11. MYSQL과 PHP연동하기 (0) | 2018.02.24 |
웹보안_10. MYSQL/쿼리 (0) | 2018.02.24 |