SlideShare a Scribd company logo
Spring小話
  @eiryu
自己紹介

● TwitterID:@eiryu

●   エンジニア6年目
●   Spring歴9ヶ月くらい
●   Java
●   PostgreSQL

● もうすぐ引っ越します
Webアプリケーション脆弱性テストにて

● GET http://host/app/error.bak 200 OK
● GET http://host/app/error.old 200 OK
● GET http://host/app/error.OLD 200 OK
実際のコントローラ
@RequestMapping("/error")
public class ErrorController {

      @RequestMapping("")
      public String error() {
      ...
      }
...
}
挙動

● error
● error/
● error.do
● error.php
● error.nande.yanen
(下3つは一例)

デフォルトでは、 error/ や error.* が処理対象とし
て登録されている
対策1 コントローラ修正
@RequestMapping("/error")
public class ErrorController {

      @RequestMapping("/")
      public String error() {
      ...
      }
...
}
対策2 useDefaultSuffixPatternを無効に
<bean class="org.springframework.web.servlet.mvc.annotation.
DefaultAnnotationHandlerMapping">
  <property name="useDefaultSuffixPattern" value="false"/>
</bean>
元ネタ

http://d.hatena.ne.
jp/eiryu9/20130120/1358651987
ご清聴ありがとうございました

More Related Content

KEY
Cakephp api
PDF
Spring AMQP × RabbitMQ
PDF
Springの今
PDF
Javaでのバリデーション 〜Bean Validation篇〜
PDF
Introducing thymeleaf
PDF
Ninja framework使ってみた
PDF
JMeter小話
PDF
Thymeleafのすすめ
Cakephp api
Spring AMQP × RabbitMQ
Springの今
Javaでのバリデーション 〜Bean Validation篇〜
Introducing thymeleaf
Ninja framework使ってみた
JMeter小話
Thymeleafのすすめ
Ad

Spring小話