Xss공격(Stored)

웹해킹/Bee-box 2017. 12. 29. 18:45
반응형
SMALL

이번에는 XSS Stored공격에 대해 포스팅해보려고 한다. XSS공격이 주로 자바스크립트를 이용해 악의적인 코드로 변조해서 공격하는 방법이다. 특히 Stored공격은 게시판에 댓글, 게시글, 쪽지 등에 악성코드를 삽입해서 공격하는 기법이다. 


1. XSS Stored 공격이란?


- 게시판과 같은 곳에 댓글, 게시글, 쪽지 등에 악성코드를 주입해서 공격하는 기법이다. 주로 자바스크립트를 활용한 공격이다.

- 자바스크립트를 활용해서 많은 공격이 이루어지고 있으며 보안레벨이 높아진다해도 html공격은 쉽게 막을 수가 없는 것이 특징이다.

- 공격자가 자바스크립트를 활용해 XSS공격을 하면 사용자도 모르게 그것을 클릭하게 되는데 세션, 쿠키정보를 뺄 수 있기 때문에 사용자 정보 등을 해킹이 가능하기 때문에 매우 위험한 공격이라고 볼 수 있다.



* XSS Stored 공격 실습



(1) XSS - Stored (Blog)



게시판을 이용한 공격이라고 설명했지만 SQL 인젝션에서 했었던 공격하고는 큰 차이는 없다. 화면에 보이는 것처럼 입력해주면 경고창에 1이라고 뜨면서 게시판에는 쿠키 정보들이 전부 기록되어 있는 것을 볼 수 있다. 이건 보안레벨이 가장 낮았을 때의 이야기지만 저런식으로 바로 쿠키가 노출되는 사이트는 사실상 보안을 전혀 안해놨다고 봐도 무방할정도로 위험하다.



가장 기본적인 XSS 공격방법이다. alert(1)을 줘서 저런식으로 1이라는 경고창이 뜨게 되는 것이다. 


<대응방안>


보안레벨이 높을때는 xss_check_3를 사용해서 공격을 무력화 시켜서 그대로 소스코드를 반환하는 방식으로 하고 있지만 보안레벨이 낮을때는 entry로 그냥 반환해 쿠키값이 전부 노출되게 되어 있다. 보통 보안레벨이 높은 코드는 html을 활용한 공격도 무력화 시킬 수 있다. htmlspecialchar함수가 html을 활용한 공격을 무력화 시킬 수 있는 가장 안전한 코드이다.




보안레벨이 High일때 아까 쿠키값을 얻으려고 입력했었던 코드가 그대로 노출되서 쿠기값 확인이 불가능하다는 것을 볼 수 있다.




(2) XSS - Stored (User-Agent) 공격





User-Agent Switcher을 구글에서 검색해 다운받고 사진과 같이 입력해주고 ok버튼을 누른다. User-Agent공격방식도 해커들 사이에서 꽤 사용되고 있는 방법이기 때문에 알아두면 좋다.




프록시를 잡아서 입력한 값이 맞는지 userAgent를 확인해주고  Forward를 눌러주고 프록시를 off해준다. 



그렇게 되면 사진과 같이 쿠키정보를 탈취할 수 있다. 하지만 보안레벨이 High로 되었을 시에는 쿠키정보가 나오지않고 입력한 코드가 그대로 출력됨을 볼 수 있을 것이다. 이 또한 대응방안은 위에서 작성한 것과 동일하다. 



Xss-Stored 공격에 대해 살펴봤는데 여러가지 수법으로 공격할 수 있는 방법이기 때문에 항상 유의해야 하며 Xss 공격자체가 OWSAP10에서 3위를 차지할 정도로 매우 강력한 공격이기 때문에 보안레벨이 높은 함수들을 써서 방어하는 것이 최선이다. 본인도 XSS공격에 대해 좀 더 많이 살펴보고 사례들은 어떤것들이 있는지에 대해서도 꾸준히 공부해 볼 생각이다.


반응형
LIST

'웹해킹 > Bee-box' 카테고리의 다른 글

중요정보 변경 및 초기화, 상품가격조작  (0) 2017.12.30
Xss공격(Reflected)  (0) 2017.12.29
세션결함  (0) 2017.12.29
인증결함  (0) 2017.12.29
XML/XPath 인젝션  (0) 2017.12.28
블로그 이미지

만년필석사

,