반응형
SMALL

1. Persist XSS 공격이란?


- 지속 가능형 XSS 공격, Stored XSS 공격이라고도 불림

- 데이터베이스에 기록되어 지속적으로 노출하는 방식의 공격

- 주로 게시판, 방명록, 댓글에서 발생



2. 스노트 규칙을 활용한 Persist XSS 공격 탐지 실습



그림 2-1 local.rules


Security Onion을 실행해 /etc/nsm/rules 폴더로 이동한 후 vim을 활용해 local.rules를 실행한다.


그림 2-2 스노트 규칙 작성


local.rules 파일에 스노트 규칙을 작성한다. 외부 아이피 주소에서 웹 서버 주소로 전달해주며 메시지는 Persistent XSS in POST로 출력되며 script%3e와 관련된 내용과 클라이언트 바디에서 탐지되고, 공격 형태는 web-application-attack이다.


그림 2-3 rule-update


local.rules 파일 저장 후 스노트 규칙을 업데이트한다. Fail이 출력되면 스노트 규칙 적용이 안되기 때문에 OK가 나올때까지 스노트 규칙을 수정 해야 한다.


그림 2-4 rule-set 업데이트


rule-update만 하게 되도 스노트 룰 적용이 안될 수 있기 때문에 rule-set도 같이 업데이트 한다. 모두 OK가 나오면 스노트 규칙이 정상적으로 적용된 것이다.


그림 2-5 sguil 실행


스노트 규칙 적용 후 sguil을 실행한다. sguil을 통해 Persist XSS 공격 취약점이 탐지된다.


그림 2-6 XSS 공격 구문 


bee-box에서 HTML Injection - stored (Blog)를 실행해 <script>alert("XSS!")</script>를 입력하고 실행한다.


그림 2-7 sguil 탐지


Security Onion으로 돌아와 Sguil을 보면 그림 2-6에서 실행했던 XSS 공격이 탐지되었음을 볼 수 있다.


그림 2-8 공격 패턴 탐지


자세한 탐지 기록을 확인해보면 script%3e가 그림 2-2에서 적용한 스노트 규칙에 따라 탐지가 잘 되었음을 볼 수 있다. 그림 2-6에서 보낸 공격 정보를 Sguil에서 탐지한 것이다.



3. XSS 공격의 대표적인 로그 패턴


1. ><script>alert(1);</script>

2. "><script>alert(1);</script>

3. ‘”<script>alert(1);</script>

4. <pre><script>alert(1);</script></pre>

5. <div><script>alert(1);</script></div>

6. </td><script>alert(1);</script><td>

7. </p><script>alert(1);</script><p>

8.</h2><script>alert(1);</script><h2>

9. javascript:alert(1);




반응형
LIST
블로그 이미지

만년필석사

,