Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

의미없는 블로그

Apache, Tomcat 에서 OPTIONS 메소드 차단 본문

# 나/pentest (WEB)

Apache, Tomcat 에서 OPTIONS 메소드 차단

SaltLee 2020. 5. 12. 16:58

OPTIONS 날리면 응답헤더에 Allow 메소드 뜨는거

예전엔 안잡았었는데 여긴 잡는다

 

Apache 2.0.54 이고 응답헤더에 메소드들 나온다

 

httpd.conf 에서 설정을 해주면 되는데 

<Directory> 에다가 하는 방법이 있고

<Location> 에다가 하는 방법이 있다

 

아래는 <Location> 에 설정한 것 

둘중 아무거나 설정하면 된다

<Location />  //루트로만 지정해줘도 하위까지 다 차단된다
 <LimitExcept GET POST>
  Order deny,allow
  Deny from all
 </LimitExcept>
</Location>

 

<Location />
 <Limit PUT DELETE OPTIONS>
  Order deny,allow
  Deny from all
 </Limit>
</Location>

 

서버 재부팅 후 (service httpd restart)

OPTIONS 날리면 이제 안나옴

 

<Directory> 에다가 설정할땐 유의할 점이

모든 <Directory> 에 다 설정해줘야 한다

<Directory />
 <LimitExcept GET POST>
  Order deny,allow
  Deny from all
 </LimitExcept>
</Directory>

 

<Directory />
 <Limit PUT DELETE OPTIONS>
  Order deny,allow
  Deny from all
 </Limit>
</Directory>

 

아 그리고 보통 TRACE 는

httpd.conf 에 TraceEnable Off 한줄 써주면 된다고 아는데

그게 아파치 버전 2.0.55 이상부터 가능한 방법이라고 한다

얘는 2.0.54 라서 그 방법으로는 TRACE 안없어짐

뭔 소린진 모르겠지만 이거 참고 https://neouser.tistory.com/238

 

 

Tomcat 은 8.0.54 이고

보니깐 메소드 설정이 기본으로 주석처리 되어있다

주석처리 되어있을때에도 OPTIONS 는 안나오긴 하는데

응답 반응이 달라서 캡쳐해 보았다

 

web.xml

 

기본 주석처리 되어있을 때

주석 해제했을 때 (주석 해제도 어쨌든 OPTIONS 는 차단한다는 뜻이라 안나옴)

 

#Case 1

web.xml 에 메소드 차단 설정되어있는 상태에서

TRACE 날렸을 때 응답헤더에 Allow 뜨는경우가 있었나보다 (첨보는데..)

serverl.xml 에서 allowTrace="false" 로 설정해주면 안뜬다고 하는데

이거 참고 https://hulbo.tistory.com/36


#Case 2

스프링 쓸 때도 OPTIONS 날리면 Allow 계속 뜨나보다

web.xml 에

<init-param>

<param-name>dispatchOptionsRequest</param-name>

<param-value>true</param-value>

</init-param>

써주면 된다는데 

중요도도 낮으면서 뭐이리 복잡하뇨

이래서 안잡았던거 같은데..

https://blog.naver.com/duco777/220765466402

https://psage.tistory.com/entry/HTTP-Method-%EC%A0%9C%ED%95%9C

 

 

얘는 우분투에 Tomcat9 설치한거고

이건 또 OPTIONS 가 먹히네? 뭐냐

web.xml 에 차단 설정을 해본다

서버 재부팅 후 OPTIONS 날려보면 이제 안뜸

근데 웃긴건 TRACE 날리면 또 나온다 (#Case 1)

server.xml 에 allowTrace="true" 설정해준다

TRACE 날려도 이제 안뜸

Comments