- Spring MVC 1
- ソースコードを見てみると
/main
にflag1がある flag{flag1_517d74}
- ソースコードを見てみると
- Spring MVC 2
/main
でPOSTリクエストすると、flag2があるflag{flag2_de3981}
- Spring MVC 3
/main
でmagicWord=please
をPOSTすれば、flag3が出てくるflag{flag3_0d431e}
- Spring MVC 4
/main
で空のJSONをPOSTすれば、flag4が出てくるflag{flag4_695954}
- Spring MVC 5
/main
でOPTIONSリクエストすれば、flag5が出てくるflag{flag5_70102b}
- Spring MVC 6
/main
でMagic-Word: please
をヘッダーにつけてGETリクエストすれば、flag6が出てくるflag{flag6_ca1ddf}
- Spring MVC 7 (Hiding in Plain Sight)
.hello.html
を見ると、<p th:if="${name == 'please'}"> <span class="hidden" th:text="${@flagService.getFlag('hidden_flag')}" /> </p>
- これは
/
をGETしたときに参照されるので、/?name=please
としてソースコードを確認すればflagが出てくる flag{hidden_flag_1dbc4}
- Spring MVC 8 (Sessionable)
.hello.html
を見ると、<p th:if="${#session.getAttribute('realName') == 'admin'}"> <span th:text="${#session.getAttribute('sessionFlag')}" /> </p>
/other?name=[username]
でセッションのrealNameを更新できるので、これでadminに変更してから見に来てみるflag{session_flag_0dac2c}