'webworkstruts2공격대응'에 해당되는 글 1건

  1. 2008.11.07 SQL Injection 공격에 따른 웹 어플 대응 (java)

apache-java(webwork, 또는 struts2)를 사용하고 있는데.

 

SQL Injection 공격이 들어왔는데, 약간 잘못되게 들어와서 귀찮게 하는 경우의 방어를 이렇게 하였다.

 

1. 아파치 막음

  - 패턴을 찾아 막는다.

  - ip, referer, form 패턴을 찾아서 막는다.

 

2. 어플단 막음

  - 1. Action단에서 막음 (webwork)

    2. 전체 Action(global)을 막음 (webwork)

    3. 자바 소스안에서 막는다.

 

 

이중 webwork단에서 막는 법을 잠깐 소개한다. 사실 나는 원천적적으로 봉쇄하는 아파치 막음을 더욱 더 선호한다.

1. 한 Action 에서 발생하는 처리

<action name="simple" class="com.google.gmail.SimipleAction">
  <exception-mapping exception="java.lang.NoSuchMethodException" result="redirect"/>

  <exception-mapping exception="SQLException" result="redirect"/>
  <result name="redirect" type="redirect">redirect.jsp</result>
</action>

 

2. webwork 설정 파일에서 특정 Exception 발생시 처리

 

 <global-results> 
  <result name="redirect" type="redirect">redirect.jsp</result>
 </global-results> 

 <global-exception-mappings> 
  <exception-mapping exception="java.lang.NoSuchMethodException" result="redirect"/>

  <exception-mapping exception="SQLException" result="redirect"/>
</global-exception-mappings>

 

 

Posted by 김용환 '김용환'